bsnes/icarus/GNUmakefile
Tim Allen 6c83329cae Update to v097r13 release.
byuu says:

I refactored my schedulers. Added about ten lines to each scheduler, and
removed about 100 lines of calling into internal state in the scheduler
for the FC,SFC cores and about 30-40 lines for the other cores. All of
its state is now private.

Also reworked all of the entry points to static auto Enter() and auto
main(). Where Enter() handles all the synchronization stuff, and main()
doesn't need the while(true); loop forcing another layer of indentation
everywhere.

Took a few hours to do, but totally worth it. I'm surprised I didn't do
this sooner.

Also updated icarus gmake install rule to copy over the database.
2016-02-09 22:51:12 +11:00

56 lines
1.6 KiB
Makefile

include ../nall/GNUmakefile
include ../hiro/GNUmakefile
name := icarus
flags += -I.. -O3
link +=
ifeq ($(platform),windows)
link += -mwindows
endif
objects := obj/hiro.o
objects += obj/icarus.o
objects += $(if $(call streq,$(platform),windows),obj/resource.o)
all: $(objects)
$(call unique,$(compiler) -o out/$(name) $(objects) $(link) $(hirolink))
ifeq ($(platform),macosx)
@if [ -d out/$(name).app ]; then rm -r out/$(name).app; fi
mkdir -p out/$(name).app/Contents/MacOS/
mv out/$(name) out/$(name).app/Contents/MacOS/
cp $(name).plist out/$(name).app/Contents/Info.plist
endif
obj/hiro.o: ../hiro/hiro.cpp
$(compiler) $(hiroflags) -o obj/hiro.o -c ../hiro/hiro.cpp
obj/icarus.o: icarus.cpp $(call rwildcard,core/) $(call rwildcard,heuristics/) $(call rwildcard,ui/)
$(compiler) $(cppflags) $(flags) -o obj/icarus.o -c icarus.cpp
obj/resource.o:
windres ../hiro/windows/hiro.rc obj/resource.o
clean:
ifeq ($(platform),macosx)
@if [ -d out/$(name).app ]; then rm out/$(name).app; fi
endif
$(call delete,obj/*)
$(call delete,out/*)
install:
ifeq ($(platform),macosx)
cp -R out/$(name).app /Applications/$(name).app
else ifneq ($(filter $(platform),linux bsd),)
mkdir -p $(prefix)/share/$(name)/Database/
if [ -f out/$(name) ]; then cp out/$(name) $(prefix)/bin/$(name); fi
cp -R Database/ $(prefix)/share/$(name)/Database/
endif
uninstall:
ifeq ($(platform),macosx)
if [ -d /Applications/$(name).app ]; then rm -r /Applications/$(name).app; fi
else ifneq ($(filter $(platform),linux bsd),)
if [ -f $(prefix)/bin/$(name) ]; then rm $(prefix)/bin/$(name); fi
endif