d4d62665 |
1 | TARGET ?= PicoDrive |
2 | CFLAGS += -Wall -ggdb -falign-functions=2 |
3 | CFLAGS += -I. |
4 | # FIXME |
5 | CFLAGS += -Iplatform/linux/ |
6 | ifndef DEBUG |
7 | CFLAGS += -O2 -DNDEBUG |
8 | endif |
e743be20 |
9 | |
d4d62665 |
10 | all: config.mak target_ |
11 | |
12 | ifndef NO_CONFIG_MAK |
13 | ifneq ($(wildcard config.mak),) |
14 | config.mak: ./configure |
15 | @echo $@ is out-of-date, running configure |
16 | @sed -n "/.*Configured with/s/[^:]*: //p" $@ | sh |
17 | include config.mak |
18 | else |
19 | config.mak: |
20 | @echo "Please run ./configure before running make!" |
21 | @exit 1 |
22 | endif |
23 | else # NO_CONFIG_MAK |
24 | config.mak: |
25 | endif |
26 | |
27 | # default settings |
28 | ifeq "$(ARCH)" "arm" |
29 | use_cyclone ?= 1 |
30 | use_drz80 ?= 1 |
31 | use_sh2drc ?= 1 |
32 | |
33 | asm_memory = 1 |
34 | #asm_render = 1 |
35 | asm_ym2612 = 1 |
36 | asm_misc = 1 |
37 | asm_cdpico = 1 |
38 | asm_cdmemory = 1 |
39 | else # if not arm |
40 | ifneq "$(ARCH)" "x86_64" |
41 | # no 64bit support |
42 | use_fame ?= 1 |
43 | else |
44 | use_musashi ?= 1 |
45 | endif |
46 | use_cz80 ?= 1 |
47 | use_sh2mame ?= 1 |
48 | endif |
e743be20 |
49 | |
50 | #drc_debug = 3 |
51 | #drc_debug_interp = 1 |
52 | #profile = 1 |
53 | |
54 | -include Makefile.local |
55 | |
d4d62665 |
56 | ifeq "$(use_musashi)" "1" |
57 | # due to CPU stop flag acces |
58 | asm_cdpico = 0 |
59 | asm_cdmemory = 0 |
e743be20 |
60 | endif |
61 | |
e743be20 |
62 | # common |
d4d62665 |
63 | OBJS += platform/common/main.o platform/common/emu.o \ |
64 | platform/common/menu_pico.o platform/common/config_file.o |
e743be20 |
65 | |
66 | # libpicofe |
67 | OBJS += platform/libpicofe/input.o platform/libpicofe/readpng.o \ |
68 | platform/libpicofe/fonts.o platform/libpicofe/linux/in_evdev.o \ |
d4d62665 |
69 | platform/libpicofe/linux/plat.o |
e743be20 |
70 | |
d4d62665 |
71 | # libpicofe - sound |
72 | OBJS += platform/libpicofe/sndout.o |
73 | ifneq ($(findstring oss,$(SOUND_DRIVERS)),) |
74 | platform/libpicofe/sndout.o: CFLAGS += -DHAVE_OSS |
75 | OBJS += platform/libpicofe/linux/sndout_oss.o |
76 | endif |
77 | ifneq ($(findstring alsa,$(SOUND_DRIVERS)),) |
78 | platform/libpicofe/sndout.o: CFLAGS += -DHAVE_ALSA |
79 | OBJS += platform/libpicofe/linux/sndout_alsa.o |
80 | endif |
81 | ifneq ($(findstring sdl,$(SOUND_DRIVERS)),) |
82 | platform/libpicofe/sndout.o: CFLAGS += -DHAVE_SDL |
83 | OBJS += platform/libpicofe/sndout_sdl.o |
84 | endif |
e743be20 |
85 | |
d4d62665 |
86 | # frontend |
87 | OBJS += platform/common/mp3_dummy.o |
88 | ifeq "$(PLATFORM)" "generic" |
89 | OBJS += platform/linux/emu.o platform/linux/blit.o # FIXME |
90 | OBJS += platform/common/plat_sdl.o |
91 | OBJS += platform/libpicofe/plat_sdl.o platform/libpicofe/in_sdl.o |
92 | OBJS += platform/libpicofe/plat_dummy.o |
93 | endif |
94 | ifeq "$(PLATFORM)" "pandora" |
95 | platform/common/menu_pico.o: CFLAGS += -DPANDORA |
96 | OBJS += platform/pandora/plat.o |
97 | OBJS += platform/pandora/asm_utils.o |
98 | OBJS += platform/common/arm_utils.o |
99 | OBJS += platform/libpicofe/linux/fbdev.o |
100 | OBJS += platform/libpicofe/linux/xenv.o |
101 | OBJS += platform/libpicofe/pandora/plat.o |
e743be20 |
102 | endif |
103 | |
104 | ifeq "$(ARCH)" "arm" |
d4d62665 |
105 | OBJS += platform/libpicofe/arm_linux.o |
106 | OBJS += pico/sound/mix_arm.o |
107 | else |
e743be20 |
108 | OBJS += pico/sound/mix.o |
d4d62665 |
109 | endif |
e743be20 |
110 | |
111 | # zlib |
112 | OBJS += zlib/gzio.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o \ |
113 | zlib/deflate.o zlib/crc32.o zlib/adler32.o zlib/zutil.o zlib/compress.o zlib/uncompr.o |
114 | # unzip |
115 | OBJS += unzip/unzip.o unzip/unzip_stream.o |
116 | |
d4d62665 |
117 | |
e743be20 |
118 | include platform/common/common.mak |
119 | |
d4d62665 |
120 | target_: $(TARGET) |
e743be20 |
121 | |
122 | clean: |
d4d62665 |
123 | $(RM) $(TARGET) $(OBJS) |
e743be20 |
124 | |
d4d62665 |
125 | $(TARGET): $(OBJS) |
126 | $(CC) -o $@ $(CFLAGS) $^ $(LDFLAGS) $(LDLIBS) -Wl,-Map=$(TARGET).map |
e743be20 |
127 | |
128 | pprof: platform/linux/pprof.c |
129 | $(CC) -O2 -ggdb -DPPROF -DPPROF_TOOL -I../../ -I. $^ -o $@ |
d4d62665 |
130 | |
131 | # ----------- release ----------- |
132 | |
133 | VER ?= $(shell head -n 1 platform/common/version.h | \ |
134 | sed 's/.*"\(.*\)\.\(.*\)".*/\1\2/g') |
135 | |
136 | ifeq "$(PLATFORM)" "pandora" |
137 | |
138 | PND_MAKE ?= $(HOME)/dev/pnd/src/pandora-libraries/testdata/scripts/pnd_make.sh |
139 | |
140 | /tmp/readme.txt: tools/textfilter platform/base_readme.txt |
141 | tools/textfilter platform/base_readme.txt $@ PANDORA |
142 | |
143 | /tmp/PicoDrive.pxml: platform/pandora/PicoDrive.pxml.template |
144 | platform/pandora/make_pxml.sh $^ $@ |
145 | |
146 | rel: PicoDrive platform/pandora/PicoDrive.run platform/pandora/picorestore \ |
147 | pico/carthw.cfg /tmp/readme.txt platform/pandora/skin \ |
148 | platform/pandora/PicoDrive.png platform/pandora/PicoDrive_p.png \ |
149 | /tmp/PicoDrive.pxml |
150 | rm -rf out |
151 | mkdir out |
152 | cp -r $^ out/ |
153 | $(PND_MAKE) -p PicoDrive_$(VER).pnd -d out -x out/PicoDrive.pxml -i out/PicoDrive.png -c |
154 | |
155 | endif |