1 #------------------------------------------------------------- -*- makefile -*-
\r
5 # Basic build, test and install
\r
6 # nmake /s /nologo /f makefile.vc INSTALLDIR=c:\path\to\installdir TCLDIR=c:\path\to\tcl\source
\r
7 # nmake /s /nologo /f makefile.vc INSTALLDIR=c:\path\to\installdir TCLDIR=c:\path\to\tcl\source test
\r
8 # nmake /s /nologo /f makefile.vc INSTALLDIR=c:\path\to\installdir TCLDIR=c:\path\to\tcl\source install
\r
10 # For other build options (debug, static etc.)
\r
11 # See TIP 477 (https://core.tcl.tk/tips/doc/trunk/tip/477.md) for
\r
12 # detailed documentation.
\r
14 # See the file "license.terms" for information on usage and redistribution
\r
15 # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
\r
17 #------------------------------------------------------------------------------
\r
23 !include "rules-ext.vc"
\r
26 $(TMP_DIR)\itcl2TclOO.obj \
\r
27 $(TMP_DIR)\itclBase.obj \
\r
28 $(TMP_DIR)\itclBuiltin.obj \
\r
29 $(TMP_DIR)\itclClass.obj \
\r
30 $(TMP_DIR)\itclCmd.obj \
\r
31 $(TMP_DIR)\itclEnsemble.obj \
\r
32 $(TMP_DIR)\itclHelpers.obj \
\r
33 $(TMP_DIR)\itclInfo.obj \
\r
34 $(TMP_DIR)\itclLinkage.obj \
\r
35 $(TMP_DIR)\itclMethod.obj \
\r
36 $(TMP_DIR)\itclMigrate2TclCore.obj \
\r
37 $(TMP_DIR)\itclObject.obj \
\r
38 $(TMP_DIR)\itclParse.obj \
\r
39 $(TMP_DIR)\itclResolve.obj \
\r
40 $(TMP_DIR)\itclStubs.obj \
\r
41 $(TMP_DIR)\itclStubInit.obj \
\r
42 $(TMP_DIR)\itclTclIntStubsFcn.obj \
\r
43 $(TMP_DIR)\itclUtil.obj \
\r
44 !if !$(STATIC_BUILD)
\r
45 $(TMP_DIR)\dllEntryPoint.obj \
\r
48 PRJ_STUBOBJS = $(TMP_DIR)\itclStubLib.obj
\r
50 PRJ_DEFINES = /D_CRT_SECURE_NO_WARNINGS
\r
52 PRJ_DEFINES = $(PRJ_DEFINES) /DITCL_DEBUG
\r
55 PRJ_HEADERS_PUBLIC = \
\r
56 $(GENERICDIR)\itcl.h \
\r
57 $(GENERICDIR)\itclDecls.h
\r
60 # Define the standard targets except we have a custom test target
\r
61 DISABLE_TARGET_test = 1
\r
62 !include "$(_RULESDIR)\targets.vc"
\r
64 pkgindex: $(OUT_DIR)\pkgIndex.tcl
\r
65 $(OUT_DIR)\pkgIndex.tcl:
\r
66 @$(COPY) << "$(OUT_DIR)\pkgIndex.tcl"
\r
68 # Tcl package index file, version 1.1
\r
71 if {![package vsatisfies [package provide Tcl] 8.6-]} {return}
\r
73 if {[package vsatisfies [package provide Tcl] 9.0-]} {
\r
74 package ifneeded itcl $(DOTVERSION) \
\r
75 [list load [file join $$dir tcl9itcl$(VERSION).dll] Itcl]
\r
77 package ifneeded itcl $(DOTVERSION) \
\r
78 [list load [file join $$dir itcl$(VERSION).dll] Itcl]
\r
80 package ifneeded Itcl $(DOTVERSION) [list package require -exact itcl $(DOTVERSION)]
\r
85 @echo test target not supported for a static library.
\r
87 test : setup $(PROJECT)
\r
88 $(TCLSH) ..\tests\all.tcl $(TESTFLAGS) -loadfile <<
\r
89 set env(ITCL_LIBRARY) [file normalize [file join $(MAKEDIR:\=/) .. library]]
\r
90 package ifneeded $(PROJECT) $(DOTVERSION) [list load [file normalize [file join $(MAKEDIR:\=/) $(PRJLIB:\=/)]]]
\r
96 @echo Need the source distribution to regenerate the Stubs table.
\r
98 $(TCLSH) $(TOOLSDIR)\genStubs.tcl $(GENERICDIR) \
\r
99 $(GENERICDIR)\$(PROJECT).decls $(GENERICDIR)\$(PROJECT)Int.decls
\r