X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=Makefile;h=ebda569801cbd78d74258d152261c02c159c5d49;hb=8f77a3a3f10d94477f0c0734adfbd39e81173d6f;hp=6910b9566a8852a82b2aa0b55fd7388aaed2b23f;hpb=b017c0ee002a0d7b48da5b891055a4e8d2106c38;p=drnoksnes diff --git a/Makefile b/Makefile index 6910b95..ebda569 100644 --- a/Makefile +++ b/Makefile @@ -1,33 +1,39 @@ #!/usr/bin/make -CPPFLAGS := -I. $(shell sdl-config --cflags) $(shell pkg-config --cflags x11) -I/usr/include/hgw -LDLIBS := -lz $(shell sdl-config --libs) $(shell pkg-config --libs x11) -lpopt -lhgw +CPPFLAGS := -I. $(shell sdl-config --cflags) $(shell pkg-config --cflags x11) +LDLIBS := -lz $(shell sdl-config --libs) $(shell pkg-config --libs x11) -lpopt -include config.mk -# GUI needs this -export DESTDIR - -# Configuration settings -CONF_BUILD_ASM_CPU=0 -CONF_BUILD_ASM_SPC700=0 -CONF_BUILD_ASM_SA1=0 # Still not there -CONF_XSP=0 - -# Sane defaults (override if needed) +# Sane defaults +CONF_GUI?=1 ifeq ($(ARCH),armel) - CONF_BUILD_ASM_CPU=1 - CONF_BUILD_ASM_SPC700=1 - CONF_XSP=1 - CONF_BUILD_MISC_ROUTINES=misc_armel + CONF_BUILD_ASM_CPU?=1 + CONF_BUILD_ASM_SPC700?=1 + CONF_BUILD_ASM_SA1?=0 # Still not there + CONF_BUILD_MISC_ROUTINES?=misc_armel else ifeq ($(ARCH),i386) - CONF_BUILD_MISC_ROUTINES=misc_i386 + CONF_BUILD_ASM_CPU?=0 + CONF_BUILD_ASM_SPC700?=0 + CONF_BUILD_ASM_SA1?=0 + CONF_BUILD_MISC_ROUTINES?=misc_i386 +else ifeq ($(ARCH),amd64) + CONF_BUILD_ASM_CPU?=0 + CONF_BUILD_ASM_SPC700?=0 + CONF_BUILD_ASM_SA1?=0 + CONF_BUILD_MISC_ROUTINES?=misc_amd64 endif +# Hardware pixel doubling (in N8x0) +CONF_XSP?=0 +# Hildon Desktop compositing (in Fremantle) +CONF_HD?=0 +# Link to libzeemote +CONF_ZEEMOTE?=0 # SNES stuff OBJS = apu.o c4.o c4emu.o cheats.o cheats2.o clip.o cpu.o cpuexec.o data.o -OBJS += dma.o dsp1.o fxemu.o fxinst.o gfx.o globals.o loadzip.o memmap.o netplay.o ppu.o -OBJS += sa1.o sdd1.o sdd1emu.o snapshot.o soundux.o spc700.o srtc.o tile.o +OBJS += dma.o dsp1.o font.o fxemu.o fxinst.o gfx.o globals.o loadzip.o memmap.o +OBJS += ppu.o sa1.o sdd1.o sdd1emu.o snapshot.o soundux.o spc700.o srtc.o tile.o ifeq ($(CONF_BUILD_ASM_CPU), 1) # ASM CPU Core from yoyofr's OpenSnes9X @@ -48,11 +54,6 @@ else OBJS += sa1cpu.o endif -ifeq ($(CONF_XSP), 1) - CPPFLAGS += -DCONF_XSP=1 $(shell pkg-config --cflags xsp) - LDLIBS += $(shell pkg-config --libs xsp) -endif - OBJS += $(CONF_BUILD_MISC_ROUTINES).o # from open-whatever sdk @@ -60,17 +61,44 @@ OBJS += unzip.o ioapi.o # my extensions to snes9x (speedhacks support) OBJS += hacks.o # the glue code that sticks it all together in a monstruous way -OBJS += platform/path.o platform/config.o platform/hgw.o +OBJS += platform/path.o platform/config.o OBJS += platform/sdl.o platform/sdlv.o platform/sdla.o platform/sdli.o +OBJS += platform/sdlvscalers.o + +ifeq ($(CONF_XSP), 1) + CPPFLAGS += -DCONF_XSP=1 $(shell pkg-config --cflags xsp) + LDLIBS += $(shell pkg-config --libs xsp) +endif +ifeq ($(CONF_HD), 1) + CPPFLAGS += -DCONF_HD=1 + LDLIBS += -lSDL_haa + CONF_EXIT_BUTTON ?= 1 +endif +ifeq ($(CONF_GUI), 1) + CPPFLAGS += -DCONF_GUI=1 $(shell pkg-config --cflags libosso gconf-2.0) + LDLIBS += $(shell pkg-config --libs libosso gconf-2.0) + OBJS += platform/osso.o +endif +ifeq ($(CONF_EXIT_BUTTON), 1) + CPPFLAGS += -DCONF_EXIT_BUTTON=1 + LDLIBS += -lSDL_image + OBJS += platform/sdlvexit.o +endif +ifeq ($(CONF_ZEEMOTE), 1) + CPPFLAGS += -DCONF_ZEEMOTE=1 + LDLIBS += -lzeemote -lzeemote-conf -lbluetooth + OBJS += platform/zeemote.o +endif # automatic dependencies DEPS := $(OBJS:.o=.d) -all: drnoksnes gui +all: drnoksnes -clean: gui_clean +clean: rm -f drnoksnes *.o *.d platform/*.o platform/*.d rm -f build-stamp configure-stamp + echo "$(OBJS)" remake: clean deps all @@ -81,7 +109,6 @@ drnoksnes: $(OBJS) install: drnoksnes install drnoksnes $(DESTDIR)/usr/games - $(MAKE) -C gui install deps: $(DEPS) %.d: %.cpp @@ -91,11 +118,28 @@ deps: $(DEPS) %.d: %.s @touch $@ +# GUI gui: $(MAKE) -C gui all gui_clean: $(MAKE) -C gui clean + +gui_install: + $(MAKE) -C gui install DESTDIR="$(DESTDIR)" + +ifeq ($(CONF_GUI), 1) +all: gui +clean: gui_clean +install: gui_install +endif + +profclean: clean + find . -name '*.gcno' -delete + find . -name '*.gcda' -delete + +distclean: profclean clean + rm -f config.mk -.PHONY: all clean remake deps install gui gui_clean +.PHONY: all clean remake deps install gui gui_clean distclean