X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=Makefile;h=38cb343e969394d7c4128eb82f26bc714f7ef1d1;hb=d3a5cc5d68bad93ea02c70f074742a54a89a5d70;hp=24aac7352687f7a13c9ecdb88e9b693582795699;hpb=64fe843d86ff330bc4b341559e9e4a556d784372;p=drnoksnes diff --git a/Makefile b/Makefile index 24aac73..38cb343 100644 --- a/Makefile +++ b/Makefile @@ -1,41 +1,39 @@ #!/usr/bin/make -CPPFLAGS := -I. $(shell sdl-config --cflags) $(shell pkg-config --cflags x11 xsp) -I/usr/include/hgw -LDLIBS := -lz $(shell sdl-config --libs) $(shell pkg-config --libs x11 xsp) -lpopt -lhgw - -# Default CFLAGS for building in N8x0 -ARCH ?= arm -CFLAGS ?= -DMAEMO -DMAEMO_VERSION=4 -march=armv6j -mtune=arm1136jf-s -mfpu=vfp -mfloat-abi=softfp -O2 -g -Wall -static-libgcc -ASFLAGS ?= -march=armv6j -mfpu=vfp -mfloat-abi=softfp -g -CXXFLAGS ?= $(CFLAGS) - -GAME_VERSION ?= $(shell head -n 1 debian/changelog | sed 's/[^0-9.-]//g')-git -export GAME_VERSION -export DESTDIR - -# Configuration settings -CONF_BUILD_ASM_CPU=0 -CONF_BUILD_ASM_SPC700=0 - -ifeq ($(ARCH),arm) - CONF_BUILD_ASM_CPU=1 - CONF_BUILD_ASM_SPC700=1 - CONF_BUILD_ROUTINES=misc_armel -else ifeq ($(ARCH),intel) - CONF_BUILD_ROUTINES=misc_i386 +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 + +# Sane defaults +CONF_GUI?=1 +ifeq ($(ARCH),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_ASM_CPU?=0 + CONF_BUILD_ASM_SPC700?=0 + CONF_BUILD_ASM_SA1?=0 + CONF_BUILD_MISC_ROUTINES?=misc_i386 endif +# Hardware pixel doubling (in N8x0) +CONF_XSP?=0 +# Hildon Desktop compositing (in Fremantle) +CONF_HD?=0 # SNES stuff -OBJS = 2xsaiwin.o 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 = apu.o c4.o c4emu.o cheats.o cheats2.o clip.o cpu.o cpuexec.o data.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 OBJS += os9x_asm_cpu.o os9x_65c816.o CPPFLAGS += -DCONF_BUILD_ASM_CPU=1 else - OBJS += cpuops.o sa1cpu.o + OBJS += cpuops.o endif ifeq ($(CONF_BUILD_ASM_SPC700), 1) @@ -43,22 +41,49 @@ ifeq ($(CONF_BUILD_ASM_SPC700), 1) CPPFLAGS += -DCONF_BUILD_ASM_SPC700=1 endif -OBJS += $(CONF_BUILD_ROUTINES).o +ifeq ($(CONF_BUILD_ASM_SA1), 1) + crash +else + OBJS += sa1cpu.o +endif + +OBJS += $(CONF_BUILD_MISC_ROUTINES).o # from open-whatever sdk 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 # 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 @@ -71,7 +96,6 @@ drnoksnes: $(OBJS) install: drnoksnes install drnoksnes $(DESTDIR)/usr/games - $(MAKE) -C gui install deps: $(DEPS) %.d: %.cpp @@ -81,11 +105,24 @@ deps: $(DEPS) %.d: %.s @touch $@ +# GUI gui: $(MAKE) -C gui all - + gui_clean: $(MAKE) -C gui clean -.PHONY: all clean remake deps install gui gui_clean +gui_install: + $(MAKE) -C gui install DESTDIR="$(DESTDIR)" + +ifeq ($(CONF_GUI), 1) +all: gui +clean: gui_clean +install: gui_install +endif + +distclean: clean + rm -f config.mk + +.PHONY: all clean remake deps install gui gui_clean distclean