summaryrefslogtreecommitdiff
path: root/compile/linux
diff options
context:
space:
mode:
Diffstat (limited to 'compile/linux')
-rw-r--r--compile/linux/Makefile139
1 files changed, 139 insertions, 0 deletions
diff --git a/compile/linux/Makefile b/compile/linux/Makefile
new file mode 100644
index 0000000..03956b0
--- /dev/null
+++ b/compile/linux/Makefile
@@ -0,0 +1,139 @@
+CC = gcc
+CXX = g++
+LD = g++
+STRIP = strip --strip-all
+
+INCLUDES = -I../../includes -I../../psxdev -I../../generic/include \
+-I../../generic/lib/zlib/include \
+-I../../generic/lib/lua/include -I../../generic/lib/lua/includes \
+-I../../mogltk/include \
+`sdl-config --cflags`
+
+CPPFLAGS = $(INCLUDES) -O4 -march=i686 -DSTDC_HEADERS -DREADLINE_STATIC -DHAVE_UNISTD_H
+
+LDFLAGS = -march=i586 -O4 `sdl-config --libs`
+
+SOURCES = \
+../../Dalos/Dalos.cc ../../cd-tool.cpp
+
+MOGLTK_SOURCES = \
+../../mogltk/lib/base.cc ../../mogltk/lib/glwidgets.cc \
+../../mogltk/lib/engine.cc ../../mogltk/lib/mcolor.cc \
+../../mogltk/lib/font.cc ../../mogltk/lib/shape.cc \
+../../mogltk/lib/glbase.cc ../../mogltk/lib/sprite.cc \
+../../mogltk/lib/glfont.cc ../../mogltk/lib/texture.cc \
+../../mogltk/lib/glshape.cc ../../mogltk/lib/widgets.cc \
+../../mogltk/lib/glsprite.cc
+
+BALTISOT_SOURCES = \
+../../generic/lib/Image.cc ../../generic/lib/Main.cc \
+../../generic/lib/BLua.cc ../../generic/lib/Buffer.cc \
+../../generic/lib/ConfigFile.cc ../../generic/lib/Output.cc \
+../../generic/lib/Exceptions.cc ../../generic/lib/Regex.cc \
+../../generic/lib/Handle.cc ../../generic/lib/String.cc \
+../../generic/lib/Input.cc ../../generic/lib/fileutils.cc \
+../../generic/lib/LuaHandle.cc ../../generic/lib/generic.cc \
+../../generic/lib/checkargs.c ../../generic/lib/datecalc.c
+
+ZLIB_SOURCES = \
+../../generic/lib/zlib/src/adler32.c ../../generic/lib/zlib/src/inffast.c \
+../../generic/lib/zlib/src/compress.c ../../generic/lib/zlib/src/inflate.c \
+../../generic/lib/zlib/src/crc32.c ../../generic/lib/zlib/src/inftrees.c \
+../../generic/lib/zlib/src/deflate.c ../../generic/lib/zlib/src/infutil.c \
+../../generic/lib/zlib/src/gzio.c ../../generic/lib/zlib/src/trees.c \
+../../generic/lib/zlib/src/infblock.c ../../generic/lib/zlib/src/uncompr.c \
+../../generic/lib/zlib/src/infcodes.c ../../generic/lib/zlib/src/zutil.c
+
+LUA_SOURCES = \
+../../generic/lib/lua/src/lapi.c ../../generic/lib/lua/src/lparser.c \
+../../generic/lib/lua/src/lcode.c ../../generic/lib/lua/src/lstate.c \
+../../generic/lib/lua/src/ldebug.c ../../generic/lib/lua/src/lstring.c \
+../../generic/lib/lua/src/ldo.c ../../generic/lib/lua/src/ltable.c \
+../../generic/lib/lua/src/ldump.c ../../generic/lib/lua/src/ltests.c \
+../../generic/lib/lua/src/lfunc.c ../../generic/lib/lua/src/ltm.c \
+../../generic/lib/lua/src/lgc.c ../../generic/lib/lua/src/luacomp.c \
+../../generic/lib/lua/src/llex.c ../../generic/lib/lua/src/lundump.c \
+../../generic/lib/lua/src/lmem.c ../../generic/lib/lua/src/lvm.c \
+../../generic/lib/lua/src/lobject.c ../../generic/lib/lua/src/lzio.c \
+../../generic/lib/lua/src/lopcodes.c \
+../../generic/lib/lua/src/LuaLib/lauxlib.c \
+../../generic/lib/lua/src/LuaLib/lbaselib.c \
+../../generic/lib/lua/src/LuaLib/ldblib.c \
+../../generic/lib/lua/src/LuaLib/liolib.c \
+../../generic/lib/lua/src/LuaLib/lmathlib.c \
+../../generic/lib/lua/src/LuaLib/loadlib.c \
+../../generic/lib/lua/src/LuaLib/lstrlib.c \
+../../generic/lib/lua/src/LuaLib/ltablib.c
+
+PSX_SOURCES = \
+../../lib/cdabstract.cpp ../../lib/luacd.cpp \
+../../lib/cdreader.cpp ../../lib/luapsx.cpp \
+../../lib/cdutils.cpp ../../lib/lzss.cpp \
+ ../../lib/yazedc.cpp ../../lib/isobuilder.cpp
+
+PSXDEV_SOURCES = \
+../../psxdev/bs.c ../../psxdev/jfdctint.c ../../psxdev/xadecode.c \
+../../psxdev/idctfst.c ../../psxdev/vlc.c
+
+COMMON_SOURCES = \
+$(BALTISOT_SOURCES) $(ZLIB_SOURCES) $(REGEX_SOURCES) $(GETOPT_SOURCES)\
+$(LUA_SOURCES) $(PSX_SOURCES) $(PSXDEV_SOURCES) $(READLINE_SOURCES)
+
+WHOLE_SOURCES = $(SOURCES) $(COMMON_SOURCES) $(MOGLTK_SOURCES)
+
+ALL_OBJECTS = $(addsuffix .o, $(notdir $(basename $(WHOLE_SOURCES))))
+
+DALOS_OBJECTS = $(addsuffix .o, $(notdir $(basename $(COMMON_SOURCES) $(MOGLTK_SOURCES)))) Dalos.o
+
+CD_TOOL_OBJECTS = $(addsuffix .o, $(notdir $(basename $(COMMON_SOURCES)))) cd-tool.o
+
+all: cd-tool cd-tool-static
+
+stats:
+ @wc $(WHOLE_SOURCES)
+
+dist: all ../../cd-tool.lua ../../FAQ-cd.txt ../../COPYING
+ zip -j9 ../cd-tool-`date +%Y%m%d`-linux-dynamic.zip cd-tool ../../cd-tool.lua ../../FAQ-cd.txt ../../COPYING
+ zip -j9 ../cd-tool-`date +%Y%m%d`-linux-static.zip cd-tool-static ../../cd-tool.lua ../../FAQ-cd.txt ../../COPYING
+ #zip -j9 ../Dalos-`date +%Y%m%d`-linux-dynamic.zip Dalos ../../COPYING
+ #zip -j9 ../Dalos-`date +%Y%m%d`-linux-static.zip Dalos-static ../../COPYING
+
+Dalos: $(DALOS_OBJECTS)
+ $(LD) $(LDFLAGS) -o Dalos $(DALOS_OBJECTS) -lGL -lGLU
+ $(STRIP) Dalos
+ upx-nrv Dalos
+ cat ../../Dalos/Dalos.paq >> Dalos
+
+Dalos-static: $(DALOS_OBJECTS)
+ $(LD) $(LDFLAGS) -o Dalos-static $(DALOS_OBJECTS) -lGL -lGLU -static
+ $(STRIP) Dalos-static
+ #upx-nrv Dalos-static
+ cat ../../Dalos/Dalos.paq >> Dalos-static
+
+cd-tool: $(CD_TOOL_OBJECTS)
+ $(LD) $(LDFLAGS) -o cd-tool $(CD_TOOL_OBJECTS) -lreadline -lncurses
+ $(STRIP) cd-tool
+ upx-nrv cd-tool
+
+cd-tool-static: $(CD_TOOL_OBJECTS)
+ $(LD) $(LDFLAGS) -o cd-tool-static $(CD_TOOL_OBJECTS) -lreadline -lncurses -static
+ $(STRIP) cd-tool-static
+ upx-nrv cd-tool-static
+
+clean:
+ rm -f *.exe *.o
+
+
+
+
+define OBJECT_C_template
+ $(addsuffix .o, $(notdir $(basename $(1)))): $(src)
+ $$(CC) $$(CPPFLAGS) $$(CFLAGS) -c $(src)
+endef
+
+define OBJECT_CXX_template
+ $(addsuffix .o, $(notdir $(basename $(1)))): $(src)
+ $$(CXX) $$(CPPFLAGS) $$(CXXFLAGS) -c $(src)
+endef
+
+$(foreach src, $(WHOLE_SOURCES), $(if $(filter %.c, $(src)), $(eval $(call OBJECT_C_template, $(src))), $(eval $(call OBJECT_CXX_template, $(src)))))