CC = $(CROSS)gcc
STRIP = $(CROSS)strip
AS = $(CROSS)as
-TFLAGS = -Winline -mcpu=arm920t -Izlib -DGP2X=1 -DLSB_FIRST -DUNIX -DPSS_STYLE=1 -DZLIB -DFRAMESKIP -D_REENTRANT
+TFLAGS = -Winline -mcpu=arm920t -Izlib -DGP2X=1 -DLSB_FIRST -DUNIX -DPSS_STYLE=1 -DHAVE_ASPRINTF -DZLIB -DFRAMESKIP -D_REENTRANT
ASFLAGS = -mcpu=arm920t -mfloat-abi=soft
RM = rm -f
B = drivers/gp2x/
ifdef DEBUG
TFLAGS += -ggdb
LDRIVER += -ggdb
+NOSTRIP = 1
else
-TFLAGS += -ftracer -fstrength-reduce -funroll-loops -fomit-frame-pointer -fstrict-aliasing -ffast-math
-TFLAGS += -O3 # -pg
-LDRIVER += -O3 # -pg
+TFLAGS += -ftracer -fstrength-reduce -fomit-frame-pointer -fstrict-aliasing -ffast-math # -funroll-loops
+TFLAGS += -O3 #-pg -fno-omit-frame-pointer
+LDRIVER += -O3 #-pg -fno-omit-frame-pointer
endif
+#NOSTRIP = 1
+
asm_6502=1
#debug_asm_6502=1
all: fceu
-gpfce: fceu
- cp fceu gpfce
+gpfce.gpe: fceu
+ cp fceu $@
include zlib/Makefile
-OBJDRIVER = ${B}minimal.o ${B}squidgehack.o ${B}asmutils.o ${B}gp2x.o ${B}main.o ${B}throttle.o \
- ${B}unix-netplay.o ${B}gp2x-sound.o ${B}gp2x-video.o ${B}lnx-joystick.o \
- drivers/common/cheat.o drivers/common/config.o drivers/common/args.o drivers/common/vidblit.o ${UNZIPOBJS} ppu.o
-LDRIVER += -L /mnt/sd/lib -L/mnt/sd/gp2x/usr/lib -lm -lz -static -Wl,-Map=fceu.map
+OBJDRIVER = ${B}minimal.o ${B}cpuctrl.o ${B}squidgehack.o ${B}asmutils.o ${B}gp2x.o ${B}main.o ${B}throttle.o \
+ ${B}unix-netplay.o ${B}gp2x-sound.o ${B}gp2x-video.o ${B}usbjoy.o ${B}menu.o ${B}fonts.o ${B}readpng.o \
+ drivers/common/cheat.o drivers/common/config.o drivers/common/args.o drivers/common/vidblit.o ${UNZIPOBJS} \
+ ppu.o movie.o fceu098.o ppu098.o
+LDRIVER += -lm -lz -lpng -static -Wl,-Map=fceu.map
ifeq ($(asm_6502),1)
TFLAGS += -DASM_6502
OBJDRIVER += x6502.o
endif
-x6502.o: x6502.c x6502.h ops.h fce.h sound.h
+x6502.o: x6502.c x6502.h ops.h fce.h sound.h dprintf.h
+
ncpu.o: ncpu.S ncpu.h
$(CC) $(TFLAGS) -c $< -o $@
include Makefile.base
${B}main.o: ${B}main.c ${B}main.h ${B}usage.h ${B}input.c
-${B}gp2x.o: ${B}gp2x.c ${B}gp2x.h
+${B}gp2x.o: ${B}gp2x.c ${B}gp2x.h ${B}rev.h
${B}throttle.o: ${B}throttle.c ${B}main.h ${B}throttle.h
ppu.o: ppu.c ppu.h
-include Makefile.common
+${B}rev.h: FORCE
+ @if [ -f $@ ]; then prevrev=`cat $@`; else prevrev="00"; fi; \
+ if [ "`which svn`" != "" ]; then \
+ rev=`svn update|tail -n 1|sed 's/.*\ \(.*\)\./\1/g'|sed "s/'//g"`; \
+ fi; \
+ if [ "$$rev" = "" ]; then rev="0"; fi; \
+ if [ "$$rev" != "$$prevrev" ]; then \
+ echo "$$rev" > $@; \
+ fi
-#x6502.o: x6502.c x6502.h ops.h fce.h sound.h
-# $(CC) $(CFLAGS) -finline-limit=60000 -c $< -o $@
+.PHONY: FORCE
+
+include Makefile.common
up: fceu
- cp -v fceu /mnt/gp2x/mnt/sd/emus/Gpfce_v02/gpfce
+ cp -v fceu /mnt/gp2x/mnt/sd/emus/gpfce/gpfce.gpe
+
+# ----------- release -----------
+ifneq ($(findstring rel,$(MAKECMDGOALS)),)
+ifeq ($(VER),)
+$(error need VER)
+endif
+endif
+
+rel: gpfce.gpe out_gp2x/readme.txt out_gp2x/gpfce.man.txt out_gp2x/gpfce.png out_gp2x/background.png
+ zip -9 -j gpfce_v$(VER).zip $^ drivers/gp2x/mmuhack.o
+ zip -9 gpfce_v$(VER).zip fceultra
+