9742dc197ffeb2e0e0a5b311cc8128c13c2a0250
[fceu.git] / Makefile.gp2x
1 CROSS   = arm-linux-
2 CC      = $(CROSS)gcc
3 STRIP   = $(CROSS)strip
4 AS      = $(CROSS)as
5 TFLAGS  = -Winline -mcpu=arm920t -Izlib -DGP2X=1 -DLSB_FIRST -DUNIX -DPSS_STYLE=1 -DHAVE_ASPRINTF -DZLIB -DFRAMESKIP -D_REENTRANT
6 ASFLAGS = -mcpu=arm920t -mfloat-abi=soft
7 RM      = rm -f
8 B       = drivers/gp2x/
9 ifdef DEBUG
10 TFLAGS  += -ggdb
11 LDRIVER += -ggdb
12 NOSTRIP = 1
13 else
14 TFLAGS  += -ftracer -fstrength-reduce -funroll-loops -fomit-frame-pointer -fstrict-aliasing -ffast-math
15 TFLAGS  += -O3 #-pg -fno-omit-frame-pointer
16 LDRIVER += -O3 #-pg -fno-omit-frame-pointer
17 endif
18
19 #NOSTRIP = 1
20
21 asm_6502=1
22 #debug_asm_6502=1
23
24 all:            fceu
25
26 gpfce.gpe: fceu
27         cp fceu $@
28
29 include zlib/Makefile
30
31 OBJDRIVER        = ${B}minimal.o ${B}cpuctrl.o ${B}squidgehack.o ${B}asmutils.o ${B}gp2x.o ${B}main.o ${B}throttle.o \
32                 ${B}unix-netplay.o ${B}gp2x-sound.o ${B}gp2x-video.o ${B}usbjoy.o ${B}menu.o ${B}fonts.o ${B}readpng.o \
33                 drivers/common/cheat.o drivers/common/config.o drivers/common/args.o drivers/common/vidblit.o ${UNZIPOBJS} \
34                 ppu.o movie.o fceu098.o ppu098.o sound098.o filter098.o
35 LDRIVER         += -lm -lz -lpng -static -Wl,-Map=fceu.map
36
37 ifeq ($(asm_6502),1)
38 TFLAGS  += -DASM_6502
39 OBJDRIVER += ncpu.o
40 ifeq ($(debug_asm_6502),1)
41 TFLAGS  += -DDEBUG_ASM_6502
42 OBJDRIVER += x6502.o ncpu_debug.o
43 endif
44 else
45 OBJDRIVER += x6502.o
46 endif
47
48 x6502.o: x6502.c x6502.h ops.h fce.h sound.h dprintf.h
49
50 ncpu.o: ncpu.S ncpu.h
51         $(CC) $(TFLAGS) -c $< -o $@
52
53 include Makefile.base
54
55 ${B}main.o:             ${B}main.c ${B}main.h ${B}usage.h ${B}input.c
56 ${B}gp2x.o:             ${B}gp2x.c ${B}gp2x.h ${B}rev.h
57 ${B}throttle.o:         ${B}throttle.c ${B}main.h ${B}throttle.h
58 ppu.o:                  ppu.c ppu.h
59
60 ${B}rev.h: FORCE
61         @if [ -f $@ ]; then prevrev=`cat $@`; else prevrev="00"; fi; \
62         if [ "`which svn`" != "" ]; then \
63                 rev=`svn update|tail -n 1|sed 's/.*\ \(.*\)\./\1/g'|sed "s/'//g"`; \
64         fi; \
65         if [ "$$rev"  = "" ]; then rev="0"; fi; \
66         if [ "$$rev" != "$$prevrev" ]; then \
67                 echo "$$rev" > $@; \
68         fi
69
70 .PHONY: FORCE
71
72 include Makefile.common
73
74 up: fceu
75         cp -v fceu /mnt/gp2x/mnt/sd/emus/gpfce/gpfce.gpe
76
77 # ----------- release -----------
78 ifneq ($(findstring rel,$(MAKECMDGOALS)),)
79 ifeq ($(VER),)
80 $(error need VER)
81 endif
82 endif
83
84 rel: gpfce.gpe out_gp2x/readme.txt out_gp2x/gpfce.man.txt out_gp2x/gpfce.png out_gp2x/background.png
85         zip -9 -j gpfce_v$(VER).zip $^ drivers/gp2x/mmuhack.o
86         zip -9 gpfce_v$(VER).zip fceultra
87
88