Mercurial > repos > blastem
comparison Makefile @ 1822:8500bd987dda
Make libretro target successfully build for Windows and possibly Mac
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Wed, 03 Apr 2019 00:14:09 -0700 |
parents | 243f3a7247f9 |
children | 16f19774820b |
comparison
equal
deleted
inserted
replaced
1820:70a1304b432b | 1822:8500bd987dda |
---|---|
23 MEM:=mem_win.o | 23 MEM:=mem_win.o |
24 TERMINAL:=terminal_win.o | 24 TERMINAL:=terminal_win.o |
25 FONT:=nuklear_ui/font_win.o | 25 FONT:=nuklear_ui/font_win.o |
26 NET:=net_win.o | 26 NET:=net_win.o |
27 EXE:=.exe | 27 EXE:=.exe |
28 SO:=dll | |
29 CPU:=i686 | |
30 ifeq ($(CPU),i686) | |
28 CC:=i686-w64-mingw32-gcc-win32 | 31 CC:=i686-w64-mingw32-gcc-win32 |
29 CFLAGS:=-std=gnu99 -Wreturn-type -Werror=return-type -Werror=implicit-function-declaration -I"$(SDL2_PREFIX)/include/SDL2" -I"$(GLEW_PREFIX)/include" -DGLEW_STATIC | 32 else |
30 LDFLAGS:= $(GLEW32S_LIB) -L"$(SDL2_PREFIX)/lib" -lm -lmingw32 -lSDL2main -lSDL2 -lws2_32 -lopengl32 -lglu32 -mwindows | 33 CC:=x86_64-w64-mingw32-gcc-win32 |
31 CPU:=i686 | 34 endif |
35 CFLAGS:=-std=gnu99 -Wreturn-type -Werror=return-type -Werror=implicit-function-declaration | |
36 LDFLAGS:=-lm -lmingw32 -lws2_32 -mwindows | |
37 ifneq ($(MAKECMDGOALS),libblastem.dll) | |
38 CFLAGS+= -I"$(SDL2_PREFIX)/include/SDL2" -I"$(GLEW_PREFIX)/include" -DGLEW_STATIC | |
39 LDFLAGS+= $(GLEW32S_LIB) -L"$(SDL2_PREFIX)/lib" -lSDL2main -lSDL2 -lopengl32 -lglu32 | |
40 endif | |
32 LIBZOBJS=$(BUNDLED_LIBZ) | 41 LIBZOBJS=$(BUNDLED_LIBZ) |
33 | 42 |
34 else | 43 else |
35 | 44 |
36 MEM:=mem.o | 45 MEM:=mem.o |
42 CFLAGS:=-std=gnu99 -Wreturn-type -Werror=return-type -Werror=implicit-function-declaration -Wno-unused-value $(HAS_PROC) -DHAVE_UNISTD_H | 51 CFLAGS:=-std=gnu99 -Wreturn-type -Werror=return-type -Werror=implicit-function-declaration -Wno-unused-value $(HAS_PROC) -DHAVE_UNISTD_H |
43 | 52 |
44 ifeq ($(OS),Darwin) | 53 ifeq ($(OS),Darwin) |
45 LIBS=sdl2 glew | 54 LIBS=sdl2 glew |
46 FONT:=nuklear_ui/font_mac.o | 55 FONT:=nuklear_ui/font_mac.o |
47 else | 56 SO:=dylib |
57 else | |
58 SO:=so | |
48 | 59 |
49 ifdef USE_FBDEV | 60 ifdef USE_FBDEV |
50 LIBS=alsa | 61 LIBS=alsa |
51 ifndef NOGL | 62 ifndef NOGL |
52 LIBS+=glesv2 egl | 63 LIBS+=glesv2 egl |
96 LDFLAGS+= $(shell pkg-config --libs gl) | 107 LDFLAGS+= $(shell pkg-config --libs gl) |
97 endif | 108 endif |
98 endif #Darwin | 109 endif #Darwin |
99 | 110 |
100 else | 111 else |
101 ifeq ($(MAKECMDGOALS),libblastem.so) | 112 ifeq ($(MAKECMDGOALS),libblastem.$(SO)) |
102 LDFLAGS:=-lm | 113 LDFLAGS:=-lm |
103 else | 114 else |
104 CFLAGS:=$(shell pkg-config --cflags-only-I $(LIBS)) $(CFLAGS) | 115 CFLAGS:=$(shell pkg-config --cflags-only-I $(LIBS)) $(CFLAGS) |
105 LDFLAGS:=-lm $(shell pkg-config --libs $(LIBS)) | 116 LDFLAGS:=-lm $(shell pkg-config --libs $(LIBS)) |
106 ifdef USE_FBDEV | 117 ifdef USE_FBDEV |
202 | 213 |
203 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 \ | 214 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 \ |
204 realtec.o i2c.o nor.o sega_mapper.o multi_game.o megawifi.o $(NET) serialize.o $(TERMINAL) $(CONFIGOBJS) gst.o \ | 215 realtec.o i2c.o nor.o sega_mapper.o multi_game.o megawifi.o $(NET) serialize.o $(TERMINAL) $(CONFIGOBJS) gst.o \ |
205 $(M68KOBJS) $(TRANSOBJS) $(AUDIOOBJS) saves.o zip.o bindings.o jcart.o | 216 $(M68KOBJS) $(TRANSOBJS) $(AUDIOOBJS) saves.o zip.o bindings.o jcart.o |
206 | 217 |
207 LIBOBJS=libblastem.o system.o genesis.o debug.o gdb_remote.o vdp.o io.o romdb.o hash.o menu.o xband.o realtec.o \ | 218 LIBOBJS=libblastem.o system.o genesis.o debug.o gdb_remote.o vdp.o io.o romdb.o hash.o xband.o realtec.o \ |
208 i2c.o nor.o sega_mapper.o multi_game.o megawifi.o $(NET) serialize.o $(TERMINAL) $(CONFIGOBJS) gst.o \ | 219 i2c.o nor.o sega_mapper.o multi_game.o megawifi.o $(NET) serialize.o $(TERMINAL) $(CONFIGOBJS) gst.o \ |
209 $(M68KOBJS) $(TRANSOBJS) $(AUDIOOBJS) saves.o jcart.o rom.db.o | 220 $(M68KOBJS) $(TRANSOBJS) $(AUDIOOBJS) saves.o jcart.o rom.db.o |
210 | 221 |
211 ifdef NONUKLEAR | 222 ifdef NONUKLEAR |
212 CFLAGS+= -DDISABLE_NUKLEAR | 223 CFLAGS+= -DDISABLE_NUKLEAR |
248 ALL=dis$(EXE) zdis$(EXE) stateview$(EXE) vgmplay$(EXE) blastem$(EXE) | 259 ALL=dis$(EXE) zdis$(EXE) stateview$(EXE) vgmplay$(EXE) blastem$(EXE) |
249 ifneq ($(OS),Windows) | 260 ifneq ($(OS),Windows) |
250 ALL+= termhelper | 261 ALL+= termhelper |
251 endif | 262 endif |
252 | 263 |
253 ifeq ($(MAKECMDGOALS),libblastem.so) | 264 ifeq ($(MAKECMDGOALS),libblastem.$(SO)) |
254 CFLAGS+= -fpic -DIS_LIB | 265 CFLAGS+= -fpic -DIS_LIB |
255 endif | 266 endif |
256 | 267 |
257 all : $(ALL) | 268 all : $(ALL) |
258 | 269 |
259 libblastem.so : $(LIBOBJS) | 270 libblastem.$(SO) : $(LIBOBJS) |
260 $(CC) -shared -o $@ $^ $(LDFLAGS) | 271 $(CC) -shared -o $@ $^ $(LDFLAGS) |
261 | 272 |
262 blastem$(EXE) : $(MAINOBJS) | 273 blastem$(EXE) : $(MAINOBJS) |
263 $(CC) -o $@ $^ $(LDFLAGS) $(PROFFLAGS) | 274 $(CC) -o $@ $^ $(LDFLAGS) $(PROFFLAGS) |
264 $(FIXUP) ./$@ | 275 $(FIXUP) ./$@ |