# # Makefile for tks + Microsoft Visual C++ 2003 ToolKit # # (c) 2001-2004 Bastian Spiegel # VCTK=f:/fli/tools/dev/MSVCTK2003 W32API=f:/fli/tools/dev/MSVCTK2003/w32api PREFIX=/usr # # # MAKE = make CC = cl LD = link # ---- maximum speed, target >PentiumPro ---- OPTFLAGS = /Ox /G6 # ---- minimum size, target >Pentium ---- #OPTFLAGS = /O1 /G5 # ---- include registry and URLDownloadToCacheFile support, allow system() calls ---- EXTRAFLAGS = /DDX_SYSEXEC /DHAVE_URLMON /DHAVE_WINREG EXTRALIBS= $(W32API)/lib/urlmon.lib $(W32API)/lib/advapi32.lib $(W32API)/lib/uuid.lib # ---- little win32 api dependencies, allow system() calls ---- #EXTRAFLAGS = /DDX_SYSEXEC #EXTRALIBS= $(W32API)/lib/uuid.lib # # # CPPFLAGS= /I../yac /I"$(VCTK)/include" /I"$(W32API)/include" /I"zlib-win32" /I"../tks-plugins/yac" /V"0.8.6.0" /nologo /DWIN32 /DHAVE_CYGWIN $(EXTRAFLAGS) LDFLAGS= /INCREMENTAL:NO /MACHINE:X86 /VERSION:0.8 RM = rm -f ZIP = zip ALL_OBJ= api.o \ cachedobject.o \ command.o \ csq.o \ object.o \ objectcache.o \ pluginregistry.o \ pool.o \ ptnarray.o \ ptnclass.o \ ptncond.o \ ptnexpr.o \ ptnextra.o \ ptnfun.o \ ptnobject.o \ ptnode.o \ ptnpointer.o \ ptntrace.o \ ptnunresolved.o \ ptnvar.o \ scanner.o \ staticlist.o \ streamio.o \ tks.o \ tksarray.o \ tksbuffer.o \ tksclass.o \ tksclasstemplate.o \ tkscompiler.o \ tksconfiguration.o \ tkscript.o \ tksenvelope.o \ tksfile.o \ tkslang.o \ tksmath.o \ tksstream.o \ tksstring.o \ tksthread.o \ tkstime.o \ tkstools.o \ tkx.o \ tokentable.o \ value.o # # Build shared executable =) # shared: $(ALL_OBJ) vmcore.o $(LD) $(LDFLAGS) /OUT:tks.exe $(ALL_OBJ) vmcore.o /LIBPATH:"$(VCTK)/lib" $(EXTRALIBS) zlib-win32/zlib114_static.lib @echo "Build finished at `date +%H:%M`." vmcore.o: $(CC) $(CPPFLAGS) /c vmcore.cpp /Fo"vmcore.o" upx: shared upx -9 tks.exe install: cp tks.exe $(PREFIX)/bin/tks.bin chmod 755 $(PREFIX)/bin/tks.bin export PREFIX=$(PREFIX) && ./tks install.tks mv tks.sh.tmp $(PREFIX)/bin/tks chmod 755 $(PREFIX)/bin/tks mkdir -p $(PREFIX)/lib/tks mkdir -p $(PREFIX)/lib/tks/plugins mkdir -p $(PREFIX)/lib/tks/modules @echo "[...] Installed to $(PREFIX)."; @echo "[...] "; @echo "[...] Plugin directory is : $(PREFIX)/lib/tks/plugins/."; @echo "[...] Module directory is : $(PREFIX)/lib/tks/modules/."; @echo "[...] "; @echo "[...] Please use the $(PREFIX)/bin/tks startscript."; @echo "[...] "; upxinstall: upx install @echo # # Show help # help: @echo " help : this page." @echo " shared : build dynamically linked exe." @echo " upx : build dynamically linked, UPX compressed exe." @echo " install : build exe and install to \"$(PREFIX)\"." @echo " upxinstall: build UPX compr'd exe and install to \"$(PREFIX)\"." @echo " clean : remove object files." @echo " realclean : clean and remove backup files." # # Rule for building object files # .cpp.o: $(CC) $(CPPFLAGS) $(OPTFLAGS) /c $< /Fo"$@" # # Remove object files and targets. # clean: @echo "cleaning up.." $(RM) $(ALL_OBJ) vmcore.o # # Make clean and remove backup files # realclean: clean $(RM) `find . -name \*\~` tks.exe