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) ./$@