Makefile 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. # makefile for uiq3_patcher_0_2.tar.gz
  2. export CROSS = arm-none-symbianelf-
  3. APPNAME = PicoDrive
  4. VER_MAJ = 1
  5. VER_MIN = 51
  6. VENDOR = notaz
  7. UID3 = A00010F3
  8. EPOCROOT = /opt/uiq3/
  9. EPOCLIBS = qikdlg.lib etext.lib bafl.lib efsrv.lib eikctl.lib ws32.lib \
  10. eikdlg.lib gdi.lib estor.lib hal.lib mediaclient.lib mediaclientaudiostream.lib
  11. STACK = 0x3000
  12. HEAP = 0x10,0x1000000
  13. # settings
  14. asm_memory = 1
  15. asm_render = 1
  16. asm_ym2612 = 1
  17. asm_misc = 1
  18. asm_cdpico = 1
  19. asm_cdmemory = 1
  20. asm_blit = 1
  21. use_cyclone = 1
  22. #use_musashi = 1
  23. # objects
  24. # launcher
  25. OBJ += App.o Engine.o Dialogs.o CSimpleTextParser.o emu.o
  26. # engine
  27. OBJ += engine/main.o engine/vid.o engine/polledas.o engine/audio_mediaserver.o engine/debug.o
  28. ifeq "$(asm_blit)" "1"
  29. OBJ += engine/blit_asm.o
  30. else
  31. OBJ += engine/blit.o
  32. endif
  33. # common
  34. OBJ += ../common/emu.o ../common/config.o ../common/menu.o ../common/mp3_helix.o
  35. # Pico
  36. OBJ += Pico/Area.o Pico/Cart.o Pico/Memory.o Pico/Misc.o Pico/Pico.o Pico/Sek.o \
  37. Pico/VideoPort.o Pico/Draw2.o Pico/Draw.o Pico/Patch.o Pico/Debug.o
  38. # Pico - CD
  39. OBJ += Pico/cd/Pico.o Pico/cd/Memory.o Pico/cd/Sek.o Pico/cd/LC89510.o \
  40. Pico/cd/cd_sys.o Pico/cd/cd_file.o Pico/cd/cue.o Pico/cd/gfx_cd.o \
  41. Pico/cd/Area.o Pico/cd/Misc.o Pico/cd/pcm.o Pico/cd/buffering.o
  42. # Pico - Pico
  43. OBJ += Pico/Pico/Pico.o Pico/Pico/Memory.o Pico/Pico/xpcm.o
  44. # Pico - carthw
  45. OBJ += Pico/carthw/carthw.o Pico/carthw/svp/svp.o Pico/carthw/svp/Memory.o \
  46. Pico/carthw/svp/ssp16.o Pico/carthw/svp/compiler.o Pico/carthw/svp/stub_arm.o
  47. # asm stuff
  48. ifeq "$(asm_render)" "1"
  49. CFLAGS += -D_ASM_DRAW_C
  50. OBJ += Pico/draw_asm.o Pico/draw2_asm.o
  51. endif
  52. ifeq "$(asm_memory)" "1"
  53. CFLAGS += -D_ASM_MEMORY_C
  54. OBJ += Pico/memory_asm.o
  55. endif
  56. ifeq "$(asm_ym2612)" "1"
  57. CFLAGS += -D_ASM_YM2612_C
  58. OBJ += Pico/sound/ym2612_asm.o
  59. endif
  60. ifeq "$(asm_misc)" "1"
  61. CFLAGS += -D_ASM_MISC_C
  62. OBJ += Pico/misc_asm.o
  63. OBJ += Pico/cd/misc_asm.o
  64. endif
  65. ifeq "$(asm_cdpico)" "1"
  66. CFLAGS += -D_ASM_CD_PICO_C
  67. OBJ += Pico/cd/pico_asm.o
  68. endif
  69. ifeq "$(asm_cdmemory)" "1"
  70. CFLAGS += -D_ASM_CD_MEMORY_C
  71. OBJ += Pico/cd/memory_asm.o
  72. endif
  73. # Pico - sound
  74. OBJ += Pico/sound/sound.o
  75. OBJ += Pico/sound/mix_asm.o
  76. OBJ += Pico/sound/sn76496.o Pico/sound/ym2612.o
  77. # zlib
  78. OBJ += zlib/gzio.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o \
  79. zlib/deflate.o zlib/crc32.o zlib/adler32.o zlib/zutil.o zlib/compress.o
  80. # unzip
  81. OBJ += unzip/unzip.o unzip/unzip_stream.o
  82. # CPU cores
  83. ifeq "$(use_musashi)" "1"
  84. CFLAGS += -DEMU_M68K
  85. OBJ += cpu/musashi/m68kops.o cpu/musashi/m68kcpu.o
  86. endif
  87. ifeq "$(use_cyclone)" "1"
  88. CFLAGS += -DEMU_C68K
  89. OBJ += cpu/Cyclone/proj/Cyclone.o cpu/Cyclone/tools/idle.o
  90. endif
  91. # drz80
  92. CFLAGS += -D_USE_DRZ80
  93. OBJ += cpu/DrZ80/drz80.o
  94. # helix
  95. OBJ += ../common/helix/$(CROSS)helix-mp3.a
  96. vpath %.c = ../..
  97. vpath %.s = ../..
  98. vpath %.S = ../..
  99. DIRS = platform platform/common Pico Pico/cd Pico/Pico Pico/sound Pico/carthw/svp \
  100. zlib unzip cpu cpu/musashi cpu/Cyclone/proj cpu/Cyclone/tools cpu/mz80 cpu/DrZ80
  101. ICONS := $(shell echo rsc/*.bmp)
  102. APPICON = $(NAME).mbm
  103. RSCDIR = rsc
  104. REGDIR = rsc
  105. CFLAGS += -I./ -I../../
  106. CFLAGS += -DUIQ3 -DARM -DNO_SYNC
  107. CFLAGS += -D__DEBUG_PRINT
  108. CFLAGS += -mcpu=arm926ej-s -mtune=arm926ej-s -O3 -ftracer \
  109. -fstrength-reduce -fomit-frame-pointer -fstrict-aliasing -ffast-math
  110. SFLAGS = -march=armv5t -msoft-float -nostdinc
  111. ASFLAGS = -mcpu=arm926ej-s -mfloat-abi=soft
  112. export CFLAGS
  113. SRCRES := $(shell echo rsc/*.rss)
  114. EPOCRCFLAGS += -I./
  115. all: mkdirs sis
  116. include uiq3.mak
  117. include ../common/common_arm.mak
  118. $(NAME).mbg $(NAME).mbm : $(ICONS)
  119. @echo "Creating multibitmap file..."
  120. $(BMCONV) /h$(NAME).mbg $(NAME).mbm \
  121. /c24rsc/pico18x18.bmp /8rsc/pico18x18m.bmp \
  122. /c24rsc/pico40x40.bmp /8rsc/pico40x40m.bmp \
  123. /c24rsc/pico64x64.bmp /8rsc/pico64x64m.bmp
  124. engine/blit_asm.o : engine/blit.s
  125. @echo ">>>" $@
  126. $(AS) $(ASFLAGS) $< -o $@
  127. # App.o can't be optimized
  128. #App.o : App.cpp
  129. # $(CC) $(CXXFLAGS) -O0 -c $< -o $@