9d281c11acbca466ae2562f219a7a830b41b7abb
[gpsp.git] / gp2x / Makefile
1 # gpSP makefile
2 # Gilead Kutnick - Exophase
3 # GP2X port(ion) - Z
4
5 # Global definitions
6
7 PREFIX    ?= /opt/open2x/gcc-4.1.1-glibc-2.3.6
8 CC        = $(PREFIX)/bin/arm-open2x-linux-gcc
9 STRIP     = $(PREFIX)/bin/arm-open2x-linux-strip
10
11 OBJS      = main.o cpu.o memory.u video.o input.o sound.o gp2x.o gui.o        \
12             cheats.o zip.o cpu_threaded.z arm_stub.o video_blend.o            \
13             warm.o upscale_aspect.o
14 ifeq ($(WIZ),1)
15 OBJS      += pollux_dpc_set.o
16 BIN       = gpsp_wiz
17 else
18 BIN       = gpsp_gp2x
19 endif
20
21 -include Makefile.local
22
23 # Platform specific definitions 
24
25 VPATH      += .. ../arm
26 CFLAGS     += -DARM_ARCH -DGP2X_BUILD
27 ifeq ($(WIZ),1)
28 CFLAGS     += -DWIZ_BUILD
29 endif
30 # NOTE: -funroll-loops will slow down compiling considerably
31 CFLAGS     += -O3 -std=c99 -msoft-float -funsigned-char -fno-common           \
32               -fno-builtin -Wall                                              \
33
34 INCLUDES   = `$(PREFIX)/bin/sdl-config --cflags` -I$(PREFIX)/include
35 LIBS       = `$(PREFIX)/bin/sdl-config --libs`               \
36               -lm -ldl -lpthread -lz
37 ifneq ($(WIZ),1)
38 LIBS       += -static
39 endif
40
41 # Compilation:
42
43 .SUFFIXES: .c
44
45 all:    $(BIN)
46
47 cpu.o cpu_threaded.z: CFLAGS += -Wno-unused-variable -Wno-unused-label
48
49 %.z: %.c
50         $(CC) $(CFLAGS) $(INCLUDES) -c -o $@ $<
51
52 %.u: %.c
53         $(CC) $(CFLAGS) $(INCLUDES) -c -o $@ $<
54
55 %.o: %.c
56         $(CC) $(CFLAGS) $(INCLUDES) -c -o $@ $<
57
58 %.o: %.S
59         $(CC) $(ASFLAGS) $(INCLUDES) -c -o $@ $<
60
61 %.o: %.s
62         $(CC) $(ASFLAGS) $(INCLUDES) -c -o $@ $<
63
64 $(BIN): $(OBJS)
65         $(CC) $(OBJS) $(LIBS) -o $(BIN)
66         $(STRIP) $(BIN)
67
68 clean:
69         rm -f *.o *.u *.z $(BIN) 
70