2011-09-21 02:58:15 +03:00
|
|
|
EXECUTABLE_SUFFIX = exe
|
2011-09-21 00:10:34 +03:00
|
|
|
OBJECT_SUFFIX = o
|
|
|
|
ARCHIVE_SUFFIX = a
|
2011-09-13 17:50:18 +03:00
|
|
|
FONT_SRC := unifontfull-5.1.20080820.hex
|
2011-10-14 15:05:13 +03:00
|
|
|
CC := g++-4.6
|
2011-09-13 17:50:18 +03:00
|
|
|
HOSTCC = $(CC)
|
2011-10-25 10:58:26 +03:00
|
|
|
LUAPACKAGE=lua5.1
|
2011-09-21 00:10:34 +03:00
|
|
|
|
2011-09-26 19:02:43 +03:00
|
|
|
OBJECTS = $(patsubst %.cpp,%.$(OBJECT_SUFFIX),$(wildcard generic/*.cpp)) $(patsubst %.cpp,%.$(OBJECT_SUFFIX),$(wildcard avidump/*.cpp)) fonts/font.$(OBJECT_SUFFIX)
|
2011-10-29 15:58:25 +03:00
|
|
|
ifndef NO_LIBDL
|
|
|
|
GENERIC_LIBS += -ldl
|
|
|
|
endif
|
|
|
|
GENERIC_LIBS += -lboost_iostreams -lboost_filesystem -lboost_system -lz
|
2011-09-18 12:42:33 +03:00
|
|
|
CFLAGS = $(USER_CFLAGS)
|
2011-09-13 17:50:18 +03:00
|
|
|
HOSTCCFLAGS = $(USER_HOSTCCFLAGS)
|
2011-09-25 11:48:36 +03:00
|
|
|
LDFLAGS = $(GENERIC_LIBS) $(USER_LDFLAGS)
|
2011-10-28 22:25:07 +03:00
|
|
|
GRAPHICS = SDL
|
|
|
|
SOUND = SDL
|
|
|
|
JOYSTICK = SDL
|
2011-11-01 00:25:48 +02:00
|
|
|
PLATFORM_CFLAGS = $(CFLAGS) $(PLATFORM_USER_CFLAGS)
|
|
|
|
PLATFORM_LDFLAGS = $(LDFLAGS) $(PLATFORM_USER_LDFLAGS)
|
2011-09-20 22:05:49 +03:00
|
|
|
|
2011-10-27 05:08:46 +03:00
|
|
|
PROGRAMS = lsnes.$(EXECUTABLE_SUFFIX) movieinfo.$(EXECUTABLE_SUFFIX) lsnes-dumpavi.$(EXECUTABLE_SUFFIX) sdmp2sox.$(EXECUTABLE_SUFFIX)
|
2011-10-28 22:25:07 +03:00
|
|
|
all: $(PROGRAMS)
|
2011-09-13 17:50:18 +03:00
|
|
|
|
2011-09-15 16:42:52 +03:00
|
|
|
#Lua.
|
2011-09-13 17:50:18 +03:00
|
|
|
ifdef NO_LUA
|
2011-09-18 12:42:33 +03:00
|
|
|
CFLAGS += -DNO_LUA
|
2011-09-13 17:50:18 +03:00
|
|
|
else
|
2011-09-21 00:10:34 +03:00
|
|
|
OBJECTS += $(patsubst %.cpp,%.$(OBJECT_SUFFIX),$(wildcard lua/*.cpp))
|
2011-10-29 15:36:01 +03:00
|
|
|
ifndef NO_LUA_SEARCH
|
2011-10-25 10:58:26 +03:00
|
|
|
CFLAGS += $(shell pkg-config $(LUAPACKAGE) --cflags)
|
|
|
|
LDFLAGS += $(shell pkg-config $(LUAPACKAGE) --libs)
|
2011-09-13 17:50:18 +03:00
|
|
|
endif
|
2011-10-29 15:36:01 +03:00
|
|
|
endif
|
2011-09-13 17:50:18 +03:00
|
|
|
|
2011-09-20 22:05:49 +03:00
|
|
|
#Some misc defines.
|
2011-09-25 11:48:36 +03:00
|
|
|
ifdef NO_TIME_INTERCEPT
|
|
|
|
CFLAGS += -DNO_TIME_INTERCEPT
|
|
|
|
else
|
|
|
|
LDFLAGS += -Wl,--wrap,time
|
|
|
|
endif
|
2011-09-13 17:50:18 +03:00
|
|
|
ifdef NO_THREADS
|
|
|
|
CFLAGS += -DNO_THREADS
|
|
|
|
endif
|
2011-09-20 22:05:49 +03:00
|
|
|
ifdef USE_THREADS
|
|
|
|
CFLAGS += -DUSE_THREADS
|
|
|
|
endif
|
|
|
|
ifdef TEST_WIN32
|
|
|
|
CFLAGS += -DTEST_WIN32_CODE
|
|
|
|
endif
|
2011-09-13 17:50:18 +03:00
|
|
|
ifdef BSNES_IS_COMPAT
|
|
|
|
CFLAGS += -DBSNES_IS_COMPAT
|
|
|
|
endif
|
2011-10-28 22:25:07 +03:00
|
|
|
ifeq ($(JOYSTICK), SDL)
|
2011-10-29 15:28:25 +03:00
|
|
|
ifneq ($(GRAPHICS), SDL)
|
|
|
|
$(error "SDL Joystick requires SDL graphics")
|
|
|
|
endif
|
2011-10-30 18:42:43 +02:00
|
|
|
PLATFORM_OBJECTS += platform/SDL/joystick-sdl.$(OBJECT_SUFFIX)
|
2011-10-28 22:25:07 +03:00
|
|
|
else
|
|
|
|
ifeq ($(JOYSTICK), DUMMY)
|
2011-10-29 15:28:25 +03:00
|
|
|
CFLAGS += -DSDL_NO_JOYSTICK
|
2011-10-30 18:42:43 +02:00
|
|
|
PLATFORM_OBJECTS += platform/dummy/joystick-dummy.$(OBJECT_SUFFIX)
|
2011-10-28 22:25:07 +03:00
|
|
|
else
|
2011-10-30 21:45:02 +02:00
|
|
|
ifeq ($(JOYSTICK), EVDEV)
|
|
|
|
CFLAGS += -DSDL_NO_JOYSTICK
|
2011-10-31 11:53:21 +02:00
|
|
|
PLATFORM_OBJECTS += platform/evdev/joystick-evdev.$(OBJECT_SUFFIX) platform/evdev/axes.$(OBJECT_SUFFIX) platform/evdev/buttons.$(OBJECT_SUFFIX)
|
2011-10-30 21:45:02 +02:00
|
|
|
else
|
2011-10-28 22:25:07 +03:00
|
|
|
$(error "Unsupported joystick type")
|
|
|
|
endif
|
|
|
|
endif
|
2011-10-30 21:45:02 +02:00
|
|
|
endif
|
2011-09-13 17:50:18 +03:00
|
|
|
|
2011-10-28 22:25:07 +03:00
|
|
|
ifeq ($(SOUND), SDL)
|
2011-10-29 15:28:25 +03:00
|
|
|
ifneq ($(GRAPHICS), SDL)
|
|
|
|
$(error "SDL Sound requires SDL graphics")
|
|
|
|
endif
|
2011-10-30 18:42:43 +02:00
|
|
|
PLATFORM_OBJECTS += platform/SDL/sound-sdl.$(OBJECT_SUFFIX)
|
2011-10-28 22:25:07 +03:00
|
|
|
else
|
2011-10-28 23:25:42 +03:00
|
|
|
ifeq ($(SOUND), PORTAUDIO)
|
2011-10-30 18:42:43 +02:00
|
|
|
PLATFORM_OBJECTS += platform/portaudio/sound-portaudio.$(OBJECT_SUFFIX)
|
2011-10-28 23:25:42 +03:00
|
|
|
PLATFORM_LDFLAGS += -lportaudio
|
|
|
|
else
|
2011-10-28 22:25:07 +03:00
|
|
|
ifeq ($(SOUND), DUMMY)
|
2011-10-30 18:42:43 +02:00
|
|
|
PLATFORM_OBJECTS += platform/dummy/sound-dummy.$(OBJECT_SUFFIX)
|
2011-10-28 22:25:07 +03:00
|
|
|
else
|
|
|
|
$(error "Unsupported sound type")
|
|
|
|
endif
|
|
|
|
endif
|
2011-10-28 23:25:42 +03:00
|
|
|
endif
|
2011-09-20 22:05:49 +03:00
|
|
|
|
2011-10-28 22:25:07 +03:00
|
|
|
ifeq ($(GRAPHICS), SDL)
|
2011-10-30 18:42:43 +02:00
|
|
|
PLATFORM_OBJECTS += platform/SDL/main-sdl.$(OBJECT_SUFFIX) platform/SDL/window-sdl.$(OBJECT_SUFFIX)
|
2011-10-29 15:36:01 +03:00
|
|
|
ifndef NO_SDL_SEARCH
|
2011-09-20 22:05:49 +03:00
|
|
|
PLATFORM_CFLAGS += $(shell sdl-config --cflags)
|
|
|
|
PLATFORM_LDFLAGS += $(shell sdl-config --libs)
|
2011-10-29 15:36:01 +03:00
|
|
|
endif
|
2011-09-20 22:05:49 +03:00
|
|
|
ifdef TEST_WIN32
|
|
|
|
PLATFORM_LDFLAGS += -lSDLmain
|
|
|
|
endif
|
2011-10-30 18:42:43 +02:00
|
|
|
platform/SDL/%.$(OBJECT_SUFFIX): platform/SDL/%.cpp
|
2011-09-21 02:58:15 +03:00
|
|
|
$(CC) -I. -Igeneric -g -std=gnu++0x -I$(BSNES_PATH) -c -o $@ $< $(CFLAGS) $(PLATFORM_CFLAGS)
|
2011-09-20 22:05:49 +03:00
|
|
|
else
|
2011-10-28 22:25:07 +03:00
|
|
|
$(error "Unsupported graphics type")
|
2011-09-20 22:05:49 +03:00
|
|
|
endif
|
|
|
|
|
2011-10-28 22:25:07 +03:00
|
|
|
.PRECIOUS: %.$(EXECUTABLE_SUFFIX) %.$(OBJECT_SUFFIX)
|
|
|
|
|
|
|
|
|
2011-10-30 18:42:43 +02:00
|
|
|
lsnes.$(EXECUTABLE_SUFFIX): $(OBJECTS) $(PLATFORM_OBJECTS)
|
|
|
|
$(CC) -o $@ $^ $(BSNES_PATH)/out/libsnes.$(ARCHIVE_SUFFIX) $(PLATFORM_LDFLAGS)
|
2011-10-28 22:25:07 +03:00
|
|
|
|
2011-10-30 18:42:43 +02:00
|
|
|
%.$(EXECUTABLE_SUFFIX): %.$(OBJECT_SUFFIX) $(OBJECTS) $(patsubst %.cpp,%.$(OBJECT_SUFFIX),$(wildcard platform/dummy/*.cpp))
|
2011-09-21 00:10:34 +03:00
|
|
|
$(CC) -o $@ $^ $(BSNES_PATH)/out/libsnes.$(ARCHIVE_SUFFIX) $(LDFLAGS)
|
2011-09-13 17:50:18 +03:00
|
|
|
|
2011-09-21 00:10:34 +03:00
|
|
|
%.$(OBJECT_SUFFIX): %.cpp
|
2011-09-21 02:58:15 +03:00
|
|
|
$(CC) -I. -Igeneric -g -std=gnu++0x -I$(BSNES_PATH) -c -o $@ $< $(CFLAGS)
|
2011-09-13 17:50:18 +03:00
|
|
|
|
2011-09-21 00:10:34 +03:00
|
|
|
fonts/font.$(OBJECT_SUFFIX): fonts/$(FONT_SRC) fonts/parsehexfont.$(EXECUTABLE_SUFFIX)
|
|
|
|
fonts/parsehexfont.$(EXECUTABLE_SUFFIX) <fonts/$(FONT_SRC) >fonts/font.cpp
|
2011-09-21 02:58:15 +03:00
|
|
|
$(CC) -std=gnu++0x $(HOSTCCFLAGS) -c -o fonts/font.$(OBJECT_SUFFIX) fonts/font.cpp
|
|
|
|
$(HOSTCC) -std=gnu++0x $(HOSTCCFLAGS) -o fonts/verifyhexfont.$(EXECUTABLE_SUFFIX) fonts/verifyhexfont.cpp fonts/font.cpp
|
2011-09-21 00:10:34 +03:00
|
|
|
fonts/verifyhexfont.$(EXECUTABLE_SUFFIX)
|
2011-09-13 17:50:18 +03:00
|
|
|
|
2011-09-21 00:10:34 +03:00
|
|
|
fonts/parsehexfont.$(EXECUTABLE_SUFFIX): fonts/parsehexfont.cpp
|
2011-09-21 02:58:15 +03:00
|
|
|
$(HOSTCC) -std=gnu++0x $(HOSTCCFLAGS) -o $@ $^
|
2011-09-13 17:50:18 +03:00
|
|
|
|
|
|
|
clean:
|
2011-10-30 18:42:43 +02:00
|
|
|
rm -f $(PROGRAMS) $(patsubst %.$(EXECUTABLE_SUFFIX),%.$(OBJECT_SUFFIX),$(PROGRAMS)) platform/*/*.$(OBJECT_SUFFIX) avidump/*.$(OBJECT_SUFFIX) generic/*.$(OBJECT_SUFFIX) lua/*.$(OBJECT_SUFFIX) fonts/font.o fonts/font.cpp
|