05908ae0605b8d8aca321d1d5965d1db4d69105d
[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} ppu.o movie.o
34 LDRIVER         += -lm -lz -lpng -static -Wl,-Map=fceu.map
35
36 ifeq ($(asm_6502),1)
37 TFLAGS  += -DASM_6502
38 OBJDRIVER += ncpu.o
39 ifeq ($(debug_asm_6502),1)
40 TFLAGS  += -DDEBUG_ASM_6502
41 OBJDRIVER += x6502.o ncpu_debug.o
42 endif
43 else
44 OBJDRIVER += x6502.o
45 endif
46
47 x6502.o: x6502.c x6502.h ops.h fce.h sound.h dprintf.h
48
49 ncpu.o: ncpu.S ncpu.h
50         $(CC) $(TFLAGS) -c $< -o $@
51
52 include Makefile.base
53
54 ${B}main.o:             ${B}main.c ${B}main.h ${B}usage.h ${B}input.c
55 ${B}gp2x.o:             ${B}gp2x.c ${B}gp2x.h ${B}rev.h
56 ${B}throttle.o:         ${B}throttle.c ${B}main.h ${B}throttle.h
57 ppu.o:                  ppu.c ppu.h
58
59 ${B}rev.h: FORCE
60         @if [ -f $@ ]; then prevrev=`cat $@`; else prevrev="00"; fi; \
61         if [ "`which svn`" != "" ]; then \
62                 rev=`svn update|tail -n 1|sed 's/.*\ \(.*\)\./\1/g'|sed "s/'//g"`; \
63         fi; \
64         if [ "$$rev"  = "" ]; then rev="0"; fi; \
65         if [ "$$rev" != "$$prevrev" ]; then \
66                 echo "$$rev" > $@; \
67         fi
68
69 .PHONY: FORCE
70
71 include Makefile.common
72
73 up: fceu
74         cp -v fceu /mnt/gp2x/mnt/sd/emus/gpfce/gpfce.gpe
75
76 # ----------- release -----------
77 ifneq ($(findstring rel,$(MAKECMDGOALS)),)
78 ifeq ($(VER),)
79 $(error need VER)
80 endif
81 endif
82
83 rel: gpfce.gpe out_gp2x/readme.txt out_gp2x/gpfce.man.txt out_gp2x/gpfce.png out_gp2x/background.png
84         zip -9 -j gpfce_v$(VER).zip $^ drivers/gp2x/mmuhack.o
85         zip -9 gpfce_v$(VER).zip fceultra
86
87