3 CPPFLAGS := -I. $(shell sdl-config --cflags) $(shell pkg-config --cflags x11)
4 LDLIBS := -lz $(shell sdl-config --libs) $(shell pkg-config --libs x11) -lpopt
12 CONF_BUILD_ASM_SPC700?=1
13 CONF_BUILD_ASM_SA1?=0 # Still not there
14 CONF_BUILD_MISC_ROUTINES?=misc_armel
15 else ifeq ($(ARCH),i386)
17 CONF_BUILD_ASM_SPC700?=0
19 CONF_BUILD_MISC_ROUTINES?=misc_i386
20 else ifeq ($(ARCH),amd64)
22 CONF_BUILD_ASM_SPC700?=0
24 CONF_BUILD_MISC_ROUTINES?=misc_amd64
26 # PNG screenshot support (requires libpng)
28 # Hardware pixel doubling (in N8x0)
30 # Hildon Desktop compositing (in Fremantle)
36 OBJS = apu.o c4.o c4emu.o cheats.o cheats2.o clip.o cpu.o cpuexec.o data.o
37 OBJS += dma.o dsp1.o font.o fxemu.o fxinst.o gfx.o globals.o loadzip.o memmap.o
38 OBJS += ppu.o sa1.o sdd1.o sdd1emu.o snapshot.o soundux.o spc700.o srtc.o tile.o
40 ifeq ($(CONF_BUILD_ASM_CPU), 1)
41 # ASM CPU Core from yoyofr's OpenSnes9X
42 OBJS += os9x_asm_cpu.o os9x_65c816.o
43 CPPFLAGS += -DCONF_BUILD_ASM_CPU=1
48 ifeq ($(CONF_BUILD_ASM_SPC700), 1)
50 CPPFLAGS += -DCONF_BUILD_ASM_SPC700=1
53 ifeq ($(CONF_BUILD_ASM_SA1), 1)
59 OBJS += $(CONF_BUILD_MISC_ROUTINES).o
61 # from open-whatever sdk
62 OBJS += unzip.o ioapi.o
63 # my extensions to snes9x (speedhacks support)
65 # the glue code that sticks it all together in a monstruous way
66 OBJS += platform/path.o platform/config.o
67 OBJS += platform/sdl.o platform/sdlv.o platform/sdla.o platform/sdli.o
68 OBJS += platform/sdlvscalers.o
71 CPPFLAGS += -DCONF_PNG=1 $(shell pkg-config --cflags libpng)
72 LDLIBS += $(shell pkg-config --libs libpng)
76 CPPFLAGS += -DCONF_XSP=1 $(shell pkg-config --cflags xsp)
77 LDLIBS += $(shell pkg-config --libs xsp)
80 CPPFLAGS += -DCONF_HD=1
85 CPPFLAGS += -DCONF_GUI=1 $(shell pkg-config --cflags libosso gconf-2.0)
86 LDLIBS += $(shell pkg-config --libs libosso gconf-2.0)
87 OBJS += platform/osso.o
89 ifeq ($(CONF_EXIT_BUTTON), 1)
90 CPPFLAGS += -DCONF_EXIT_BUTTON=1
92 OBJS += platform/sdlvexit.o
94 ifeq ($(CONF_ZEEMOTE), 1)
95 CPPFLAGS += -DCONF_ZEEMOTE=1
96 LDLIBS += -lzeemote -lzeemote-conf -lbluetooth
97 OBJS += platform/zeemote.o
100 # automatic dependencies
101 DEPS := $(OBJS:.o=.d)
106 rm -f drnoksnes *.o *.d platform/*.o platform/*.d
107 rm -f build-stamp configure-stamp
110 remake: clean deps all
115 $(CXX) $(CXXFLAGS) $(LDFLAGS) $^ $(LDLIBS) -o $@
118 install drnoksnes $(DESTDIR)/usr/games
122 @$(CXX) $(CPPFLAGS) -MM $^ -MF $@ -MT $@ -MT $*.o
124 @$(CC) $(CPPFLAGS) -MM $^ -MF $@ -MT $@ -MT $*.o
136 $(MAKE) -C gui install DESTDIR="$(DESTDIR)"
138 ifeq ($(CONF_GUI), 1)
145 find . -name '*.gcno' -delete
146 find . -name '*.gcda' -delete
148 distclean: profclean clean
151 .PHONY: all clean remake deps install gui gui_clean distclean