# HG changeset patch # User Mike Pavone # Date 1554275649 25200 # Node ID 8500bd987ddacf309bda46f8ad10dc86fb3d2d14 # Parent 70a1304b432bd0a478799f0ac5b2e4eb3419d8cc Make libretro target successfully build for Windows and possibly Mac diff -r 70a1304b432b -r 8500bd987dda Makefile --- a/Makefile Sun Mar 31 14:53:29 2019 -0700 +++ b/Makefile Wed Apr 03 00:14:09 2019 -0700 @@ -25,10 +25,19 @@ FONT:=nuklear_ui/font_win.o NET:=net_win.o EXE:=.exe +SO:=dll +CPU:=i686 +ifeq ($(CPU),i686) CC:=i686-w64-mingw32-gcc-win32 -CFLAGS:=-std=gnu99 -Wreturn-type -Werror=return-type -Werror=implicit-function-declaration -I"$(SDL2_PREFIX)/include/SDL2" -I"$(GLEW_PREFIX)/include" -DGLEW_STATIC -LDFLAGS:= $(GLEW32S_LIB) -L"$(SDL2_PREFIX)/lib" -lm -lmingw32 -lSDL2main -lSDL2 -lws2_32 -lopengl32 -lglu32 -mwindows -CPU:=i686 +else +CC:=x86_64-w64-mingw32-gcc-win32 +endif +CFLAGS:=-std=gnu99 -Wreturn-type -Werror=return-type -Werror=implicit-function-declaration +LDFLAGS:=-lm -lmingw32 -lws2_32 -mwindows +ifneq ($(MAKECMDGOALS),libblastem.dll) +CFLAGS+= -I"$(SDL2_PREFIX)/include/SDL2" -I"$(GLEW_PREFIX)/include" -DGLEW_STATIC +LDFLAGS+= $(GLEW32S_LIB) -L"$(SDL2_PREFIX)/lib" -lSDL2main -lSDL2 -lopengl32 -lglu32 +endif LIBZOBJS=$(BUNDLED_LIBZ) else @@ -44,7 +53,9 @@ ifeq ($(OS),Darwin) LIBS=sdl2 glew FONT:=nuklear_ui/font_mac.o +SO:=dylib else +SO:=so ifdef USE_FBDEV LIBS=alsa @@ -98,7 +109,7 @@ endif #Darwin else -ifeq ($(MAKECMDGOALS),libblastem.so) +ifeq ($(MAKECMDGOALS),libblastem.$(SO)) LDFLAGS:=-lm else CFLAGS:=$(shell pkg-config --cflags-only-I $(LIBS)) $(CFLAGS) @@ -204,7 +215,7 @@ realtec.o i2c.o nor.o sega_mapper.o multi_game.o megawifi.o $(NET) serialize.o $(TERMINAL) $(CONFIGOBJS) gst.o \ $(M68KOBJS) $(TRANSOBJS) $(AUDIOOBJS) saves.o zip.o bindings.o jcart.o -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 \ +LIBOBJS=libblastem.o system.o genesis.o debug.o gdb_remote.o vdp.o io.o romdb.o hash.o xband.o realtec.o \ i2c.o nor.o sega_mapper.o multi_game.o megawifi.o $(NET) serialize.o $(TERMINAL) $(CONFIGOBJS) gst.o \ $(M68KOBJS) $(TRANSOBJS) $(AUDIOOBJS) saves.o jcart.o rom.db.o @@ -250,13 +261,13 @@ ALL+= termhelper endif -ifeq ($(MAKECMDGOALS),libblastem.so) +ifeq ($(MAKECMDGOALS),libblastem.$(SO)) CFLAGS+= -fpic -DIS_LIB endif all : $(ALL) -libblastem.so : $(LIBOBJS) +libblastem.$(SO) : $(LIBOBJS) $(CC) -shared -o $@ $^ $(LDFLAGS) blastem$(EXE) : $(MAINOBJS) diff -r 70a1304b432b -r 8500bd987dda libblastem.c --- a/libblastem.c Sun Mar 31 14:53:29 2019 -0700 +++ b/libblastem.c Wed Apr 03 00:14:09 2019 -0700 @@ -284,6 +284,11 @@ video_standard = std; } +int render_fullscreen(void) +{ + return 1; +} + void process_events() { static int16_t prev_state[2][RETRO_DEVICE_ID_JOYPAD_L2]; diff -r 70a1304b432b -r 8500bd987dda romdb.c --- a/romdb.c Sun Mar 31 14:53:29 2019 -0700 +++ b/romdb.c Wed Apr 03 00:14:09 2019 -0700 @@ -811,12 +811,14 @@ map->mask = 0xFF; map->write_16 = (write_16_fun)write_bank_reg_w; map->write_8 = (write_8_fun)write_bank_reg_b; +#ifndef IS_LIB } else if (!strcmp(dtype, "MENU")) { //fake hardware for supporting menu map->buffer = NULL; map->mask = 0xFF; map->write_16 = menu_write_w; map->read_16 = menu_read_w; +#endif } else if (!strcmp(dtype, "fixed")) { uint16_t *value = malloc(2); map->buffer = value;