UIQ3 update, some makefile unification, rm old configs, stuff
[picodrive.git] / platform / gizmondo / Makefile
1 \r
2 # you may or may not need to change this\r
3 export CROSS = arm-wince-cegcc-\r
4 \r
5 # settings\r
6 asm_memory = 1\r
7 asm_render = 1\r
8 asm_ym2612 = 1\r
9 asm_misc = 1\r
10 asm_cdpico = 1\r
11 asm_cdmemory = 1\r
12 amalgamate = 0\r
13 #profile = 1\r
14 \r
15 \r
16 \r
17 DEFINC = -I../.. -I. -D__GIZ__ -DNO_SYNC\r
18 COPT_COMMON = -Wall -Winline\r
19 ifeq ($(DEBUG),)\r
20 COPT_COMMON += -O2 -ftracer -fomit-frame-pointer -fstrict-aliasing -ffast-math\r
21 else\r
22 COPT_COMMON += -ggdb\r
23 endif\r
24 ifeq "$(profile)" "1"\r
25 COPT_COMMON += -fprofile-generate\r
26 endif\r
27 ifeq "$(profile)" "2"\r
28 COPT_COMMON += -fprofile-use\r
29 endif\r
30 CFLAGS = $(COPT_COMMON) -mcpu=arm920t -mtune=arm920t\r
31 SFLAGS = $(CFLAGS)\r
32 ASFLAGS = -mcpu=arm920t -mfloat-abi=soft\r
33 CC = $(CROSS)gcc\r
34 STRIP = $(CROSS)strip\r
35 AS = $(CROSS)as\r
36 LD = $(CROSS)ld\r
37 \r
38 # frontend\r
39 OBJS += main.o emu.o menu.o giz.o asm_utils.o\r
40 \r
41 # common\r
42 OBJS += platform/common/emu.o platform/common/menu.o platform/common/fonts.o platform/common/config.o \\r
43         platform/common/arm_utils.o platform/common/readpng.o platform/common/mp3_helix.o\r
44 \r
45 # Pico\r
46 ifeq "$(amalgamate)" "1"\r
47 OBJS += PicoAll.o\r
48 else\r
49 OBJS += Pico/Area.o Pico/Cart.o Pico/Memory.o Pico/Misc.o Pico/Pico.o Pico/Sek.o \\r
50                 Pico/VideoPort.o Pico/Draw2.o Pico/Draw.o Pico/Patch.o Pico/Debug.o\r
51 # Pico - CD\r
52 OBJS += Pico/cd/Pico.o Pico/cd/Memory.o Pico/cd/Sek.o Pico/cd/LC89510.o \\r
53                 Pico/cd/cd_sys.o Pico/cd/cd_file.o Pico/cd/gfx_cd.o Pico/cd/cue.o \\r
54                 Pico/cd/Area.o Pico/cd/Misc.o Pico/cd/pcm.o Pico/cd/buffering.o\r
55 endif\r
56 # Pico - Pico\r
57 OBJS += Pico/Pico/Pico.o Pico/Pico/Memory.o Pico/Pico/xpcm.o\r
58 # Pico - carthw\r
59 OBJS += Pico/carthw/carthw.o Pico/carthw/svp/svp.o Pico/carthw/svp/Memory.o \\r
60                 Pico/carthw/svp/ssp16.o Pico/carthw/svp/compiler.o Pico/carthw/svp/stub_arm.o\r
61 \r
62 # asm stuff\r
63 ifeq "$(asm_render)" "1"\r
64 DEFINC += -D_ASM_DRAW_C\r
65 OBJS += Pico/draw_asm.o Pico/draw2_asm.o\r
66 endif\r
67 ifeq "$(asm_memory)" "1"\r
68 DEFINC += -D_ASM_MEMORY_C\r
69 OBJS += Pico/memory_asm.o\r
70 endif\r
71 ifeq "$(asm_ym2612)" "1"\r
72 DEFINC += -D_ASM_YM2612_C\r
73 OBJS += Pico/sound/ym2612_asm.o\r
74 endif\r
75 ifeq "$(asm_misc)" "1"\r
76 DEFINC += -D_ASM_MISC_C\r
77 OBJS += Pico/misc_asm.o\r
78 OBJS += Pico/cd/misc_asm.o\r
79 endif\r
80 ifeq "$(asm_cdpico)" "1"\r
81 DEFINC += -D_ASM_CD_PICO_C\r
82 OBJS += Pico/cd/pico_asm.o\r
83 endif\r
84 ifeq "$(asm_cdmemory)" "1"\r
85 DEFINC += -D_ASM_CD_MEMORY_C\r
86 OBJS += Pico/cd/memory_asm.o\r
87 endif\r
88 \r
89 # Pico - sound\r
90 ifneq "$(amalgamate)" "1"\r
91 OBJS += Pico/sound/sound.o\r
92 endif\r
93 OBJS += Pico/sound/mix_asm.o\r
94 OBJS += Pico/sound/sn76496.o Pico/sound/ym2612.o\r
95 # zlib\r
96 OBJS += zlib/gzio.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o \\r
97         zlib/deflate.o zlib/crc32.o zlib/adler32.o zlib/zutil.o zlib/compress.o\r
98 # unzip\r
99 OBJS += unzip/unzip.o unzip/unzip_stream.o\r
100 # CPU cores\r
101 # Cyclone\r
102 DEFINC += -DEMU_C68K\r
103 OBJS += cpu/Cyclone/proj/Cyclone.o cpu/Cyclone/tools/idle.o\r
104 # drz80\r
105 DEFINC += -D_USE_DRZ80\r
106 OBJS += cpu/DrZ80/drz80.o\r
107 \r
108 vpath %.c = ../..\r
109 vpath %.s = ../..\r
110 vpath %.S = ../..\r
111 DIRS = platform platform/common Pico Pico/cd Pico/Pico Pico/sound Pico/carthw/svp \\r
112         zlib unzip cpu cpu/musashi cpu/Cyclone/proj cpu/Cyclone/tools cpu/mz80 cpu/DrZ80\r
113 \r
114 \r
115 all: mkdirs PicoDrive.exe readme.txt\r
116 \r
117 PicoDrive.exe : $(OBJS) ../common/helix/$(CROSS)helix-mp3.a\r
118         @echo ">>>" $@\r
119         $(CC) -o $@ -static $(CFLAGS) $^ -lm -lpng -Lkgsdk/ -lKGSDK -Wl,-Map=PicoDrive.map \\r
120                 2>&1 | grep -v ".idata$$4" # | grep -v "supports interworking, whereas"\r
121 ifeq ($(DEBUG),)\r
122         $(STRIP) $@\r
123 endif\r
124 ifeq "$(profile)" "1"\r
125         ../../tools/gcda $@\r
126 endif\r
127 \r
128 \r
129 readme.txt: ../../tools/textfilter ../base_readme.txt\r
130         ../../tools/textfilter ../base_readme.txt $@ GIZ\r
131 \r
132 include ../common/common_arm.mak\r
133 \r
134 \r
135 # cleanup\r
136 clean: tidy\r
137         @$(RM) PicoDrive.exe\r
138 tidy:\r
139         @$(RM) $(OBJS)\r
140 \r
141 \r
142 up: PicoDrive.exe\r
143         synce-pcp -d 3 PicoDrive.exe ":/SD Card/emus/PicoDrive/PicoDrive.exe"\r
144 \r
145 run: up\r
146         synce-prun "/SD Card/emus/PicoDrive/PicoDrive.exe"\r
147 \r
148 run_only:\r
149         synce-prun "/SD Card/emus/PicoDrive/PicoDrive.exe"\r
150 \r
151 # ----------- release -----------\r
152 ifneq ($(findstring rel,$(MAKECMDGOALS)),)\r
153 ifeq ($(VER),)\r
154 $(error need VER)\r
155 endif\r
156 endif\r
157 \r
158 rel: PicoDrive.exe kgsdk/ARMV4IRel/KGSDK.dll ../game_def.cfg readme.txt\r
159         zip -9 -j ../../PicoDrive_giz_$(VER).zip $^\r
160         ln -s ../gp2x/skin skin\r
161         zip -9 -r ../../PicoDrive_giz_$(VER).zip skin -i \*.png -i \*.txt\r
162         rm skin\r
163 \r