CC = i586-mingw32msvc-gcc CXX = i586-mingw32msvc-g++ LD = i586-mingw32msvc-g++ STRIP = i586-mingw32msvc-strip INCLUDES = -I../../includes -I../../psxdev -I../../generic/include \ -I../../MSVC/regex -I../../MSVC/readline -I../../MSVC/getopt -I../../MSVC \ -I../../generic/lib/zlib/include \ -I../../generic/lib/lua/include -I../../generic/lib/lua/includes \ -I../../mogltk/include \ -I/usr/local/cross-tools/i386-mingw32msvc/include/SDL \ -I../.. CPPFLAGS = $(INCLUDES) -O4 -march=i686 -DSTDC_HEADERS -DREADLINE_STATIC -fexceptions LDFLAGS = -march=i586 -O4 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 \ ../../generic/lib/lua/src/LuaLib/ldirlib.c PSX_SOURCES = \ ../../lib/cdabstract.cpp ../../lib/luacd.cpp \ ../../lib/cdreader.cpp ../../lib/luapsx.cpp \ ../../lib/cdutils.cpp \ ../../lib/yazedc.cpp ../../lib/isobuilder.cpp PSXDEV_SOURCES = \ ../../psxdev/bs.c ../../psxdev/jfdctint.c ../../psxdev/xadecode.c \ ../../psxdev/idctfst.c ../../psxdev/vlc.c REGEX_SOURCES = \ ../../MSVC/regex/regex.c GETOPT_SOURCES = \ ../../MSVC/getopt/getopt.c ../../MSVC/getopt/getopt1.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)))) ALL_DEP = $(addsuffix .dep, $(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 CD_TOOL_DEP = $(addsuffix .dep, $(notdir $(basename $(COMMON_SOURCES)))) cd-tool.o all: dep cd-tool.exe Dalos.exe stats: @wc $(WHOLE_SOURCES) dist: all README-SDL.txt SDL.dll ../../cd-tool.lua ../../COPYING ../../FAQ-cd.txt zip -j9 ../cd-tool-`date +%Y%m%d`-win32.zip cd-tool.exe ../../cd-tool.lua ../../FAQ-cd.txt ../../COPYING zip -j9 ../Dalos-`date +%Y%m%d`-win32.zip Dalos.exe ../../COPYING README-SDL.txt SDL.dll Dalos.exe: $(DALOS_OBJECTS) $(LD) $(LDFLAGS) -o Dalos.exe $(DALOS_OBJECTS) -lmingw32 -L/usr/local/cross-tools/i386-mingw32msvc/lib -lmingw32 -lSDLmain -lSDL -mwindows -lopengl32 -lglu32 ../../libreadline-static.a $(STRIP) Dalos.exe upx-nrv -9 Dalos.exe cat ../../Dalos/Dalos.paq >> Dalos.exe cd-tool.exe: $(CD_TOOL_OBJECTS) $(LD) $(LDFLAGS) -o cd-tool.exe $(CD_TOOL_OBJECTS) ../../libreadline-static.a -mconsole $(STRIP) cd-tool.exe upx-nrv -9 cd-tool.exe clean: rm -f *.exe *.o *.dep dep: $(ALL_DEP) source: dep $(COMMON_SOURCES) ../../cd-tool.cpp for s in $(COMMON_SOURCES) ../../cd-tool.cpp ; do \ depfile=$${s/*\//} ; \ depfile=$${depfile/\.*/}.dep ; \ for f in `cat $$depfile | sed 's/\\\\//g' | tr \\ '\\012' | grep -v ^$$ | grep -v :` $$s; do \ install -D $$f tmp/`echo $$f | sed 's/\.\.\/\.\.\///'` ; \ done ; \ done (cd tmp ; zip -r9 ../../cd-tool-`date +%Y%m%d`-win32-fullsrc.zip .) rm -rf tmp -include $(ALL_OBJECTS:.o=.dep) define OBJECT_C_template $(addsuffix .o, $(notdir $(basename $(1)))): $(src) $$(CC) $$(CPPFLAGS) $$(CFLAGS) -c $(src) $(addsuffix .dep, $(notdir $(basename $(1)))): $(src) $$(CC) $$(CPPFLAGS) $$(CFLAGS) -MM $(src) -o $$@ endef define OBJECT_CXX_template $(addsuffix .o, $(notdir $(basename $(1)))): $(src) $$(CXX) $$(CPPFLAGS) $$(CXXFLAGS) -c $(src) $(addsuffix .dep, $(notdir $(basename $(1)))): $(src) $$(CXX) $$(CPPFLAGS) $$(CXXFLAGS) -MM $(src) -o $$@ endef $(foreach src, $(WHOLE_SOURCES), $(if $(filter %.c, $(src)), $(eval $(call OBJECT_C_template, $(src))), $(eval $(call OBJECT_CXX_template, $(src)))))