Added support for producing metakit-based tclkits
authorPat Thoyts <patthoyts@users.sourceforge.net>
Tue, 5 Feb 2008 23:09:56 +0000 (23:09 +0000)
committerPat Thoyts <patthoyts@users.sourceforge.net>
Tue, 5 Feb 2008 23:09:56 +0000 (23:09 +0000)
git-svn-id: svn://svn.equi4.com/kitgen/trunk@2118 9e558909-932a-0410-a563-af77432da1eb

Makefile.vc

index 47408e696b1dc2b07dbf83af34755801fb785e7e..a81959985b2156a5ab4daf6bce72b48a2f880dd1 100644 (file)
@@ -130,9 +130,13 @@ CLIOBJS = $(BUILD)\pwb.obj $(BUILD)\rechan.obj \
 GUIOBJS = $(BUILD)\pwb.obj $(BUILD)\rechan.obj \
         $(BUILD)\zlib.obj $(BUILD)\winMain.obj $(BUILD)\tclkit.res
 
-all: tclkit-cli tclkit-gui
+all: lite heavy
+lite: tclkit-cli tclkit-gui
+heavy: tclkitsh tclkit
 tclkit-cli: tclkit-cli.exe
 tclkit-gui: tclkit-gui.exe
+tclkitsh:   tclkitsh.exe
+tclkit:     tclkit.exe
 
 tclkit-cli.exe: kit-cli.exe tidy
        @$(COPY) kit-cli.exe $@
@@ -169,6 +173,48 @@ kit-gui.exe: setup tcl tk $(PARTS) files $(GUIOBJS)
          $(BUILD)\lib\tclreg1*.lib $(LIBS)
        $(_VC_MANIFEST_EMBED_EXE)
 
+#-------------------------------------------------------------------------
+
+tclkitsh.exe: kitsh.exe tidy
+       @$(COPY) kitsh.exe $@
+       -@$(UPXCOMP)
+       kitsh.exe -init- ../../setupvfs.tcl $(KITOPTS) $@ cli
+
+tclkit.exe: kitsh.exe kit.exe tidy
+       @$(COPY) kit.exe $@
+       -@$(UPXCOMP)
+       kitsh.exe -init- ../../setupvfs.tcl $(KITOPTS) $@ gui
+
+kitsh.exe: setup tcl mk itcl $(PARTS:vqtcl=) files $(CLIOBJS)
+       $(CC) $(CFLAGS) -I$(BUILD)/include -DSTATIC_BUILD \
+         -DKIT_INCLUDES_ITCL -c ../../kitInit.c -Fo$(BUILD)/kitInit.obj
+       $(LINK) $(LDFLAGS) -subsystem:console -out:$@ $(CLIOBJS) \
+         $(BUILD)\kitInit.obj $(BUILD)\vfs.obj \
+         $(BUILD)\mk4tcl.obj $(BUILD)\mk4too.obj \
+         $(BUILD)\lib\mk4vc*.lib \
+         $(BUILD)\lib\itcl3.4\itcl3*.lib \
+         $(BUILD)\lib\zlib.lib \
+         $(BUILD)\lib\tcl$V*.lib \
+         $(BUILD)\lib\tcldde1*.lib \
+         $(BUILD)\lib\tclreg1*.lib $(LIBS)
+       $(_VC_MANIFEST_EMBED_EXE)
+
+kit.exe: setup tcl tk mk itcl $(PARTS:vqtcl=) files $(GUIOBJS)
+       $(CC) $(CFLAGS) -I$(BUILD)/include -DSTATIC_BUILD \
+         -DKIT_INCLUDES_ITCL -DKIT_INCLUDES_TK \
+         -c ../../kitInit.c -Fo$(BUILD)/kitInit.obj
+       $(LINK) $(LDFLAGS) -subsystem:windows -out:$@ $(GUIOBJS) \
+         $(BUILD)\kitInit.obj $(BUILD)\vfs.obj \
+         $(BUILD)\mk4tcl.obj $(BUILD)\mk4too.obj \
+         $(BUILD)\lib\mk4vc*.lib \
+         $(BUILD)\lib\itcl3.4\itcl3*.lib \
+         $(BUILD)\lib\zlib.lib \
+         $(BUILD)\lib\tcl$V*.lib \
+         $(BUILD)\lib\tk$V*.lib \
+         $(BUILD)\lib\tcldde1*.lib \
+         $(BUILD)\lib\tclreg1*.lib $(LIBS)
+       $(_VC_MANIFEST_EMBED_EXE)
+
 tcl: $(BUILD)\lib\tcl$V$X.lib
 $(BUILD)\lib\tcl$V$X.lib:
        pushd ..\tcl\win & $(MAKE) -f Makefile.vc INSTALLDIR=$(BUILD) \
@@ -216,6 +262,24 @@ $(BUILD)\lib\zlib.lib:
        pushd ..\..\8.x\zlib & $(MAKE) -f win32/makefile.msc clean zlib.lib \
          & $(COPY) zlib.lib $(BUILD)\lib\zlib.lib
 
+itcl: $(BUILD)\itcl\itcl34$(X:t=).lib
+$(BUILD)\itcl\itcl34$(X:t=).lib:
+       pushd ..\..\8.x\itcl\win & $(MAKE) -f Makefile.vc \
+         INSTALLDIR=$(BUILD) TCLDIR=$(BUILD)\..\..\tcl \
+         OPTS=$(OPTS) TMP_DIR=$(BUILD)\itcl \
+         OUT_DIR=$(BUILD)\itcl all install-binaries install-libraries
+
+mk: $(BUILD)\lib\mk4vc$(VCVER)0$(X:t=).lib
+$(BUILD)\lib\mk4vc$(VCVER)0$(X:t=).lib:
+       pushd ..\..\8.x\mk\win & $(MAKE) -f Makefile.vc \
+         OPTS=$(OPTS) TMP_DIR=$(BUILD)\mk \
+         OUT_DIR=$(BUILD)\mk mklib
+       $(CC) $(CFLAGS) -I$(BUILD)/include -I../../8.x/mk/include \
+         -c ../../8.x/mk/tcl/mk4tcl.cpp -Fo$(BUILD)/mk4tcl.obj
+       $(CC) $(CFLAGS) -I$(BUILD)/include -I../../8.x/mk/include \
+         -c ../../8.x/mk/tcl/mk4too.cpp -Fo$(BUILD)/mk4too.obj
+       $(COPY) $(BUILD)\mk\mk4vc$(VCVER)0$(X:t=).lib $@
+
 $(BUILD)\pwb.obj: ..\..\pwb.c
        $(CC) $(CFLAGS) -I$(BUILD)\include -Fo$@ -c $**
 
@@ -253,16 +317,32 @@ setup:
        @if not exist $(BUILD) mkdir $(BUILD)
 
 tidy:
-       @if exist kit-cli.exp del kit-cli.exp
-       @if exist kit-cli.lib del kit-cli.lib
-       @if exist kit-gui.exp del kit-gui.exp
-       @if exist kit-gui.lib del kit-gui.lib
-       @if exist vercl.i del vercl.i
-       @if exist vercl.x del vercl.x
+       @echo Tidying...
+       -@if exist kit-cli.exp del kit-cli.exp
+       -@if exist kit-cli.lib del kit-cli.lib
+       -@if exist kit-cli.ilk del kit-cli.ilk
+       -@if exist kit-gui.exp del kit-gui.exp
+       -@if exist kit-gui.lib del kit-gui.lib
+       -@if exist kit-gui.ilk del kit-gui.ilk
+       -@if exist kitsh.exp del kitsh.exp
+       -@if exist kitsh.lib del kitsh.lib
+       -@if exist kitsh.ilk del kitsh.ilk
+       -@if exist kit.exp del kit.exp
+       -@if exist kit.lib del kit.lib
+       -@if exist kit.ilk del kit.ilk
+       -@if exist vercl.i del vercl.i
+       -@if exist vercl.x del vercl.x
 
 clean: tidy
        @if exist build\nul $(RMDIR) build
        @if exist kit-cli.exe del kit-cli.exe
+       @if exist kit-cli.pdb del kit-cli.pdb
        @if exist kit-gui.exe del kit-gui.exe
+       @if exist kit-gui.pdb del kit-gui.pdb
+       @if exist kitsh.exe del kitsh.exe
+       @if exist kitsh.pdb del kitsh.pdb
+       @if exist kit.exe del kit.exe
+       @if exist kit.pdb del kit.pdb
+       @if exist vc$(VCVER)0.pdb del vc$(VCVER)0.pdb
 
 #EOF