mirror of
https://github.com/rodamaral/lsnes.git
synced 2025-04-02 10:42:15 -04:00
40 lines
1.2 KiB
Makefile
40 lines
1.2 KiB
Makefile
ifdef WIN32
|
|
CROSS_PREFIX=i686-pc-mingw32.static-
|
|
GCC_SUFFIX=
|
|
GCC=$(CROSS_PREFIX)gcc$(GCC_SUFFIX)
|
|
GPP=$(CROSS_PREFIX)g++$(GCC_SUFFIX)
|
|
CFLAGS=-D__MSVCRT_VERSION__=0x0601 -fPIC -std=gnu++11 -g
|
|
LIBRARY_EXT=dll
|
|
EXE_EXT=.exe
|
|
else
|
|
CROSS_PREFIX=
|
|
GCC_SUFFIX=-4.9
|
|
GCC=$(CROSS_PREFIX)gcc$(GCC_SUFFIX)
|
|
GPP=$(CROSS_PREFIX)g++$(GCC_SUFFIX)
|
|
CFLAGS=-fPIC -std=gnu++11 -g
|
|
LIBRARY_EXT=so
|
|
EXE_EXT=
|
|
endif
|
|
|
|
all: core.$(LIBRARY_EXT) gbasm$(EXE_EXT)
|
|
|
|
bsnes/out/libsnes.a: FORCELOOK
|
|
make -C bsnes ui=ui-libsnes options=debugger profile=compatibility compiler=$(GCC)
|
|
|
|
gambatte/libgambatte/libgambatte.a: FORCELOOK
|
|
make -C gambatte OBJECT_SUFFIX=o ARCHIVE_SUFFIX=a CFLAGS="-g -std=gnu++11 -fPIC -O3" gambatte_compiler=$(GPP) REALRANLIB=$(CROSS_PREFIX)ranlib
|
|
|
|
libsnes.a: bsnes/out/libsnes.a
|
|
cp $^ $@
|
|
|
|
libgambatte.a: gambatte/libgambatte/libgambatte.a
|
|
cp $^ $@
|
|
|
|
core.$(LIBRARY_EXT): core-freestanding.cpp libsnes.a libgambatte.a callbacks.hpp controllerjson.hpp memregions.hpp strfmt.hpp c-interface.h debug.hpp registers.hpp tempmem.hpp c-interface-translate.hpp gbdisasm.hpp sram.hpp serialize.hpp
|
|
$(GPP) $(CFLAGS) -shared -o $@ $< -Wl,--exclude-libs,ALL libsnes.a libgambatte.a -Ibsnes -Igambatte
|
|
|
|
gbasm$(EXE_EXT): gbasm.cpp
|
|
$(GPP) $(CFLAGS) -o $@ $<
|
|
|
|
FORCELOOK:
|
|
@true
|