-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathMakefile
108 lines (80 loc) · 3.01 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
SYSTEM = cps2
PSP = fat
DEBUG = 0
CC = psp-gcc
AR = psp-ar
TARGET := njemu_$(SYSTEM)_libretro_psp1.a
DEFINES += -D__LIBRETRO__ -DPSP
DEFINES += -DRELEASE=0 -DINLINE='static __inline'
# avoids conflict with the variable 'driver' in the frontend's code
DEFINES += -Ddriver=njemu_driver -Ddriver_t=njemu_driver_t
#DEFINES += -DCZ80_USE_JUMPTABLE
## CPS1 ##
ifeq ($(SYSTEM), cps1)
DEFINES += -DBUILD_CPS1PSP=1
INCDIRS := -Icps1
OBJS := cps1/cps1.o cps1/driver.o cps1/memintrf.o cps1/inptport.o cps1/dipsw.o cps1/timer.o
OBJS += cps1/vidhrdw.o cps1/sprite.o cps1/eeprom.o cps1/kabuki.o sound/2151intf.o sound/ym2151.o sound/qsound.o
OBJS += cpu/m68000/m68000.o cpu/m68000/c68k.o cpu/z80/z80.o cpu/z80/cz80.o common/coin.o
## CPS2 ##
else ifeq ($(SYSTEM), cps2)
DEFINES += -DBUILD_CPS2PSP=1
INCDIRS := -Icps2
OBJS := cps2/cps2.o cps2/cps2crpt.o cps2/driver.o cps2/memintrf.o cps2/inptport.o cps2/timer.o
OBJS += cps2/vidhrdw.o cps2/sprite.o cps2/eeprom.o sound/qsound.o
OBJS += cpu/m68000/m68000.o cpu/m68000/c68k.o cpu/z80/z80.o cpu/z80/cz80.o common/coin.o
OBJS += cps2/romcnv.o cps2/rominfo.o
## MVS ##
else ifeq ($(SYSTEM), mvs)
DEFINES += -DBUILD_MVSPSP=1
INCDIRS := -Imvs
OBJS := mvs/mvs.o mvs/driver.o mvs/memintrf.o mvs/inptport.o mvs/dipsw.o mvs/timer.o
OBJS += mvs/vidhrdw.o mvs/sprite.o mvs/pd4990a.o mvs/neocrypt.o mvs/biosmenu.o sound/2610intf.o sound/ym2610.o
OBJS += cpu/m68000/m68000.o cpu/m68000/c68k.o cpu/z80/z80.o cpu/z80/cz80.o
## NCDZ ##
else
DEFINES += -DBUILD_NCDZPSP=1
INCDIRS := -Incdz
OBJS := ncdz/ncdz.o ncdz/cdda.o ncdz/cdrom.o ncdz/driver.o ncdz/memintrf.o ncdz/inptport.o ncdz/timer.o
OBJS += ncdz/vidhrdw.o ncdz/sprite.o sound/2610intf.o sound/ym2610.o
OBJS += cpu/m68000/m68000.o cpu/m68000/c68k.o cpu/z80/z80.o cpu/z80/cz80.o
endif
ifeq ($(PSP), fat)
DEFINES += -D_PSP_FW_VERSION=150
else # psp = slim
DEFINES += -DPSP_SLIM -D_PSP_FW_VERSION=371
endif
ifeq ($(DEBUG), 1)
CFLAGS += -O0 -g
else
CFLAGS += -O2
endif
CFLAGS += -G0
CFLAGS += $(DEFINES)
CFLAGS += -fstrict-aliasing -falign-functions=32 -falign-loops -falign-labels -falign-jumps -Wall -Wundef -Wpointer-arith -Wbad-function-cast -Wwrite-strings -Wmissing-prototypes -Wsign-compare -DZLIB_CONST
CFLAGS += -fomit-frame-pointer
#CFLAGS += -Werror
#CFLAGS += -march=allegrex -mfp32 -mgp32 -mlong32 -mabi=eabi
#CFLAGS += -fomit-frame-pointer -fstrict-aliasing
#CFLAGS += -falign-functions=32 -falign-loops -falign-labels -falign-jumps
OBJS += zip/zfile.o
#OBJS += zip/unzip.o
OBJS += common/cache.o common/loadrom.o common/state.o
OBJS += psp/filer.o psp/ui_text.o psp/input.o psp/ticker.o psp/sound.o psp/video.o
OBJS += sound/sndintrf.o
OBJS += emumain.o
OBJS += libretro.o
INCDIRS += -I.
INCDIRS += -I$(shell psp-config --pspsdk-path)/include
#INCDIRS += -I$(shell psp-config --psp-prefix)/include
all: $(TARGET)
$(TARGET): $(OBJS)
$(AR) rcs $@ $(OBJS)
%.o: %.c
$(CC) -c -o $@ $< $(CFLAGS) $(INCDIRS)
clean-objs:
rm -f $(OBJS)
clean:
rm -f $(OBJS)
rm -f $(TARGET)
.PHONY: clean clean-objs $(TARGET)