Mercurial > repos > blastem
comparison Makefile @ 1648:b7ecd0d6a77b mame_interp
Merge from default
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Tue, 25 Dec 2018 11:12:26 -0800 |
parents | 36732f5c2281 c206a422d466 |
children | 956c1cce05e2 |
comparison
equal
deleted
inserted
replaced
1509:36732f5c2281 | 1648:b7ecd0d6a77b |
---|---|
14 GLEW32S_LIB:=$(GLEW_PREFIX)/lib/Release/Win32/glew32s.lib | 14 GLEW32S_LIB:=$(GLEW_PREFIX)/lib/Release/Win32/glew32s.lib |
15 endif | 15 endif |
16 | 16 |
17 MEM:=mem_win.o | 17 MEM:=mem_win.o |
18 TERMINAL:=terminal_win.o | 18 TERMINAL:=terminal_win.o |
19 FONT:=nuklear_ui/font_win.o | |
20 NET:=net_win.o | |
19 EXE:=.exe | 21 EXE:=.exe |
20 CC:=i686-w64-mingw32-gcc-win32 | 22 CC:=i686-w64-mingw32-gcc-win32 |
21 CFLAGS:=-std=gnu99 -Wreturn-type -Werror=return-type -Werror=implicit-function-declaration -I"$(SDL2_PREFIX)/include/SDL2" -I"$(GLEW_PREFIX)/include" -DGLEW_STATIC | 23 CFLAGS:=-std=gnu99 -Wreturn-type -Werror=return-type -Werror=implicit-function-declaration -I"$(SDL2_PREFIX)/include/SDL2" -I"$(GLEW_PREFIX)/include" -DGLEW_STATIC |
22 LDFLAGS:= $(GLEW32S_LIB) -L"$(SDL2_PREFIX)/lib" -lm -lmingw32 -lSDL2main -lSDL2 -lws2_32 -lopengl32 -lglu32 -mwindows | 24 LDFLAGS:= $(GLEW32S_LIB) -L"$(SDL2_PREFIX)/lib" -lm -lmingw32 -lSDL2main -lSDL2 -lws2_32 -lopengl32 -lglu32 -mwindows |
23 CPU:=i686 | 25 CPU:=i686 |
24 | 26 |
25 else | 27 else |
26 | 28 |
27 MEM:=mem.o | 29 MEM:=mem.o |
28 TERMINAL:=terminal.o | 30 TERMINAL:=terminal.o |
31 NET:=net.o | |
29 EXE:= | 32 EXE:= |
30 | 33 |
31 ifeq ($(OS),Darwin) | 34 ifeq ($(OS),Darwin) |
32 LIBS=sdl2 glew | 35 LIBS=sdl2 glew |
36 FONT:=nuklear_ui/font_mac.o | |
33 else | 37 else |
34 LIBS=sdl2 glew gl | 38 LIBS=sdl2 glew gl |
39 FONT:=nuklear_ui/font.o | |
35 endif #Darwin | 40 endif #Darwin |
36 | 41 |
37 HAS_PROC:=$(shell if [ -d /proc ]; then /bin/echo -e -DHAS_PROC; fi) | 42 HAS_PROC:=$(shell if [ -d /proc ]; then /bin/echo -e -DHAS_PROC; fi) |
38 CFLAGS:=-std=gnu99 -Wreturn-type -Werror=return-type -Werror=implicit-function-declaration -Wno-unused-value $(HAS_PROC) | 43 CFLAGS:=-std=gnu99 -Wreturn-type -Werror=return-type -Werror=implicit-function-declaration -Wno-unused-value $(HAS_PROC) -DHAVE_UNISTD_H |
39 ifeq ($(OS),Darwin) | 44 ifeq ($(OS),Darwin) |
40 #This should really be based on whether or not the C compiler is clang rather than based on the OS | 45 #This should really be based on whether or not the C compiler is clang rather than based on the OS |
41 CFLAGS+= -Wno-logical-op-parentheses | 46 CFLAGS+= -Wno-logical-op-parentheses |
42 endif | 47 endif |
43 ifdef PORTABLE | 48 ifdef PORTABLE |
44 CFLAGS+= -DGLEW_STATIC -Iglew/include | 49 CFLAGS+= -DGLEW_STATIC -Iglew/include |
45 LDFLAGS:=-lm glew/lib/libGLEW.a | 50 LDFLAGS:=-lm glew/lib/libGLEW.a |
46 | 51 |
47 ifeq ($(OS),Darwin) | 52 ifeq ($(OS),Darwin) |
48 CFLAGS+= -IFrameworks/SDL2.framework/Headers | 53 CFLAGS+= -IFrameworks/SDL2.framework/Headers |
49 LDFLAGS+= -FFrameworks -framework SDL2 -framework OpenGL | 54 LDFLAGS+= -FFrameworks -framework SDL2 -framework OpenGL -framework AppKit |
50 FIXUP:=install_name_tool -change @rpath/SDL2.framework/Versions/A/SDL2 @executable_path/Frameworks/SDL2.framework/Versions/A/SDL2 | 55 FIXUP:=install_name_tool -change @rpath/SDL2.framework/Versions/A/SDL2 @executable_path/Frameworks/SDL2.framework/Versions/A/SDL2 |
51 else | 56 else |
52 CFLAGS+= -Isdl/include | 57 CFLAGS+= -Isdl/include |
53 LDFLAGS+= -Wl,-rpath='$$ORIGIN/lib' -Llib -lSDL2 $(shell pkg-config --libs gl) | 58 LDFLAGS+= -Wl,-rpath='$$ORIGIN/lib' -Llib -lSDL2 $(shell pkg-config --libs gl) |
54 endif #Darwin | 59 endif #Darwin |
56 else | 61 else |
57 CFLAGS:=$(shell pkg-config --cflags-only-I $(LIBS)) $(CFLAGS) | 62 CFLAGS:=$(shell pkg-config --cflags-only-I $(LIBS)) $(CFLAGS) |
58 LDFLAGS:=-lm $(shell pkg-config --libs $(LIBS)) | 63 LDFLAGS:=-lm $(shell pkg-config --libs $(LIBS)) |
59 | 64 |
60 ifeq ($(OS),Darwin) | 65 ifeq ($(OS),Darwin) |
61 LDFLAGS+= -framework OpenGL | 66 LDFLAGS+= -framework OpenGL -framework AppKit |
62 endif | 67 endif |
63 | 68 |
64 endif #PORTABLE | 69 endif #PORTABLE |
65 endif #Windows | 70 endif #Windows |
66 | 71 |
67 ifdef DEBUG | 72 ifdef DEBUG |
68 OPT:=-ggdb -Og | 73 OPT:=-g3 -O0 |
69 else | 74 else |
70 ifdef NOLTO | 75 ifdef NOLTO |
71 OPT:=-O2 | 76 OPT:=-O2 |
72 else | 77 else |
73 OPT:=-O2 -flto | 78 OPT:=-O2 -flto |
84 ifdef PROFILE | 89 ifdef PROFILE |
85 LDFLAGS+= -Wl,--no-as-needed -lprofiler -Wl,--as-needed | 90 LDFLAGS+= -Wl,--no-as-needed -lprofiler -Wl,--as-needed |
86 endif | 91 endif |
87 ifdef NOGL | 92 ifdef NOGL |
88 CFLAGS+= -DDISABLE_OPENGL | 93 CFLAGS+= -DDISABLE_OPENGL |
94 NONUKLEAR:=1 | |
89 endif | 95 endif |
90 | 96 |
91 ifdef M68030 | 97 ifdef M68030 |
92 CFLAGS+= -DM68030 | 98 CFLAGS+= -DM68030 |
93 endif | 99 endif |
125 endif | 131 endif |
126 | 132 |
127 #Z80OBJS=z80inst.o z80_to_x86.o | 133 #Z80OBJS=z80inst.o z80_to_x86.o |
128 Z80OBJS=z80inst.o mame_z80/z80.o | 134 Z80OBJS=z80inst.o mame_z80/z80.o |
129 AUDIOOBJS=ym2612.o psg.o wave.o | 135 AUDIOOBJS=ym2612.o psg.o wave.o |
130 CONFIGOBJS=config.o tern.o util.o | 136 CONFIGOBJS=config.o tern.o util.o paths.o |
131 | 137 NUKLEAROBJS=$(FONT) nuklear_ui/blastem_nuklear.o nuklear_ui/sfnt.o controller_info.o |
132 #MAINOBJS=blastem.o system.o genesis.o debug.o gdb_remote.o vdp.o render_sdl.o ppm.o io.o romdb.o hash.o menu.o xband.o realtec.o i2c.o nor.o sega_mapper.o multi_game.o serialize.o $(TERMINAL) $(CONFIGOBJS) gst.o $(M68KOBJS) $(TRANSOBJS) $(AUDIOOBJS) | 138 RENDEROBJS=render_sdl.o ppm.o |
133 MAINOBJS=blastem.o system.o genesis.o vdp.o render_sdl.o ppm.o io.o romdb.o hash.o menu.o xband.o realtec.o i2c.o nor.o sega_mapper.o multi_game.o serialize.o $(TERMINAL) $(CONFIGOBJS) $(M68KOBJS) $(TRANSOBJS) $(AUDIOOBJS) | 139 LIBZOBJS=zlib/adler32.o zlib/compress.o zlib/crc32.o zlib/deflate.o zlib/gzclose.o zlib/gzlib.o zlib/gzread.o\ |
140 zlib/gzwrite.o zlib/infback.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o zlib/uncompr.o zlib/zutil.o | |
141 | |
142 ifdef NOZLIB | |
143 CFLAGS+= -DDISABLE_ZLIB | |
144 else | |
145 RENDEROBJS+= $(LIBZOBJS) png.o | |
146 endif | |
147 | |
148 #MAINOBJS=blastem.o system.o genesis.o debug.o gdb_remote.o vdp.o $(RENDEROBJS) io.o romdb.o hash.o menu.o xband.o | |
149 MAINOBJS=blastem.o system.o genesis.o vdp.o $(RENDEROBJS) io.o romdb.o hash.o menu.o xband.o \ | |
150 realtec.o i2c.o nor.o sega_mapper.o multi_game.o megawifi.o $(NET) serialize.o $(TERMINAL) $(CONFIGOBJS) \ | |
151 $(M68KOBJS) $(TRANSOBJS) $(AUDIOOBJS) saves.o zip.o bindings.o jcart.o | |
152 | |
153 ifdef NONUKLEAR | |
154 CFLAGS+= -DDISABLE_NUKLEAR | |
155 else | |
156 MAINOBJS+= $(NUKLEAROBJS) | |
157 endif | |
134 | 158 |
135 ifeq ($(CPU),x86_64) | 159 ifeq ($(CPU),x86_64) |
136 CFLAGS+=-DX86_64 -m64 | 160 CFLAGS+=-DX86_64 -m64 |
137 LDFLAGS+=-m64 | 161 LDFLAGS+=-m64 |
138 else | 162 else |
139 ifeq ($(CPU),i686) | 163 ifeq ($(CPU),i686) |
140 CFLAGS+=-DX86_32 -m32 | 164 CFLAGS+=-DX86_32 -m32 |
141 LDFLAGS+=-m32 | 165 LDFLAGS+=-m32 |
142 else | 166 else |
143 $(error $(CPU) is not a supported architecture) | 167 #$(error $(CPU) is not a supported architecture) |
144 endif | 168 endif |
145 endif | 169 endif |
146 | 170 |
147 ifdef NOZ80 | 171 ifdef NOZ80 |
148 CFLAGS+=-DNO_Z80 | 172 CFLAGS+=-DNO_Z80 |
163 | 187 |
164 blastem$(EXE) : $(MAINOBJS) | 188 blastem$(EXE) : $(MAINOBJS) |
165 $(CC) -o $@ $^ $(LDFLAGS) | 189 $(CC) -o $@ $^ $(LDFLAGS) |
166 $(FIXUP) ./$@ | 190 $(FIXUP) ./$@ |
167 | 191 |
168 blastjag$(EXE) : jaguar.o jag_video.o render_sdl.o serialize.o $(M68KOBJS) $(TRANSOBJS) $(CONFIGOBJS) | 192 blastjag$(EXE) : jaguar.o jag_video.o $(RENDEROBJS) serialize.o $(M68KOBJS) $(TRANSOBJS) $(CONFIGOBJS) |
169 $(CC) -o $@ $^ $(LDFLAGS) | 193 $(CC) -o $@ $^ $(LDFLAGS) |
170 | 194 |
171 dis$(EXE) : dis.o 68kinst.o tern.o vos_program_module.o | 195 dis$(EXE) : dis.o 68kinst.o tern.o vos_program_module.o |
172 $(CC) -o $@ $^ $(OPT) | 196 $(CC) -o $@ $^ $(OPT) |
173 | 197 |
190 $(CC) -o ztestrun ztestrun.o $(Z80OBJS) $(TRANSOBJS) $(OPT) | 214 $(CC) -o ztestrun ztestrun.o $(Z80OBJS) $(TRANSOBJS) $(OPT) |
191 | 215 |
192 ztestgen : ztestgen.o z80inst.o | 216 ztestgen : ztestgen.o z80inst.o |
193 $(CC) -ggdb -o ztestgen ztestgen.o z80inst.o | 217 $(CC) -ggdb -o ztestgen ztestgen.o z80inst.o |
194 | 218 |
195 stateview$(EXE) : stateview.o vdp.o render_sdl.o ppm.o serialize.o $(CONFIGOBJS) gst.o | 219 stateview$(EXE) : stateview.o vdp.o $(RENDEROBJS) serialize.o $(CONFIGOBJS) gst.o |
196 $(CC) -o $@ $^ $(LDFLAGS) | 220 $(CC) -o $@ $^ $(LDFLAGS) |
197 $(FIXUP) ./$@ | 221 $(FIXUP) ./$@ |
198 | 222 |
199 vgmplay$(EXE) : vgmplay.o render_sdl.o ppm.o serialize.o $(CONFIGOBJS) $(AUDIOOBJS) | 223 vgmplay$(EXE) : vgmplay.o $(RENDEROBJS) serialize.o $(CONFIGOBJS) $(AUDIOOBJS) |
200 $(CC) -o $@ $^ $(LDFLAGS) | 224 $(CC) -o $@ $^ $(LDFLAGS) |
201 $(FIXUP) ./$@ | 225 $(FIXUP) ./$@ |
202 | 226 |
203 blastcpm : blastcpm.o util.o serialize.o $(Z80OBJS) $(TRANSOBJS) | 227 blastcpm : blastcpm.o util.o serialize.o $(Z80OBJS) $(TRANSOBJS) |
204 $(CC) -o $@ $^ $(OPT) | 228 $(CC) -o $@ $^ $(OPT) |
230 %.o : %.S | 254 %.o : %.S |
231 $(CC) -c -o $@ $< | 255 $(CC) -c -o $@ $< |
232 | 256 |
233 %.o : %.c | 257 %.o : %.c |
234 $(CC) $(CFLAGS) -c -o $@ $< | 258 $(CC) $(CFLAGS) -c -o $@ $< |
259 | |
260 %.o : %.m | |
261 $(CC) $(CFLAGS) -c -o $@ $< | |
262 | |
235 %.png : %.xcf | 263 %.png : %.xcf |
236 xcf2png $< > $@ | 264 xcf2png $< > $@ |
237 | 265 |
238 %.tiles : %.spec | 266 %.tiles : %.spec |
239 ./img2tiles.py -s $< $@ | 267 ./img2tiles.py -s $< $@ |
253 font.tiles : font.png | 281 font.tiles : font.png |
254 | 282 |
255 menu.bin : font_interlace_variable.tiles arrow.tiles cursor.tiles button.tiles font.tiles | 283 menu.bin : font_interlace_variable.tiles arrow.tiles cursor.tiles button.tiles font.tiles |
256 | 284 |
257 clean : | 285 clean : |
258 rm -rf $(ALL) trans ztestrun ztestgen *.o musashi/*.o | 286 rm -rf $(ALL) trans ztestrun ztestgen *.o nuklear_ui/*.o zlib/*.o |