X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=platform%2Fgp2x%2Fcode940%2FMakefile;h=e327d13611ee08622bbd644fd69e390c1729234f;hb=refs%2Fremotes%2Fgithub%2Fmaster;hp=6b3f5f8c9654f23d0d8d672e2e1569c3fbfcd7a4;hpb=8f8fe01e049d9963523928a910eb4f83aac1da54;p=picodrive.git diff --git a/platform/gp2x/code940/Makefile b/platform/gp2x/code940/Makefile index 6b3f5f8c..2535cfda 100644 --- a/platform/gp2x/code940/Makefile +++ b/platform/gp2x/code940/Makefile @@ -1,40 +1,41 @@ - # you may or may not need to change this -#devkit_path = x:/stuff/dev/devkitgp2x/ -devkit_path = /usr/local/devkitPro/devkitGP2X/ -lgcc_path = $(devkit_path)lib/gcc/arm-linux/4.0.3/ -export CROSS = arm-linux- -#CROSS = $(devkit_path)bin/arm-linux- +lgcc_path = $(HOME)/opt/open2x/gcc-4.1.1-glibc-2.3.6/lib/gcc/arm-open2x-linux/4.1.1/ +CROSS_COMPILE ?= arm-none-eabi- # settings #up = 1 -DEFINC = -I../.. -I. -D__GP2X__ -DARM # -DBENCHMARK -COPT_COMMON = -static -s -O2 -ftracer -fstrength-reduce -Wall -fomit-frame-pointer -fstrict-aliasing -ffast-math -COPT = $(COPT_COMMON) -mtune=arm940t -GCC = $(CROSS)gcc -STRIP = $(CROSS)strip -AS = $(CROSS)as -LD = $(CROSS)ld -OBJCOPY = $(CROSS)objcopy +CFLAGS += -O3 -Wall -mno-thumb-interwork -fstrict-aliasing -fno-stack-protector -fno-common -ffast-math +CFLAGS += -I../../common/helix/pub -I../../.. -I. -D__GP2X__ -DARM +CFLAGS += -mcpu=arm940t -mtune=arm940t -mabi=apcs-gnu -mfloat-abi=soft -mfpu=fpa +LDFLAGS = -static -e code940 -Ttext 0x0 -L$(lgcc_path) -lgcc -BIN = pico940_v2.bin +GCC = $(CROSS_COMPILE)gcc +STRIP = $(CROSS_COMPILE)strip +AS = $(CROSS_COMPILE)as +LD = $(CROSS_COMPILE)ld +OBJCOPY = $(CROSS_COMPILE)objcopy -all: $(BIN) +vpath %.c = ../../common + +BIN = pico940_v3.bin +all: $(BIN) .c.o: - @echo $< - $(GCC) $(COPT) $(DEFINC) -c $< -o $@ + @echo ">>>" $< + $(GCC) $(CFLAGS) -c $< -o $@ .s.o: - @echo $< - $(GCC) $(COPT) $(DEFINC) -c $< -o $@ + @echo ">>>" $< + $(GCC) $(CFLAGS) -c $< -o $@ # stuff for 940 core # init, emu_control, emu -OBJS940 += 940init.o 940.o 940ym2612.o memcpy.o mix.o misc.o +OBJS940 += 940init.o 940.o 940ym2612.o misc_arm.o mp3_sync.o +# the asm memcpy code crashes job LOAD2 on 940. Possibly a globbered reg? +# OBJS940 += memcpy.o # the asm code seems to be faster when run on 920, but not on 940 for some reason # OBJS940 += ../../Pico/sound/ym2612_asm.o @@ -42,28 +43,30 @@ OBJS940 += 940init.o 940.o 940ym2612.o memcpy.o mix.o misc.o OBJS940 += uClibc/memset.o uClibc/s_floor.o uClibc/e_pow.o uClibc/e_sqrt.o uClibc/s_fabs.o OBJS940 += uClibc/s_scalbn.o uClibc/s_copysign.o uClibc/k_sin.o uClibc/k_cos.o uClibc/s_sin.o OBJS940 += uClibc/e_rem_pio2.o uClibc/k_rem_pio2.o uClibc/e_log.o uClibc/wrappers.o +LIBHELIX ?= ../../common/helix/$(notdir $(CROSS_COMPILE))helix_mp3.a + +$(BIN) : code940.elf + @echo ">>>" $@ + $(OBJCOPY) -O binary $< $@ -$(BIN) : code940.gpe - @echo $@ - @$(OBJCOPY) -O binary $< $@ +code940.elf : $(OBJS940) $(LIBHELIX) + @echo ">>>" $@ + $(LD) $^ $(LDFLAGS) -o $@ -Map code940.map -code940.gpe : $(OBJS940) ../../common/helix/helix_mp3.a - @echo $@ - @$(LD) -static -e code940 -Ttext 0x0 $^ -L$(lgcc_path) -lgcc -o $@ -Map code940.map +940ym2612.o : ../../../pico/sound/ym2612.c + @echo ">>>" $@ + $(GCC) $(CFLAGS) -Os -DEXTERNAL_YM2612 -c $< -o $@ -940ym2612.o : ../../../Pico/sound/ym2612.c - @echo $@ - @$(GCC) $(COPT) -Os $(DEFINC) -DEXTERNAL_YM2612 -c $< -o $@ +misc_arm.o : ../../../pico/misc_arm.s + @echo ">>>" $@ + $(GCC) $(CFLAGS) -DEXTERNAL_YM2612 -c $< -o $@ -mix.o : ../../../Pico/sound/mix.s - @echo $@ - @$(GCC) $(COPT) $(DEFINC) -DEXTERNAL_YM2612 -c $< -o $@ -misc.o : ../../../Pico/Misc.s - @echo $@ - @$(GCC) $(COPT) $(DEFINC) -DEXTERNAL_YM2612 -c $< -o $@ +mp3_sync.o: ../../common/mp3_sync.c + @echo ">>>" $@ + $(GCC) $(CFLAGS) -Os -DCODE940 -c $< -o $@ -../../common/helix/helix_mp3.a: - @make -C ../../common/helix/ +$(LIBHELIX): + @$(MAKE) -C ../../common/helix/ CROSS_COMPILE=$(CROSS_COMPILE) up: $(BIN) @@ -72,14 +75,15 @@ up: $(BIN) # cleanup clean: tidy - @$(RM) code940.bin + $(RM) $(BIN) tidy: - @$(RM) code940.gpe $(OBJS940) code940.map + $(RM) code940.elf $(OBJS940) code940.map +## OBJSMP3T = mp3test.o ../gp2x.o ../asmutils.o ../usbjoy.o -mp3test.gpe : $(OBJSMP3T) ../helix/helix_mp3.a +mp3test.gpe : $(OBJSMP3T) $(LIBHELIX) $(GCC) -static -o $@ $^ $(STRIP) $@ @cp -v $@ /mnt/gp2x/mnt/sd @@ -87,10 +91,3 @@ mp3test.gpe : $(OBJSMP3T) ../helix/helix_mp3.a cleanmp3test: $(RM) $(OBJSMP3T) mp3test.gpe -# uClibc/e_pow.o : uClibc/e_pow.c -# @echo $< -# @$(GCC) $(COPT) $(DEFINC) -fno-profile-generate -c $< -o $@ - -# uClibc/e_sqrt.o : uClibc/e_sqrt.c -# @echo $< -# @$(GCC) $(COPT) $(DEFINC) -fno-profile-generate -c $< -o $@