Build: Fast global need-rebuild detection
[lsnes.git] / src / emulation / bsnes-legacy / Makefile
blob563fca013384ea955536d49d5fba931ce101e34f
1 ifdef BUILD_BSNES
2 OBJECTS=core.$(OBJECT_SUFFIX) scpu-disasm.$(OBJECT_SUFFIX) bitmap.$(OBJECT_SUFFIX)
3 BSNES_CFLAGS=
4 BSNES_LDFLAGS=
5 ifdef BSNES_IS_COMPAT
6 CFLAGS += -DBSNES_IS_COMPAT
7 BSNES_PROFILE_STRING=profile=compatibility
8 else
9 BSNES_PROFILE_STRING=profile=accuracy
10 endif
11 include ../../../bsnes/bsnes.mk
13 ifdef BSNES_SUPPORTS_DEBUGGER
14 BSNES_PROFILE_STRING+=options=debugger
15 CFLAGS += -DBSNES_HAS_DEBUGGER
16 endif
18 ifeq ($(BSNES_VERSION), 087)
19 BSNES_TARGET_STRING=target=libsnes
20 else
21 BSNES_TARGET_STRING=ui=ui-libsnes
22 endif
23 CFLAGS += -DBSNES_VERSION=\"${BSNES_VERSION}\"
24 CFLAGS += -DLIBSNES_INCLUDE_FILE=\"${LIBSNES_DIR}/libsnes.hpp\"
26 BSNES_LIBRARY=bsnes/out/libsnes.$(ARCHIVE_SUFFIX)
28 .PRECIOUS: %.$(OBJECT_SUFFIX) %.files
30 __all__.files: $(OBJECTS) ../../../$(BSNES_LIBRARY)
31 lua ../../genfilelist.lua $^ >$@
32 echo $(BSNES_LDFLAGS) ../$(BSNES_LIBRARY) >__all__.ldflags
34 ../../../$(BSNES_LIBRARY): forcelook
35 $(MAKE) -C ../../../bsnes $(BSNES_PROFILE_STRING) $(BSNES_TARGET_STRING)
36 $(REALRANLIB) $@
38 ports.inc: ports.json ../make-ports.exe
39 ../make-ports.exe <$< >$@
41 %.$(OBJECT_SUFFIX): %.cpp %.cpp.dep ports.inc
42 $(REALCC) -c -o $@ $< -I../../../include -I../../../bsnes $(CFLAGS) $(BSNES_CFLAGS)
43 else
45 OBJECTS=
46 __all__.files: $(OBJECTS)
47 lua ../../genfilelist.lua $^ >$@
48 echo >__all__.ldflags
50 endif
52 forcelook:
53 @true
55 precheck:
56 ../../../buildaux/mkdeps.exe ../../../include -- *.cpp
57 @true
59 clean:
60 rm -f *.$(OBJECT_SUFFIX) __all__.files __all__.ldflags
61 -make -C ../../../bsnes clean