fast dma
[picodrive.git] / platform / gp2x / Makefile
index 11e6749..899f05f 100644 (file)
@@ -11,6 +11,7 @@ dprint = 1
 asm_memory = 0 # TODO\r
 asm_render = 1\r
 asm_ym2612 = 1\r
+asm_misc = 1\r
 #profile = 1\r
 #use_musashi = 1\r
 #up = 1\r
@@ -34,13 +35,14 @@ OBJCOPY = $(CROSS)objcopy
 # frontend\r
 OBJS += main.o menu.o gp2x.o usbjoy.o emu.o squidgehack.o asmutils.o cpuctrl.o\r
 # 940 core control\r
-OBJS += 940ctl_ym2612.o\r
+OBJS += 940ctl.o\r
 # Pico\r
 OBJS += ../../Pico/Area.o ../../Pico/Cart.o ../../Pico/Utils.o ../../Pico/Memory.o ../../Pico/Misc.o \\r
                ../../Pico/Pico.o ../../Pico/Sek.o ../../Pico/VideoPort.o ../../Pico/Draw2.o ../../Pico/Draw.o\r
 # Pico - CD\r
 OBJS += ../../Pico/cd/Pico.o ../../Pico/cd/Memory.o ../../Pico/cd/Sek.o ../../Pico/cd/LC89510.o \\r
-               ../../Pico/cd/cd_sys.o ../../Pico/cd/cd_file.o ../../Pico/cd/gfx_cd.o\r
+               ../../Pico/cd/cd_sys.o ../../Pico/cd/cd_file.o ../../Pico/cd/gfx_cd.o \\r
+               ../../Pico/cd/Area.o ../../Pico/cd/Misc.o ../../Pico/cd/pcm.o\r
 # asm stuff\r
 ifeq "$(asm_render)" "1"\r
 DEFINC += -D_ASM_DRAW_C\r
@@ -54,13 +56,20 @@ ifeq "$(asm_ym2612)" "1"
 DEFINC += -D_ASM_YM2612_C\r
 OBJS += ../../Pico/sound/ym2612_asm.o\r
 endif\r
+ifeq "$(asm_misc)" "1"\r
+DEFINC += -D_ASM_MISC_C\r
+OBJS += ../../Pico/misc_asm.o\r
+endif\r
 # Pico - sound\r
+OBJS += ../../Pico/sound/mix_asm.o\r
 OBJS += ../../Pico/sound/sound.o ../../Pico/sound/sn76496.o ../../Pico/sound/ym2612.o\r
 # zlib\r
 OBJS += ../../zlib/gzio.o ../../zlib/inffast.o ../../zlib/inflate.o ../../zlib/inftrees.o ../../zlib/trees.o \\r
        ../../zlib/deflate.o ../../zlib/crc32.o ../../zlib/adler32.o ../../zlib/zutil.o ../../zlib/compress.o\r
 # unzip\r
 OBJS += ../../unzip/unzip.o\r
+# mp3\r
+OBJS += mp3.o\r
 # CPU cores\r
 ifeq "$(use_musashi)" "1"\r
 DEFINC += -DEMU_M68K\r
@@ -78,19 +87,20 @@ DEFINC += -D_USE_DRZ80
 OBJS += ../../cpu/DrZ80/drz80.o\r
 endif\r
 \r
+\r
 all: PicoDrive.gpe\r
 \r
-PicoDrive.gpe : $(OBJS)\r
+PicoDrive.gpe : $(OBJS) helix/helix_mp3.a\r
        @echo $@\r
-       @$(GCC) $(COPT) $(OBJS) $(PRELIBS) -lm -o $@\r
+       @$(GCC) -o $@ $(COPT) $^ -lm\r
        @$(STRIP) $@\r
-#      @$(GCC) $(COPT) $(OBJS) $(PRELIBS) -lm -o PicoDrive_.gpe\r
+#      @$(GCC) $(COPT) $(OBJS) -lm -o PicoDrive_.gpe\r
 #      @gpecomp PicoDrive_.gpe $@\r
 ifeq "$(up)" "1"\r
        @cmd //C copy $@ \\\\10.0.1.2\\gp2x\\mnt\\sd\\games\\PicoDrive\\\r
 endif\r
 \r
-up:\r
+up: PicoDrive.gpe\r
        @cp -v PicoDrive.gpe /mnt/gp2x/mnt/sd/games/PicoDrive/\r
 \r
 #      @cmd //C copy PicoDrive.gpe \\\\10.0.1.2\\gp2x\\mnt\\sd\\games\\PicoDrive\\\r
@@ -98,7 +108,7 @@ up:
 \r
 testrefr.gpe : test.o gp2x.o asmutils.o\r
        @echo $@\r
-       @$(GCC) $(COPT) $^ $(PRELIBS) -o $@\r
+       @$(GCC) $(COPT) $^ -o $@\r
        @$(STRIP) $@\r
 \r
 .c.o:\r
@@ -120,12 +130,22 @@ testrefr.gpe : test.o gp2x.o asmutils.o
 ../../Pico/sound/ym2612_asm.o : ../../Pico/sound/ym2612.s\r
        @echo $<\r
        @$(AS) $(ASOPT) $< -o $@\r
+../../Pico/sound/mix_asm.o : ../../Pico/sound/mix.s\r
+       @echo $<\r
+       @$(AS) $(ASOPT) $< -o $@\r
+../../Pico/misc_asm.o : ../../Pico/misc.s\r
+       @echo $<\r
+       @$(AS) $(ASOPT) $< -o $@\r
 \r
 # build Cyclone\r
 ../../cpu/Cyclone/proj/Cyclone.s :\r
        @echo building Cyclone...\r
        @make -C ../../cpu/Cyclone/proj -f Makefile.linux\r
 \r
+# build helix libs\r
+helix/helix_mp3.a:\r
+       make -C helix\r
+\r
 \r
 # cleanup\r
 clean: tidy\r
@@ -139,6 +159,20 @@ clean_prof:
        find ../.. -name '*.gcno' -delete\r
        find ../.. -name '*.gcda' -delete\r
 \r
+# ----------- release -----------\r
+ifneq ($(findstring rel,$(MAKECMDGOALS)),)\r
+ifeq ($(VER),)\r
+$(error need VER)\r
+endif\r
+endif\r
+\r
+rel: PicoDrive.gpe code940/code940.bin ../readme.txt config.txt\r
+       zip -9 -j ../../PicoDrive_$(VER).zip $^ mmuhack.o\r
+\r
+code940/code940.bin:\r
+       make -C code940/\r
+\r
+\r
 # test\r
 usbjoy.o : usbjoy.c\r
        @echo $<\r