SYSTEM=$(shell uname) ifeq ($(SYSTEM),Darwin) CC = i386-mingw32-gcc CXX = i386-mingw32-g++ LD = i386-mingw32-g++ STRIP = i386-mingw32-strip else ifeq ($(SYSTEM),MINGW32_NT-5.1) CC = gcc CXX = g++ LD = g++ STRIP = strip else CC = i586-mingw32msvc-gcc CXX = i586-mingw32msvc-g++ LD = i586-mingw32msvc-g++ STRIP = i586-mingw32msvc-strip endif endif INCLUDES = \ -I../mogltk/include \ -I../Baltisot/include \ -I../Baltisot/lib/lua/include -I../Baltisot/lib/lua/includes \ -I../lua-modules/src \ -I../Baltisot/MSVC/iconv -I../Baltisot/MSVC/regex -I../Baltisot/MSVC \ -I../Mesa-7.0.3-mingw32/include \ -I../pthreads-w32-2-8-0-release/ \ -I../gnuwin32/include \ -I../tinyxml \ HAVES = -DHAVE_VSSCANF -DHAVE_LIBJPEG -DHAVE_MALLOC_H -DHAVE_BYTESWAP_H -DHAVE_UCL CPPFLAGS += $(INCLUDES) -g -fexceptions -DLUATASK_OMIT_COMMAND -DSTDC_HEADERS -DLIBICONV_PLUG -DREADLINE_STATIC -fexceptions -DWORDS_LITTLEENDIAN -march=i686 $(HAVES) -DUSE_MPQLIB -DFROM_LUAINTERFACE LDFLAGS_BASIC += -g -fexceptions LDFLAGS += $(LDFLAGS_BASIC) -Wl,--enable-auto-image-base -Wl,--export-dynamic --export-all-symbols -Wl,--enable-auto-import -fexceptions --enable-stdcall-fixup LIBS += -L../gnuwin32/lib ../libreadline-static.a -lz.dll -lucl.dll -lwsock32 -lws2_32 ../pthreads-w32-2-8-0-release/libpthreadGC2.a vpath %.c ../Baltisot/lib:../Baltisot/src:../Baltisot/lib/zlib/src:../Baltisot/lib/lua/src:../Baltisot/lib/lua/src/LuaLib:src:../paperIdol/src:../mogltk/lib:../tinyxml:../lua-modules/src:../Baltisot/MSVC/iconv:../Baltisot/MSVC/regex vpath %.cc ../Baltisot/lib:../Baltisot/src:../Baltisot/lib/zlib/src:../Baltisot/lib/lua/src:../Baltisot/lib/lua/src/LuaLib:src:../paperIdol/src:../mogltk/lib:../tinyxml:../lua-modules/src:../Baltisot/MSVC/iconv:../Baltisot/MSVC/regex vpath %.cpp ../Baltisot/lib:../Baltisot/src:../Baltisot/lib/zlib/src:../Baltisot/lib/lua/src:../Baltisot/lib/lua/src/LuaLib:src:../paperIdol/src:../mogltk/lib:../tinyxml:../lua-modules/src:../Baltisot/MSVC/iconv:../Baltisot/MSVC/regex vpath %.lua ../Baltisot/lib:../Baltisot/src LUAINTERFACE_SOURCES = \ lua-interface-main.c \ LUAINTERFACE_LDFLAGS = -Wl,--whole-archive ../Mesa-7.0.3-mingw32/lib/libGLU.a ../Mesa-7.0.3-mingw32/lib/libOSMesa.a -Wl,--no-whole-archive LUAINTERFACE_MAIN_SOURCES = \ lua-interface.cc \ lua-plugin.cc \ BALTISOT_SOURCES = \ Main.cc \ \ RandISAAC.cc \ Exceptions.cc \ String.cc \ Regex.cc \ \ Base64.cc \ Base85.cc \ \ Handle.cc \ Input.cc \ Output.cc \ Buffer.cc \ \ ConfigFile.cc \ \ Socket.cc \ \ Task.cc \ TaskMan.cc \ ChainTasks.cc \ CopyJob.cc \ ReadJob.cc \ HttpServ.cc \ Action.cc \ Domain.cc \ HtmlSkinner.cc \ Variables.cc \ Message.cc \ Form.cc \ SocketClient.cc \ HttpClient.cc \ MailClient.cc \ MailServer.cc \ HashFunction.cc \ \ BLua.cc \ LuaTask.cc \ LuaHandle.cc \ LuaCommandLine.cc \ \ fileutils.cc \ generic.cc \ checkargs.c \ datecalc.c \ \ hashtab.c \ recycle.c \ lookupa.c \ \ iconv.c \ localcharset.c \ relocatable.c \ \ msvc-regex.c \ \ md5.c \ sha1.c \ sha256.c \ LUA_SOURCES = \ lapi.c \ lcode.c \ ldebug.c \ ldo.c \ ldump.c \ lfunc.c \ lgc.c \ llex.c \ lmem.c \ lobject.c \ lopcodes.c \ lparser.c \ lstate.c \ lstring.c \ ltable.c \ ltests.c \ ltm.c \ luacomp.c \ lundump.c \ lvm.c \ lzio.c \ lprint.c \ \ linit.c \ lauxlib.c \ loadlib.c \ lbaselib.c \ ldblib.c \ ldirlib.c \ liolib.c \ loslib.c \ lmathlib.c \ lstrlib.c \ ltablib.c \ LUAC_SOURCES = \ luac.cc \ \ Main.cc \ Exceptions.cc \ String.cc \ \ Handle.cc \ Input.cc \ Output.cc \ Buffer.cc \ \ BLua.cc \ \ iconv.c \ localcharset.c \ relocatable.c \ \ fileutils.cc \ generic.cc \ checkargs.c \ datecalc.c \ LUAINTERFACE_LIGHT_SOURCES = \ plugin-luaconfigfiles.cc \ plugin-luahandle.cc \ plugin-luahttp.cc \ plugin-lualibs.cc \ plugin-luarand.cc \ plugin-luaregex.cc \ plugin-luasmtp.cc \ plugin-luatask.cc \ plugin-luaxml.cc \ LuaConfigFile.cc \ tinystr.cpp \ tinyxml.cpp \ tinyxmlerror.cpp \ tinyxmlparser.cpp \ LuaXML.cc \ LuaHttp.cc \ LuaRegex.cc \ loadlualibs.cc \ supportlib.lua \ tasklib.lua \ ajaxlib.lua \ htmllib.lua \ xmllib.lua \ httplib.lua \ dblib.lua \ LuaSmtp.cc \ lua-plugin.cc \ WHOLE_SOURCES = $(BALTISOT_SOURCES) $(LUA_SOURCES) $(LUAINTERFACE_SOURCES) LUAINTERFACE_OBJECTS = $(addsuffix .o, $(notdir $(basename $(LUAINTERFACE_SOURCES)))) LUAINTERFACE_MAIN_OBJECTS = $(addsuffix .o, $(notdir $(basename $(LUAINTERFACE_MAIN_SOURCES) $(LUA_SOURCES)))) LUAINTERFACE_DLL_OBJECTS = $(addsuffix .o, $(notdir $(basename $(BALTISOT_SOURCES)))) LUAINTERFACE_LIGHT_OBJECTS = lua-interface-light.o $(addsuffix .o, $(notdir $(basename $(LUAINTERFACE_LIGHT_SOURCES) $(LUA_SOURCES)))) LUAC_OBJECTS = $(addsuffix .o, $(notdir $(basename $(LUAC_SOURCES) $(LUA_SOURCES)))) ALL_OBJECTS = $(addsuffix .o, $(notdir $(basename $(WHOLE_SOURCES)))) ALL_DEPS = $(addsuffix .dep, $(notdir $(basename $(WHOLE_SOURCES)))) all: dep luac.exe lua-interface.dll lua-interface.exe dep: $(ALL_DEPS) luac.exe: $(LUAC_OBJECTS) $(LD) -o luac.exe $(LUAC_OBJECTS) $(LDFLAGS) $(LIBS) lua-interface.dll: $(LUAINTERFACE_DLL_OBJECTS) $(LUAINTERFACE_MAIN_OBJECTS) $(LD) -shared -Wl,--output-def=lua-interface.def -Wl,--out-implib=lua-interface.a -o lua-interface.dll $(LUAINTERFACE_DLL_OBJECTS) $(LUAINTERFACE_MAIN_OBJECTS) $(LDFLAGS) $(LUAINTERFACE_LDFLAGS) $(LIBS) lua-interface.exe: $(LUAINTERFACE_OBJECTS) $(LD) -o lua-interface.exe $(LUAINTERFACE_OBJECTS) ./lua-interface.a $(LDFLAGS) $(LIBS) lua-interface-light.exe: lua-interface-light.dll $(LUAINTERFACE_OBJECTS) $(LD) -o lua-interface-light.exe $(LUAINTERFACE_OBJECTS) ./lua-interface.a $(LDFLAGS) $(LIBS) lua-interface-light.dll: $(LUAINTERFACE_DLL_OBJECTS) $(LUAINTERFACE_LIGHT_OBJECTS) $(LD) -shared -Wl,--output-def=lua-interface.def -Wl,--out-implib=lua-interface.a -o lua-interface.dll $(LUAINTERFACE_DLL_OBJECTS) $(LUAINTERFACE_LIGHT_OBJECTS) $(LIBS) $(LDFLAGS) touch lua-interface-light.dll lua-interface-light.o: lua-interface.cpp $(CC) $(CPPFLAGS) -c -o lua-interface-light.o src/lua-interface.cpp -DLUA_INTERFACE_LIGHT clean: rm -f lua-interface.dll lua-interface.exe lua-interface-light.exe luac.exe *.o *.dep *.a *.def %.dep : %.c $(CC) $(CPPFLAGS) -M -MF $@ $< %.dep : %.cpp $(CXX) $(CPPFLAGS) -M -MF $@ $< %.dep : %.cc $(CXX) $(CPPFLAGS) -M -MF $@ $< %.c : %.clua bin2c $< $@ $(basename $@) %.clua : %.lua ./luac -o $@ $< -include $(ALL_DEPS)