os/persistentdata/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/win/makefile.bc
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
     1 #
     2 # Makefile for Borland C++ 5.5 (or C++ Builder 5), adapted from the makefile
     3 #   for Visual C++ that came with tcl 8.3.3
     4 #
     5 # See the file "license.terms" for information on usage and redistribution
     6 # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
     7 #
     8 # Copyright (c) 1995-1996 Sun Microsystems, Inc.
     9 # Copyright (c) 1998-1999 by Scriptics Corporation.
    10 #
    11 # Have a look at the complete description on how to build and test Tcl with
    12 # the current Borland compilers at www.ratiosoft.com/tcl/borland.
    13 #
    14 # Usage:
    15 #   - Adapt the paths below to match your compiler's location
    16 #   - Make sure the compiler's bin directory is on your path
    17 #   - Open a console
    18 #   - To make a debug version enter
    19 #       make -fmakefile.bc -DNODEBUG=0 xxx
    20 #     where 'xxx' is the target you want (e.g. 'all', 'test', ...)
    21 #     Please note: I omitted the 'd' suffix for debug versions because Tcl
    22 #     will always call tclpip83.dll and not tclpip83d.dll, causing an error.
    23 #                                                   ^
    24 #     Besides, the debug version goes into a separate directory, so there
    25 #     should be no problem having DLLs and EXEs with the same name.
    26 #     If you prefer your debug version having the 'd' suffix just uncomment
    27 #     the line
    28 #         #DBGX        = d
    29 #
    30 #   - To make a 'normal' version enter
    31 #       make -fmakefile.bc xxx
    32 #     where 'xxx' is the target you want (e.g. 'all', 'test', ...)
    33 #
    34 # DISCLAIMER:
    35 # This makefile has an experimental status - that is those targets which
    36 # have been modified do in fact compile and link with Borland's C++
    37 # Builder 5 and with the free Borland compiler (Borland C++ 5.5).
    38 # However the author assumes no responsiblity for any effect which the use of
    39 # this makefile or of the resulting programs might have on your system.
    40 #
    41 # Not yet modified:
    42 #   - The 'plug-in-DLL' and the associated shell.
    43 #   - The programs to create the windows help files.
    44 #
    45 # Suggestions and / or improvements are always welcome.
    46 #
    47 # May 2001, H. Giese (hgiese@ratiosoft.com)
    48 #
    49 
    50 # Does not depend on the presence of any environment variables in
    51 # order to compile tcl; all needed information is derived from
    52 # location of the compiler directories.
    53 
    54 #
    55 # Project directories
    56 #
    57 # ROOT    = top of source tree
    58 #
    59 # TOOLS32 = location of Borland development tools.
    60 #
    61 # INSTALLDIR = where the install-targets should copy the binaries and
    62 #     support files
    63 #
    64 
    65 ROOT		= ..
    66 INSTALLDIR	= c:\program files\tcl
    67 
    68 # If you have C++ Builder 5 or the free Borland C++ 5.5 compiler
    69 # adapt the following paths as appropriate for your system
    70 TOOLS32		= c:\dev\bcc55
    71 TOOLS32_rc	= c:\dev\bcc55
    72 #TOOLS32	= c:\bc55
    73 #TOOLS32_rc	= c:\bc55
    74 
    75 cc32		= "$(TOOLS32)\bin\bcc32.exe"
    76 link32		= "$(TOOLS32)\bin\ilink32.exe"
    77 lib32		= "$(TOOLS32)\bin\tlib.exe"
    78 rc32		= "$(TOOLS32_rc)\bin\brcc32.exe"
    79 include32	= -I"$(TOOLS32)\include"
    80 libpath32	= -L"$(TOOLS32)\lib"
    81 
    82 # Uncomment the following line to compile with thread support
    83 #THREADDEFINES	= -DTCL_THREADS=1
    84 
    85 # Allow definition of NDEBUG via command line
    86 # Set NODEBUG to 0 to compile with symbols
    87 !if !defined(NODEBUG)
    88 NODEBUG		= 1
    89 !endif
    90 
    91 # The following defines can be used to control the amount of debugging
    92 # code that is added to the compilation.
    93 #
    94 # -DTCL_MEM_DEBUG   Enables the debugging memory allocator.
    95 # -DTCL_COMPILE_DEBUG Enables byte compilation logging.
    96 # -DTCL_COMPILE_STATS Enables byte compilation statistics gathering.
    97 # -DUSE_TCLALLOC=0  Disables the Tcl memory allocator in favor
    98 #       of the native malloc implementation.  This is
    99 #       needed when using Purify.
   100 #
   101 #DEBUGDEFINES	= -DTCL_MEM_DEBUG -DTCL_COMPILE_DEBUG -DTCL_COMPILE_STATS
   102 #DEBUGDEFINES	= -DUSE_TCLALLOC=0
   103 
   104 ######################################################################
   105 # Do not modify below this line
   106 ######################################################################
   107 
   108 NAMEPREFIX	= tcl
   109 STUBPREFIX	= $(NAMEPREFIX)stub
   110 DOTVERSION	= 8.4
   111 VERSION		= 84
   112 
   113 DDEVERSION = 12
   114 DDEDOTVERSION = 1.2
   115 
   116 REGVERSION = 11
   117 REGDOTVERSION = 1.1
   118 
   119 BINROOT		= ..
   120 !IF "$(NODEBUG)" == "1"
   121 TMPDIRNAME	= Release
   122 DBGX		=
   123 !ELSE
   124 TMPDIRNAME	= Debug
   125 #DBGX		= d
   126 DBGX		=
   127 !ENDIF
   128 TMPDIR		= $(BINROOT)\$(TMPDIRNAME)
   129 OUTDIRNAME	= $(TMPDIRNAME)
   130 OUTDIR		= $(TMPDIR)
   131 
   132 TCLLIB		= $(OUTDIR)\$(NAMEPREFIX)$(VERSION)$(DBGX).lib
   133 TCLDLLNAME	= $(NAMEPREFIX)$(VERSION)$(DBGX).dll
   134 TCLDLL		= $(OUTDIR)\$(TCLDLLNAME)
   135 
   136 TCLSTUBLIBNAME	= $(STUBPREFIX)$(VERSION)$(DBGX).lib
   137 TCLSTUBLIB	= $(OUTDIR)\$(TCLSTUBLIBNAME)
   138 
   139 TCLPLUGINLIB	= $(OUTDIR)\$(NAMEPREFIX)$(VERSION)p$(DBGX).lib
   140 TCLPLUGINDLLNAME	= $(NAMEPREFIX)$(VERSION)p$(DBGX).dll
   141 TCLPLUGINDLL	= $(OUTDIR)\$(TCLPLUGINDLLNAME)
   142 TCLSH		= $(OUTDIR)\$(NAMEPREFIX)sh$(VERSION)$(DBGX).exe
   143 TCLSHP		= $(OUTDIR)\$(NAMEPREFIX)shp$(VERSION)$(DBGX).exe
   144 TCLPIPEDLLNAME	= $(NAMEPREFIX)pip$(VERSION)$(DBGX).dll
   145 TCLPIPEDLL	= $(OUTDIR)\$(TCLPIPEDLLNAME)
   146 TCLREGDLLNAME	= $(NAMEPREFIX)reg$(REGVERSION)$(DBGX).dll
   147 TCLREGDLL	= $(OUTDIR)\$(TCLREGDLLNAME)
   148 TCLDDEDLLNAME	= $(NAMEPREFIX)dde$(DDEVERSION)$(DBGX).dll
   149 TCLDDEDLL	= $(OUTDIR)\$(TCLDDEDLLNAME)
   150 TCLTEST		= $(OUTDIR)\$(NAMEPREFIX)test.exe
   151 CAT32		= $(TMPDIR)\cat32.exe
   152 RMDIR		= .\rmd.bat
   153 MKDIR		= .\mkd.bat
   154 RM		= del
   155 
   156 LIB_INSTALL_DIR	= $(INSTALLDIR)\lib
   157 BIN_INSTALL_DIR	= $(INSTALLDIR)\bin
   158 SCRIPT_INSTALL_DIR	= $(INSTALLDIR)\lib\tcl$(DOTVERSION)
   159 INCLUDE_INSTALL_DIR	= $(INSTALLDIR)\include
   160 
   161 TCLSHOBJS	= \
   162 	$(TMPDIR)\tclAppInit.obj
   163 
   164 TCLTESTOBJS	= \
   165 	$(TMPDIR)\tclTest.obj \
   166 	$(TMPDIR)\tclTestObj.obj \
   167 	$(TMPDIR)\tclTestProcBodyObj.obj \
   168 	$(TMPDIR)\tclThreadTest.obj \
   169 	$(TMPDIR)\tclWinTest.obj \
   170 	$(TMPDIR)\testMain.obj
   171 
   172 TCLOBJS	= \
   173 	$(TMPDIR)\regcomp.obj \
   174 	$(TMPDIR)\regexec.obj \
   175 	$(TMPDIR)\regfree.obj \
   176 	$(TMPDIR)\regerror.obj \
   177 	$(TMPDIR)\strftime.obj \
   178 	$(TMPDIR)\strtoll.obj \
   179 	$(TMPDIR)\strtoull.obj \
   180 	$(TMPDIR)\tclAlloc.obj \
   181 	$(TMPDIR)\tclAsync.obj \
   182 	$(TMPDIR)\tclBasic.obj \
   183 	$(TMPDIR)\tclBinary.obj \
   184 	$(TMPDIR)\tclCkalloc.obj \
   185 	$(TMPDIR)\tclClock.obj \
   186 	$(TMPDIR)\tclCmdAH.obj \
   187 	$(TMPDIR)\tclCmdIL.obj \
   188 	$(TMPDIR)\tclCmdMZ.obj \
   189 	$(TMPDIR)\tclCompCmds.obj \
   190 	$(TMPDIR)\tclCompExpr.obj \
   191 	$(TMPDIR)\tclCompile.obj \
   192 	$(TMPDIR)\tclDate.obj \
   193 	$(TMPDIR)\tclEncoding.obj \
   194 	$(TMPDIR)\tclEnv.obj \
   195 	$(TMPDIR)\tclEvent.obj \
   196 	$(TMPDIR)\tclExecute.obj \
   197 	$(TMPDIR)\tclFCmd.obj \
   198 	$(TMPDIR)\tclFileName.obj \
   199 	$(TMPDIR)\tclGet.obj \
   200 	$(TMPDIR)\tclHash.obj \
   201 	$(TMPDIR)\tclHistory.obj \
   202 	$(TMPDIR)\tclIndexObj.obj \
   203 	$(TMPDIR)\tclInterp.obj \
   204 	$(TMPDIR)\tclIO.obj \
   205 	$(TMPDIR)\tclIOCmd.obj \
   206 	$(TMPDIR)\tclIOGT.obj \
   207 	$(TMPDIR)\tclIOSock.obj \
   208 	$(TMPDIR)\tclIOUtil.obj \
   209 	$(TMPDIR)\tclLink.obj \
   210 	$(TMPDIR)\tclLiteral.obj \
   211 	$(TMPDIR)\tclListObj.obj \
   212 	$(TMPDIR)\tclLoad.obj \
   213 	$(TMPDIR)\tclMain.obj \
   214 	$(TMPDIR)\tclNamesp.obj \
   215 	$(TMPDIR)\tclNotify.obj \
   216 	$(TMPDIR)\tclObj.obj \
   217 	$(TMPDIR)\tclPanic.obj \
   218 	$(TMPDIR)\tclParse.obj \
   219 	$(TMPDIR)\tclParseExpr.obj \
   220 	$(TMPDIR)\tclPipe.obj \
   221 	$(TMPDIR)\tclPkg.obj \
   222 	$(TMPDIR)\tclPosixStr.obj \
   223 	$(TMPDIR)\tclPreserve.obj \
   224 	$(TMPDIR)\tclProc.obj \
   225 	$(TMPDIR)\tclRegexp.obj \
   226 	$(TMPDIR)\tclResolve.obj \
   227 	$(TMPDIR)\tclResult.obj \
   228 	$(TMPDIR)\tclScan.obj \
   229 	$(TMPDIR)\tclStringObj.obj \
   230 	$(TMPDIR)\tclStubInit.obj \
   231 	$(TMPDIR)\tclStubLib.obj \
   232 	$(TMPDIR)\tclThread.obj \
   233 	$(TMPDIR)\tclThreadJoin.obj \
   234 	$(TMPDIR)\tclTimer.obj \
   235 	$(TMPDIR)\tclUtf.obj \
   236 	$(TMPDIR)\tclUtil.obj \
   237 	$(TMPDIR)\tclVar.obj \
   238 	$(TMPDIR)\tclWin32Dll.obj \
   239 	$(TMPDIR)\tclWinChan.obj \
   240 	$(TMPDIR)\tclWinConsole.obj \
   241 	$(TMPDIR)\tclWinSerial.obj \
   242 	$(TMPDIR)\tclWinError.obj \
   243 	$(TMPDIR)\tclWinFCmd.obj \
   244 	$(TMPDIR)\tclWinFile.obj \
   245 	$(TMPDIR)\tclWinInit.obj \
   246 	$(TMPDIR)\tclWinLoad.obj \
   247 	$(TMPDIR)\tclWinMtherr.obj \
   248 	$(TMPDIR)\tclWinNotify.obj \
   249 	$(TMPDIR)\tclWinPipe.obj \
   250 	$(TMPDIR)\tclWinSock.obj \
   251 	$(TMPDIR)\tclWinThrd.obj \
   252 	$(TMPDIR)\tclWinTime.obj
   253 
   254 TCLSTUBOBJS	= $(TMPDIR)\tclStubLib.obj
   255 
   256 WINDIR		= $(ROOT)\win
   257 GENERICDIR	= $(ROOT)\generic
   258 
   259 TCL_INCLUDES	= -I"$(WINDIR)" -I"$(GENERICDIR)"
   260 TCL_DEFINES	= $(DEBUGDEFINES) $(THREADDEFINES)
   261 
   262 ######################################################################
   263 # Compiler flags
   264 ######################################################################
   265 
   266 !IF "$(NODEBUG)" == "1"
   267 # these macros cause maximum optimization and no symbols
   268 cdebug	= -v- -vi- -O2 -D_DEBUG
   269 !ELSE
   270 # these macros enable debugging
   271 cdebug	= -k -Od -r- -v -vi- -y
   272 !ENDIF
   273 
   274 SYSDEFINES	= _MT;NO_STRICT;_NO_VCL
   275 
   276 # declarations common to all compiler options
   277 cbase	= -c -q -3 -a4 -g0 -tWM -Ve -Vx -X-
   278 WARNINGS	= -w-rch -w-pch -w-par -w-dup -w-pro -w-dpu
   279 
   280 ccons	= -tWC
   281 
   282 INCLUDEPATH	= $(include32) $(TCL_INCLUDES)
   283 
   284 CFLAGS	= $(cdebug) $(cbase) $(INCLUDEPATH) $(WARNINGS) -D$(SYSDEFINES)
   285 TCL_CFLAGS	= $(CFLAGS) $(TCL_DEFINES)
   286 CONS_CFLAGS	= $(CFLAGS) $(TCL_DEFINES) $(ccons)
   287 
   288 ######################################################################
   289 # Linker flags
   290 ######################################################################
   291 
   292 !IF "$(NODEBUG)" == "1"
   293 ldebug	=
   294 !ELSE
   295 ldebug	= -v
   296 !ENDIF
   297 
   298 # declarations common to all linker options
   299 LNFLAGS	= -D"" -Gn -I$(TMPDIR) -x $(ldebug) $(libpath32)
   300 # -Gi: create lib file (is -Gl in doc)
   301 # -aa: Windows app, -ap: Windows console app
   302 LNFLAGS_DLL	= -ap -Gi -Tpd
   303 LNFLAGS_CONS	= -ap -Tpe
   304 
   305 LNLIBS	= import32 cw32mt
   306 
   307 
   308 ######################################################################
   309 # Project specific targets
   310 ######################################################################
   311 
   312 release:	setup $(TCLSH) dlls
   313 dlls:		setup $(TCLPIPEDLL) $(TCLREGDLL) $(TCLDDEDLL)
   314 all:		setup $(TCLSH) dlls $(CAT32)
   315 tcltest:	setup $(TCLTEST) dlls $(CAT32)
   316 plugin:		setup $(TCLPLUGINDLL) $(TCLSHP)
   317 install:	install-binaries install-libraries
   318 
   319 test:		setup $(TCLTEST) dlls $(CAT32)
   320 	set TCL_LIBRARY=$(ROOT)/library
   321 	$(TCLTEST) $(ROOT)/tests/all.tcl
   322 
   323 setup:
   324 	@if not exist $(OUT_DIR)\nul mkdir $(OUT_DIR) &\
   325 		echo *** Created directory '$(OUT_DIR)'
   326 	@if not exist $(TMP_DIR)\nul mkdir $(TMP_DIR) &\
   327 		echo *** Created directory '$(TMP_DIR)'
   328 
   329 
   330 $(TCLLIB): $(TCLDLL)
   331 
   332 $(TCLDLL): $(TCLOBJS) $(TMPDIR)\$(NAMEPREFIX).res
   333 	$(link32) $(ldebug) $(LNFLAGS) $(LNFLAGS_DLL) $(TOOLS32)\lib\c0d32 @&&!
   334 		$(TCLOBJS), $@, -x, $(LNLIBS),, $(TMPDIR)\$(NAMEPREFIX).res
   335 !
   336 
   337 $(TCLSTUBLIB): $(TCLSTUBOBJS)
   338 	$(lib32) /u $@ $(TCLSTUBOBJS)
   339 
   340 $(TCLPLUGINLIB): $(TCLPLUGINDLL)
   341 
   342 $(TCLPLUGINDLL): $(TCLOBJS) $(TMPDIR)\tcl.res
   343 	$(link32) $(ldebug) $(dlllflags) \
   344 		-out:$@ $(TMPDIR)\tcl.res $(guilibsdll) @&&!
   345 $(TCLOBJS)
   346 !
   347 
   348 $(TCLSH): $(TCLSHOBJS) $(TCLLIB) $(TMPDIR)\$(NAMEPREFIX)sh.res
   349 	$(link32) $(ldebug) -S:2400000 $(LNFLAGS) $(LNFLAGS_CONS) $(TOOLS32)\lib\c0x32 @&&!
   350 		$(TCLSHOBJS), $@, -x, $(LNLIBS) $(TCLLIB),, $(TMPDIR)\$(NAMEPREFIX)sh.res
   351 !
   352 
   353 $(TCLSHP): $(TCLSHOBJS) $(TCLPLUGINLIB) $(TMPDIR)\tclsh.res
   354 	$(link32) $(ldebug) $(conlflags) $(TMPDIR)\tclsh.res -stack:2300000 \
   355 		-out:$@ $(conlibsdll) $(TCLPLUGINLIB) $(TCLSHOBJS)
   356 
   357 $(TCLTEST): $(TCLTESTOBJS) $(TCLLIB) $(TMPDIR)\$(NAMEPREFIX)sh.res
   358 	$(link32) $(ldebug) -S:2400000 $(LNFLAGS) $(LNFLAGS_CONS) $(TOOLS32)\lib\c0x32 @&&!
   359 		$(TCLTESTOBJS), $@, -x, $(LNLIBS) $(TCLLIB),, $(TMPDIR)\$(NAMEPREFIX)sh.res
   360 !
   361 
   362 $(TCLPIPEDLL): $(WINDIR)\stub16.c
   363 	$(cc32) $(CFLAGS) -o$(TMPDIR)\stub16.obj $(WINDIR)\stub16.c
   364 	$(link32) $(ldebug) $(LNFLAGS) $(LNFLAGS_CONS) $(TOOLS32)\lib\c0x32 \
   365 		$(TMPDIR)\stub16.obj, $@, -x, $(LNLIBS),, $(TMPDIR)\$(NAMEPREFIX).res
   366 
   367 $(TCLDDEDLL): $(TMPDIR)\tclWinDde.obj $(TCLSTUBLIB)
   368 	$(link32) $(ldebug) $(LNFLAGS) $(LNFLAGS_DLL) $(TOOLS32)\lib\c0d32 \
   369 		$(TMPDIR)\tclWinDde.obj, $@, -x, $(LNLIBS) $(TCLSTUBLIB),, \
   370 		$(TMPDIR)\$(NAMEPREFIX).res
   371 
   372 $(TCLREGDLL): $(TMPDIR)\tclWinReg.obj $(TCLSTUBLIB)
   373 	$(link32) $(ldebug) $(LNFLAGS) $(LNFLAGS_DLL) $(TOOLS32)\lib\c0d32 \
   374 		$(TMPDIR)\tclWinReg.obj, $@, -x, $(LNLIBS) $(TCLSTUBLIB),, \
   375 		$(TMPDIR)\$(NAMEPREFIX).res
   376 
   377 $(CAT32): $(WINDIR)\cat.c
   378 	$(cc32) $(CONS_CFLAGS) -o$(TMPDIR)\cat.obj $?
   379 	$(link32) $(ldebug) $(LNFLAGS) $(LNFLAGS_CONS) $(TOOLS32)\lib\c0x32 \
   380 		$(TMPDIR)\cat.obj, $@, -x, $(LNLIBS),,
   381 
   382 install-binaries: $(TCLSH)
   383 	$(MKDIR) "$(BIN_INSTALL_DIR)"
   384 	$(MKDIR) "$(LIB_INSTALL_DIR)"
   385 	@echo installing $(TCLDLLNAME)
   386 	@copy "$(TCLDLL)" "$(BIN_INSTALL_DIR)"
   387 	@copy "$(TCLLIB)" "$(LIB_INSTALL_DIR)"
   388 	@echo installing "$(TCLSH)"
   389 	@copy "$(TCLSH)" "$(BIN_INSTALL_DIR)"
   390 	@echo installing $(TCLPIPEDLLNAME)
   391 	@copy "$(TCLPIPEDLL)" "$(BIN_INSTALL_DIR)"
   392 	@echo installing $(TCLSTUBLIBNAME)
   393 	@copy "$(TCLSTUBLIB)" "$(LIB_INSTALL_DIR)"
   394 
   395 install-libraries:
   396 	-@$(MKDIR) "$(LIB_INSTALL_DIR)"
   397 	-@$(MKDIR) "$(INCLUDE_INSTALL_DIR)"
   398 	-@$(MKDIR) "$(SCRIPT_INSTALL_DIR)"
   399 	@echo installing http1.0
   400 	-@$(MKDIR) "$(SCRIPT_INSTALL_DIR)\http1.0"
   401 	-@copy "$(ROOT)\library\http1.0\http.tcl"     "$(SCRIPT_INSTALL_DIR)\http1.0"
   402 	-@copy "$(ROOT)\library\http1.0\pkgIndex.tcl" "$(SCRIPT_INSTALL_DIR)\http1.0"
   403 	@echo installing http2.5
   404 	-@$(MKDIR) "$(SCRIPT_INSTALL_DIR)\http2.5"
   405 	-@copy "$(ROOT)\library\http\http.tcl"     "$(SCRIPT_INSTALL_DIR)\http2.5"
   406 	-@copy "$(ROOT)\library\http\pkgIndex.tcl" "$(SCRIPT_INSTALL_DIR)\http2.5"
   407 	@echo installing opt0.4
   408 	-@$(MKDIR) "$(SCRIPT_INSTALL_DIR)\opt0.4"
   409 	-@copy "$(ROOT)\library\opt\optparse.tcl" "$(SCRIPT_INSTALL_DIR)\opt0.4"
   410 	-@copy "$(ROOT)\library\opt\pkgIndex.tcl" "$(SCRIPT_INSTALL_DIR)\opt0.4"
   411 	@echo installing msgcat1.3
   412 	-@$(MKDIR) "$(SCRIPT_INSTALL_DIR)\msgcat1.3"
   413 	-@copy "$(ROOT)\library\msgcat\msgcat.tcl"   "$(SCRIPT_INSTALL_DIR)\msgcat1.3"
   414 	-@copy "$(ROOT)\library\msgcat\pkgIndex.tcl" "$(SCRIPT_INSTALL_DIR)\msgcat1.3"
   415 	@echo installing tcltest2.2
   416 	-@$(MKDIR) "$(SCRIPT_INSTALL_DIR)\tcltest2.2"
   417 	-@copy "$(ROOT)\library\tcltest\tcltest.tcl"   "$(SCRIPT_INSTALL_DIR)\tcltest2.2"
   418 	-@copy "$(ROOT)\library\tcltest\pkgIndex.tcl" "$(SCRIPT_INSTALL_DIR)\tcltest2.2"
   419 	@echo installing $(TCLDDEDLLNAME)
   420 	-@$(MKDIR) "$(SCRIPT_INSTALL_DIR)\dde1.1"
   421 	-@copy "$(TCLDDEDLL)" "$(SCRIPT_INSTALL_DIR)\dde1.1"
   422 	-@copy "$(ROOT)\library\dde\pkgIndex.tcl" "$(SCRIPT_INSTALL_DIR)\dde1.1"
   423 	@echo installing $(TCLREGDLLNAME)
   424 	-@$(MKDIR) "$(SCRIPT_INSTALL_DIR)\reg1.1"
   425 	-@copy "$(TCLREGDLL)" "$(SCRIPT_INSTALL_DIR)\reg1.1"
   426 	-@copy "$(ROOT)\library\reg\pkgIndex.tcl" "$(SCRIPT_INSTALL_DIR)\reg1.1"
   427 	@echo installing encoding files
   428 	-@$(MKDIR) "$(SCRIPT_INSTALL_DIR)\encoding"
   429 	-@copy "$(ROOT)\library\encoding\*.enc" "$(SCRIPT_INSTALL_DIR)\encoding"
   430 	@echo installing library files
   431 	-@copy "$(GENERICDIR)\tcl.h"         "$(INCLUDE_INSTALL_DIR)"
   432 	-@copy "$(GENERICDIR)\tclDecls.h"    "$(INCLUDE_INSTALL_DIR)"
   433 	-@copy "$(GENERICDIR)\tclPlatDecls.h" "$(INCLUDE_INSTALL_DIR)"
   434 	-@copy "$(ROOT)\library\history.tcl" "$(SCRIPT_INSTALL_DIR)"
   435 	-@copy "$(ROOT)\library\init.tcl"    "$(SCRIPT_INSTALL_DIR)"
   436 	-@copy "$(ROOT)\library\ldAout.tcl"  "$(SCRIPT_INSTALL_DIR)"
   437 	-@copy "$(ROOT)\library\parray.tcl"  "$(SCRIPT_INSTALL_DIR)"
   438 	-@copy "$(ROOT)\library\safe.tcl"    "$(SCRIPT_INSTALL_DIR)"
   439 	-@copy "$(ROOT)\library\tclIndex"    "$(SCRIPT_INSTALL_DIR)"
   440 	-@copy "$(ROOT)\library\package.tcl" "$(SCRIPT_INSTALL_DIR)"
   441 	-@copy "$(ROOT)\library\word.tcl"    "$(SCRIPT_INSTALL_DIR)"
   442 	-@copy "$(ROOT)\library\auto.tcl"    "$(SCRIPT_INSTALL_DIR)"
   443 
   444 #
   445 # Regenerate the stubs files.
   446 #
   447 
   448 genstubs:
   449 	tclsh$(VERSION) $(ROOT)\tools\genStubs.tcl $(GENERICDIR) \
   450 		$(GENERICDIR)\tcl.decls $(GENERICDIR)\tclInt.decls
   451 
   452 #
   453 # Regenerate the windows help files.
   454 #
   455 
   456 TCLTOOLS	= $(ROOT)/tools
   457 MAN2TCL		= $(TCLTOOLS)/man2tcl
   458 TCLRTF		= $(TCLTOOLS)/tcl.rtf
   459 TCLHPJ		= $(TCLTOOLS)/tcl.hpj
   460 MAN2HELP	= $(TCLTOOLS)/man2help.tcl
   461 HCRTF		= $(TOOLS32)/bin/hcrtf.exe
   462 
   463 winhelp: $(TCLRTF)
   464 	cd $(TCLTOOLS)
   465 	start /wait $(HCRTF) -xn $(TCLHPJ)
   466 
   467 $(MAN2TCL).exe: $(MAN2TCL).obj
   468 	cd $(TCLTOOLS)
   469 	$(cc32) /nologo /G4 /ML /O2 $(MAN2TCL).c
   470 
   471 $(TCLRTF): $(MAN2TCL).exe $(TCLSH)
   472 	cd $(TCLTOOLS)
   473 	..\win\$(TCLSH) $(MAN2HELP) $(NAMEPREFIX) $(VERSION) $(ROOT)/doc ../../tk$(DOTVERSION)/doc
   474 
   475 #
   476 # Special case object file targets
   477 #
   478 $(TMPDIR)\tclWinInit.obj: $(WINDIR)\tclWinInit.c
   479 	$(cc32) -DBUILD_tcl $(TCL_CFLAGS) -o$(TMPDIR)\$@ $?
   480 
   481 $(TMPDIR)\testMain.obj: $(WINDIR)\tclAppInit.c
   482 	$(cc32) $(TCL_CFLAGS) -DTCL_TEST -o$(TMPDIR)\testMain.obj $?
   483 
   484 $(TMPDIR)\tclTest.obj: $(GENERICDIR)\tclTest.c
   485 	$(cc32) $(TCL_CFLAGS) -o$(TMPDIR)\$@ $?
   486 
   487 $(TMPDIR)\tclTestObj.obj: $(GENERICDIR)\tclTestObj.c
   488 	$(cc32) $(TCL_CFLAGS) -o$(TMPDIR)\$@ $?
   489 
   490 $(TMPDIR)\tclWinTest.obj: $(WINDIR)\tclWinTest.c
   491 	$(cc32) $(TCL_CFLAGS) -o$(TMPDIR)\$@ $?
   492 
   493 $(TMPDIR)\tclAppInit.obj : $(WINDIR)\tclAppInit.c
   494 	$(cc32) $(TCL_CFLAGS) -o$(TMPDIR)\$@ $?
   495 
   496 # The following objects should be built using the stub interfaces
   497 
   498 # tclWinReg: Produces errors in ANSI mode
   499 $(TMPDIR)\tclWinReg.obj : $(WINDIR)\tclWinReg.c
   500 	$(cc32) $(TCL_CFLAGS) -DUSE_TCL_STUBS -o$(TMPDIR)\$@ $?
   501 
   502 # tclWinDde: Produces errors in ANSI mode
   503 $(TMPDIR)\tclWinDde.obj : $(WINDIR)\tclWinDde.c
   504 	$(cc32) $(TCL_CFLAGS) -DUSE_TCL_STUBS -o$(TMPDIR)\$@ $?
   505 
   506 
   507 # The following objects are part of the stub library and should not
   508 # be built as DLL objects but none of the symbols should be exported
   509 
   510 $(TMPDIR)\tclStubLib.obj : $(GENERICDIR)\tclStubLib.c
   511 	$(cc32) $(TCL_CFLAGS) -DSTATIC_BUILD -o$(TMPDIR)\$@ $?
   512 
   513 
   514 # Dedependency rules
   515 
   516 $(GENERICDIR)\regcomp.c: \
   517 	$(GENERICDIR)\regguts.h \
   518 	$(GENERICDIR)\regc_lex.c \
   519 	$(GENERICDIR)\regc_color.c \
   520 	$(GENERICDIR)\regc_nfa.c \
   521 	$(GENERICDIR)\regc_cvec.c \
   522 	$(GENERICDIR)\regc_locale.c
   523 
   524 $(GENERICDIR)\regcustom.h: \
   525 	$(GENERICDIR)\tclInt.h \
   526 	$(GENERICDIR)\tclPort.h \
   527 	$(GENERICDIR)\regex.h
   528 
   529 $(GENERICDIR)\regexec.c: \
   530 	$(GENERICDIR)\rege_dfa.c \
   531 	$(GENERICDIR)\regguts.h
   532 
   533 $(GENERICDIR)\regerror.c: $(GENERICDIR)\regguts.h
   534 $(GENERICDIR)\regfree.c: $(GENERICDIR)\regguts.h
   535 $(GENERICDIR)\regfronts.c: $(GENERICDIR)\regguts.h
   536 $(GENERICDIR)\regguts.h: $(GENERICDIR)\regcustom.h
   537 
   538 #
   539 # Implicit rules
   540 #
   541 
   542 {$(WINDIR)}.c{$(TMPDIR)}.obj:
   543 	$(cc32) -DBUILD_tcl $(TCL_CFLAGS) -o$@ $<
   544 
   545 {$(GENERICDIR)}.c{$(TMPDIR)}.obj:
   546 	$(cc32) -DBUILD_tcl $(TCL_CFLAGS) -o$@ $<
   547 
   548 {$(ROOT)\compat}.c{$(TMPDIR)}.obj:
   549 	$(cc32) -DBUILD_tcl $(TCL_CFLAGS) -o$@ $<
   550 
   551 {$(WINDIR)}.rc{$(TMPDIR)}.res:
   552 	$(rc32) $(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -fo$@ $<
   553 
   554 clean:
   555 	-@$(RM) $(OUTDIR)\*.exp
   556 	-@$(RM) $(OUTDIR)\*.lib
   557 	-@$(RM) $(OUTDIR)\*.dll
   558 	-@$(RM) $(OUTDIR)\*.exe
   559 	-@$(RM) $(OUTDIR)\*.pdb
   560 	-@$(RM) $(TMPDIR)\*.pch
   561 	-@$(RM) $(TMPDIR)\*.obj
   562 	-@$(RM) $(TMPDIR)\*.res
   563 	-@$(RM) $(TMPDIR)\*.exe
   564 	-@$(RMDIR) $(OUTDIR)
   565 	-@$(RMDIR) $(TMPDIR)
   566