Some documentation & makefile tweaks

This commit is contained in:
Ilari Liusvaara 2011-09-21 00:10:34 +03:00
parent 66fcf13980
commit aedd34d774
2 changed files with 47 additions and 26 deletions

View file

@ -1,7 +1,12 @@
EXCEUTABLE_SUFFIX = exe
OBJECT_SUFFIX = o
ARCHIVE_SUFFIX = a
FONT_SRC := unifontfull-5.1.20080820.hex FONT_SRC := unifontfull-5.1.20080820.hex
CC := g++-4.5 CC := g++-4.5
HOSTCC = $(CC) HOSTCC = $(CC)
OBJECTS = $(patsubst %.cpp,%.o,$(wildcard generic/*.cpp)) $(patsubst %.cpp,%.o,$(wildcard avidump/*.cpp)) fonts/font.o
OBJECTS = $(patsubst %.cpp,%.$(OBJECT_SUFFIX),$(wildcard generic/*.cpp)) $(patsubst %.cpp,%.$(OBJECT_SUFFIX),$(wildcard avidump/*.cpp)) fonts/font.$(OBJECT_SUFFIX)
GENERIC_LIBS = -ldl -lboost_iostreams -lboost_filesystem -lboost_system -lz GENERIC_LIBS = -ldl -lboost_iostreams -lboost_filesystem -lboost_system -lz
CFLAGS = $(USER_CFLAGS) CFLAGS = $(USER_CFLAGS)
HOSTCCFLAGS = $(USER_HOSTCCFLAGS) HOSTCCFLAGS = $(USER_HOSTCCFLAGS)
@ -10,14 +15,14 @@ PLATFORM = SDL
PLATFORM_CFLAGS = $(CFLAGS) PLATFORM_CFLAGS = $(CFLAGS)
PLATFORM_LDFLAGS = $(LDFLAGS) PLATFORM_LDFLAGS = $(LDFLAGS)
PROGRAMS = lsnes.exe movieinfo.exe lsnes-dumpavi.exe PROGRAMS = lsnes.$(EXECUTABLE_SUFFIX) movieinfo.$(EXECUTABLE_SUFFIX) lsnes-dumpavi.$(EXECUTABLE_SUFFIX)
#Lua. #Lua.
ifdef NO_LUA ifdef NO_LUA
CFLAGS += -DNO_LUA CFLAGS += -DNO_LUA
else else
OBJECTS += $(patsubst %.cpp,%.o,$(wildcard lua/*.cpp)) OBJECTS += $(patsubst %.cpp,%.$(OBJECT_SUFFIX),$(wildcard lua/*.cpp))
CFLAGS += $(shell pkg-config lua5.1 --cflags) CFLAGS += $(shell pkg-config lua5.1 --cflags)
LDFLAGS += $(shell pkg-config lua5.1 --libs) LDFLAGS += $(shell pkg-config lua5.1 --libs)
endif endif
@ -37,45 +42,45 @@ CFLAGS += -DBSNES_IS_COMPAT
endif endif
all: $(PROGRAMS) all: $(PROGRAMS)
.PRECIOUS: %.exe %.o .PRECIOUS: %.$(EXECUTABLE_SUFFIX) %.$(OBJECT_SUFFIX)
#Platform stuff. #Platform stuff.
ifeq ($(PLATFORM), SDL) ifeq ($(PLATFORM), SDL)
LSNES_MAIN = lsnes.o LSNES_MAIN = lsnes.$(OBJECT_SUFFIX)
PLATFORM_OBJECTS += $(patsubst %.cpp,%.o,$(wildcard SDL/*.cpp)) PLATFORM_OBJECTS += $(patsubst %.cpp,%.$(OBJECT_SUFFIX),$(wildcard SDL/*.cpp))
PLATFORM_CFLAGS += $(shell sdl-config --cflags) PLATFORM_CFLAGS += $(shell sdl-config --cflags)
PLATFORM_LDFLAGS += $(shell sdl-config --libs) PLATFORM_LDFLAGS += $(shell sdl-config --libs)
ifdef TEST_WIN32 ifdef TEST_WIN32
PLATFORM_LDFLAGS += -lSDLmain PLATFORM_LDFLAGS += -lSDLmain
endif endif
SDL/%.o: SDL/%.cpp SDL/%.$(OBJECT_SUFFIX): SDL/%.cpp
$(CC) -I. -Igeneric -g -std=c++0x -I$(BSNES_PATH) -c -o $@ $< $(CFLAGS) $(PLATFORM_CFLAGS) $(CC) -I. -Igeneric -g -std=c++0x -I$(BSNES_PATH) -c -o $@ $< $(CFLAGS) $(PLATFORM_CFLAGS)
lsnes.o: lsnes.cpp lsnes.$(OBJECT_SUFFIX): lsnes.cpp
$(CC) -I. -Igeneric -g -std=c++0x -I$(BSNES_PATH) -c -o $@ $< $(CFLAGS) $(PLATFORM_CFLAGS) $(CC) -I. -Igeneric -g -std=c++0x -I$(BSNES_PATH) -c -o $@ $< $(CFLAGS) $(PLATFORM_CFLAGS)
lsnes.exe: lsnes.o $(OBJECTS) $(PLATFORM_OBJECTS) lsnes.$(EXECUTABLE_SUFFIX): lsnes.$(OBJECT_SUFFIX) $(OBJECTS) $(PLATFORM_OBJECTS)
$(CC) -o $@ $^ $(BSNES_PATH)/out/libsnes.a $(LDFLAGS) $(PLATFORM_LDFLAGS) $(CC) -o $@ $^ $(BSNES_PATH)/out/libsnes.$(ARCHIVE_SUFFIX) $(LDFLAGS) $(PLATFORM_LDFLAGS)
else else
lsnes.o: lsnes.$(OBJECT_SUFFIX):
echo "Unsupported platform" $(PLATFORM) echo "Unsupported platform" $(PLATFORM)
false false
endif endif
%.exe: %.o $(OBJECTS) dummy/window-dummy.o %.$(EXECUTABLE_SUFFIX): %.$(OBJECT_SUFFIX) $(OBJECTS) dummy/window-dummy.$(OBJECT_SUFFIX)
$(CC) -o $@ $^ $(BSNES_PATH)/out/libsnes.a $(LDFLAGS) $(CC) -o $@ $^ $(BSNES_PATH)/out/libsnes.$(ARCHIVE_SUFFIX) $(LDFLAGS)
%.o: %.cpp %.$(OBJECT_SUFFIX): %.cpp
$(CC) -I. -Igeneric -g -std=c++0x -I$(BSNES_PATH) -c -o $@ $< $(CFLAGS) $(CC) -I. -Igeneric -g -std=c++0x -I$(BSNES_PATH) -c -o $@ $< $(CFLAGS)
fonts/font.o: fonts/$(FONT_SRC) fonts/parsehexfont.exe fonts/font.$(OBJECT_SUFFIX): fonts/$(FONT_SRC) fonts/parsehexfont.$(EXECUTABLE_SUFFIX)
fonts/parsehexfont.exe <fonts/$(FONT_SRC) >fonts/font.cpp fonts/parsehexfont.$(EXECUTABLE_SUFFIX) <fonts/$(FONT_SRC) >fonts/font.cpp
$(HOSTCC) -std=c++0x $(HOSTCCFLAGS) -c -o fonts/font.o fonts/font.cpp $(HOSTCC) -std=c++0x $(HOSTCCFLAGS) -c -o fonts/font.$(OBJECT_SUFFIX) fonts/font.cpp
$(HOSTCC) -std=c++0x $(HOSTCCFLAGS) -o fonts/verifyhexfont.exe fonts/verifyhexfont.cpp fonts/font.o $(HOSTCC) -std=c++0x $(HOSTCCFLAGS) -o fonts/verifyhexfont.$(EXECUTABLE_SUFFIX) fonts/verifyhexfont.cpp fonts/font.$(OBJECT_SUFFIX)
fonts/verifyhexfont.exe fonts/verifyhexfont.$(EXECUTABLE_SUFFIX)
fonts/parsehexfont.exe: fonts/parsehexfont.cpp fonts/parsehexfont.$(EXECUTABLE_SUFFIX): fonts/parsehexfont.cpp
$(HOSTCC) -std=c++0x $(HOSTCCFLAGS) -o $@ $^ $(HOSTCC) -std=c++0x $(HOSTCCFLAGS) -o $@ $^
clean: clean:
rm -f $(PROGRAMS) $(patsubst %.exe,%.o,$(PROGRAMS)) SDL/*.o avidump/*.o generic/*.o rm -f $(PROGRAMS) $(patsubst %.$(EXECUTABLE_SUFFIX),%.$(OBJECT_SUFFIX),$(PROGRAMS)) SDL/*.$(OBJECT_SUFFIX) avidump/*.$(OBJECT_SUFFIX) generic/*.$(OBJECT_SUFFIX)

View file

@ -2796,8 +2796,15 @@ NO_THREADS=1
\end_layout \end_layout
\begin_layout Standard \begin_layout Standard
Don't use threads (makes dumping slower, but threads probably only work Don't use threads on Linux.
on Linux). \end_layout
\begin_layout Subsubsection
USE_THREADS=1
\end_layout
\begin_layout Standard
Try to use threads even on non-Linux systems.
\end_layout \end_layout
\begin_layout Subsubsection \begin_layout Subsubsection
@ -2805,8 +2812,12 @@ CC=<compiler>
\end_layout \end_layout
\begin_layout Standard \begin_layout Standard
(cross) C++ compiler to use. Target C++ compiler to use.
Defaults to g++-4.5 Defaults to g++-4.5.
\end_layout
\begin_layout Standard
Note: If crosscompiling, this has to be crosscompiler.
\end_layout \end_layout
\begin_layout Subsubsection \begin_layout Subsubsection
@ -2814,10 +2825,15 @@ HOSTCC=<compiler>
\end_layout \end_layout
\begin_layout Standard \begin_layout Standard
(host) C++ compiler to use. Host C++ compiler to use.
Defaults to the same as CC. Defaults to the same as CC.
\end_layout \end_layout
\begin_layout Standard
Note: If crosscompiling, that has to be host compiler (the files produced
will be run in the build process!)
\end_layout
\begin_layout Subsubsection \begin_layout Subsubsection
BSNES_IS_COMPAT=1 BSNES_IS_COMPAT=1
\end_layout \end_layout