os/persistentdata/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/win/Makefile.in
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 # This file is a Makefile for Tcl.  If it has the name "Makefile.in"
     3 # then it is a template for a Makefile;  to generate the actual Makefile,
     4 # run "./configure", which is a configuration script generated by the
     5 # "autoconf" program (constructs like "@foo@" will get replaced in the
     6 # actual Makefile.
     7 #
     8 # RCS: @(#) $Id: Makefile.in,v 1.68.2.7 2007/01/30 23:21:12 hobbs Exp $
     9 
    10 VERSION = @TCL_VERSION@
    11 
    12 #----------------------------------------------------------------
    13 # Things you can change to personalize the Makefile for your own
    14 # site (you can make these changes in either Makefile.in or
    15 # Makefile, but changes to Makefile will get lost if you re-run
    16 # the configuration script).
    17 #----------------------------------------------------------------
    18 
    19 # Default top-level directories in which to install architecture-
    20 # specific files (exec_prefix) and machine-independent files such
    21 # as scripts (prefix).  The values specified here may be overridden
    22 # at configure-time with the --exec-prefix and --prefix options
    23 # to the "configure" script.
    24 
    25 prefix			= @prefix@
    26 exec_prefix		= @exec_prefix@
    27 bindir			= @bindir@
    28 libdir			= @libdir@
    29 includedir		= @includedir@
    30 mandir			= @mandir@
    31 
    32 # The following definition can be set to non-null for special systems
    33 # like AFS with replication.  It allows the pathnames used for installation
    34 # to be different than those used for actually reference files at
    35 # run-time.  INSTALL_ROOT is prepended to $prefix and $exec_prefix
    36 # when installing files.
    37 INSTALL_ROOT	=
    38 
    39 # Directory from which applications will reference the library of Tcl
    40 # scripts (note: you can set the TCL_LIBRARY environment variable at
    41 # run-time to override this value):
    42 TCL_LIBRARY	= $(prefix)/lib/tcl$(VERSION)
    43 
    44 # Path to use at runtime to refer to LIB_INSTALL_DIR:
    45 LIB_RUNTIME_DIR		= $(libdir)
    46 
    47 # Directory in which to install the program tclsh:
    48 BIN_INSTALL_DIR		= $(INSTALL_ROOT)$(bindir)
    49 
    50 # Directory in which to install the .a or .so binary for the Tcl library:
    51 LIB_INSTALL_DIR		= $(INSTALL_ROOT)$(libdir)
    52 
    53 # Path name to use when installing library scripts.
    54 SCRIPT_INSTALL_DIR	= $(INSTALL_ROOT)$(TCL_LIBRARY)
    55 
    56 # Directory in which to install the include file tcl.h:
    57 INCLUDE_INSTALL_DIR	= $(INSTALL_ROOT)$(includedir)
    58 
    59 # Directory in which to (optionally) install the private tcl headers:
    60 PRIVATE_INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(includedir)
    61 
    62 # Top-level directory in which to install manual entries:
    63 MAN_INSTALL_DIR		= $(INSTALL_ROOT)$(mandir)
    64 
    65 # Directory in which to install manual entry for tclsh:
    66 MAN1_INSTALL_DIR = $(MAN_INSTALL_DIR)/man1
    67 
    68 # Directory in which to install manual entries for Tcl's C library
    69 # procedures:
    70 MAN3_INSTALL_DIR = $(MAN_INSTALL_DIR)/man3
    71 
    72 # Directory in which to install manual entries for the built-in
    73 # Tcl commands:
    74 MANN_INSTALL_DIR = $(MAN_INSTALL_DIR)/mann
    75 
    76 # Libraries built with optimization switches have this additional extension
    77 TCL_DBGX = @TCL_DBGX@
    78 
    79 # warning flags
    80 CFLAGS_WARNING = @CFLAGS_WARNING@
    81 
    82 # The default switches for optimization or debugging
    83 CFLAGS_DEBUG    = @CFLAGS_DEBUG@
    84 CFLAGS_OPTIMIZE	= @CFLAGS_OPTIMIZE@
    85 
    86 # To change the compiler switches, for example to change from optimization to
    87 # debugging symbols, change the following line:
    88 #CFLAGS = 		$(CFLAGS_DEBUG)
    89 #CFLAGS = 		$(CFLAGS_OPTIMIZE)
    90 #CFLAGS = 		$(CFLAGS_DEBUG) $(CFLAGS_OPTIMIZE)
    91 CFLAGS = 		@CFLAGS@ @CFLAGS_DEFAULT@
    92 
    93 # To enable compilation debugging reverse the comment characters on
    94 # one of the following lines.
    95 COMPILE_DEBUG_FLAGS =
    96 #COMPILE_DEBUG_FLAGS = -DTCL_COMPILE_DEBUG
    97 #COMPILE_DEBUG_FLAGS = -DTCL_COMPILE_DEBUG -DTCL_COMPILE_STATS
    98 
    99 # Special compiler flags to use when building man2tcl on Windows.
   100 MAN2TCLFLAGS		= @MAN2TCLFLAGS@
   101 
   102 SRC_DIR			= @srcdir@
   103 ROOT_DIR		= @srcdir@/..
   104 GENERIC_DIR		= @srcdir@/../generic
   105 WIN_DIR			= @srcdir@
   106 COMPAT_DIR		= @srcdir@/../compat
   107 
   108 # Converts a POSIX path to a Windows native path.
   109 CYGPATH			= @CYGPATH@
   110 
   111 GENERIC_DIR_NATIVE	= $(shell $(CYGPATH) '$(GENERIC_DIR)' | sed 's!\\!/!g')
   112 WIN_DIR_NATIVE		= $(shell $(CYGPATH) '$(WIN_DIR)' | sed 's!\\!/!g')
   113 ROOT_DIR_NATIVE		= $(shell $(CYGPATH) '$(ROOT_DIR)' | sed 's!\\!/!g')
   114 
   115 LIBRARY_DIR		= $(ROOT_DIR_NATIVE)/library
   116 
   117 DLLSUFFIX		= @DLLSUFFIX@
   118 LIBSUFFIX		= @LIBSUFFIX@
   119 EXESUFFIX		= @EXESUFFIX@
   120 
   121 TCL_STUB_LIB_FILE	= @TCL_STUB_LIB_FILE@
   122 TCL_DLL_FILE		= @TCL_DLL_FILE@
   123 TCL_LIB_FILE		= @TCL_LIB_FILE@
   124 DDE_DLL_FILE		= tcldde$(DDEVER)${DLLSUFFIX}
   125 DDE_LIB_FILE		= tcldde$(DDEVER)${LIBSUFFIX}
   126 REG_DLL_FILE		= tclreg$(REGVER)${DLLSUFFIX}
   127 REG_LIB_FILE		= tclreg$(REGVER)${LIBSUFFIX}
   128 PIPE_DLL_FILE		= tclpip$(VER)${DLLSUFFIX}
   129 
   130 SHARED_LIBRARIES 	= $(TCL_DLL_FILE) $(TCL_STUB_LIB_FILE) \
   131 			  $(DDE_DLL_FILE) $(REG_DLL_FILE) $(PIPE_DLL_FILE)
   132 STATIC_LIBRARIES	= $(TCL_LIB_FILE) $(REG_LIB_FILE) $(DDE_LIB_FILE)
   133 
   134 # TCL_EXE is the name of a tclsh executable that is available *BEFORE*
   135 # running make for the first time. Certain build targets (make genstubs)
   136 # need it to be available on the PATH. This executable should *NOT* be
   137 # required just to do a normal build although it can be required to run
   138 # make dist.
   139 TCL_EXE			= tclsh
   140 
   141 TCLSH			= tclsh$(VER)${EXESUFFIX}
   142 TCLTEST			= tcltest${EXEEXT}
   143 CAT32			= cat32$(EXEEXT)
   144 MAN2TCL			= man2tcl$(EXEEXT)
   145 
   146 @SET_MAKE@
   147 
   148 # Setting the VPATH variable to a list of paths will cause the 
   149 # makefile to look into these paths when resolving .c to .obj
   150 # dependencies.
   151 
   152 VPATH = $(GENERIC_DIR):$(WIN_DIR):$(COMPAT_DIR)
   153 
   154 AR		= @AR@
   155 RANLIB		= @RANLIB@
   156 CC		= @CC@
   157 RC		= @RC@
   158 RES		= @RES@
   159 AC_FLAGS	= @EXTRA_CFLAGS@ @DEFS@
   160 CPPFLAGS	= @CPPFLAGS@
   161 LDFLAGS_DEBUG   = @LDFLAGS_DEBUG@
   162 LDFLAGS_OPTIMIZE = @LDFLAGS_OPTIMIZE@
   163 LDFLAGS		= @LDFLAGS@ @LDFLAGS_DEFAULT@
   164 LDFLAGS_CONSOLE	= @LDFLAGS_CONSOLE@
   165 LDFLAGS_WINDOW	= @LDFLAGS_WINDOW@
   166 EXEEXT		= @EXEEXT@
   167 OBJEXT		= @OBJEXT@
   168 STLIB_LD	= @STLIB_LD@
   169 SHLIB_LD	= @SHLIB_LD@
   170 SHLIB_LD_LIBS	= @SHLIB_LD_LIBS@ $(LIBS)
   171 SHLIB_CFLAGS	= @SHLIB_CFLAGS@
   172 SHLIB_SUFFIX	= @SHLIB_SUFFIX@
   173 VER		= @TCL_MAJOR_VERSION@@TCL_MINOR_VERSION@
   174 DOTVER		= @TCL_MAJOR_VERSION@.@TCL_MINOR_VERSION@
   175 DDEVER		= @TCL_DDE_MAJOR_VERSION@@TCL_DDE_MINOR_VERSION@
   176 DDEDOTVER	= @TCL_DDE_MAJOR_VERSION@.@TCL_DDE_MINOR_VERSION@
   177 REGVER		= @TCL_REG_MAJOR_VERSION@@TCL_REG_MINOR_VERSION@
   178 REGDOTVER	= @TCL_REG_MAJOR_VERSION@.@TCL_REG_MINOR_VERSION@
   179 LIBS		= @LIBS@
   180 
   181 RMDIR		= rm -rf
   182 MKDIR		= mkdir -p
   183 SHELL		= @SHELL@
   184 RM		= rm -f
   185 COPY		= cp
   186 
   187 CC_SWITCHES = ${CFLAGS} ${CFLAGS_WARNING} ${TCL_SHLIB_CFLAGS} \
   188 -I"${GENERIC_DIR_NATIVE}" -I"${WIN_DIR_NATIVE}" ${AC_FLAGS} \
   189 ${COMPILE_DEBUG_FLAGS}
   190 
   191 CC_OBJNAME = @CC_OBJNAME@
   192 CC_EXENAME = @CC_EXENAME@
   193 
   194 STUB_CC_SWITCHES = ${CFLAGS} ${CFLAGS_WARNING} ${SHLIB_CFLAGS} \
   195 -I"${GENERIC_DIR_NATIVE}" -I"${WIN_DIR_NATIVE}" ${AC_FLAGS} \
   196 ${COMPILE_DEBUG_FLAGS}
   197 
   198 TCLTEST_OBJS = \
   199 	tclTest.$(OBJEXT) \
   200 	tclTestObj.$(OBJEXT) \
   201 	tclTestProcBodyObj.$(OBJEXT) \
   202 	tclThreadTest.$(OBJEXT) \
   203 	tclWinTest.$(OBJEXT) \
   204 	testMain.$(OBJEXT)
   205 
   206 GENERIC_OBJS = \
   207 	regcomp.$(OBJEXT) \
   208 	regexec.$(OBJEXT) \
   209 	regfree.$(OBJEXT) \
   210 	regerror.$(OBJEXT) \
   211 	tclAlloc.$(OBJEXT) \
   212 	tclAsync.$(OBJEXT) \
   213 	tclBasic.$(OBJEXT) \
   214 	tclBinary.$(OBJEXT) \
   215 	tclCkalloc.$(OBJEXT) \
   216 	tclClock.$(OBJEXT) \
   217 	tclCmdAH.$(OBJEXT) \
   218 	tclCmdIL.$(OBJEXT) \
   219 	tclCmdMZ.$(OBJEXT) \
   220 	tclCompCmds.$(OBJEXT) \
   221 	tclCompExpr.$(OBJEXT) \
   222 	tclCompile.$(OBJEXT) \
   223 	tclDate.$(OBJEXT) \
   224 	tclEncoding.$(OBJEXT) \
   225 	tclEnv.$(OBJEXT) \
   226 	tclEvent.$(OBJEXT) \
   227 	tclExecute.$(OBJEXT) \
   228 	tclFCmd.$(OBJEXT) \
   229 	tclFileName.$(OBJEXT) \
   230 	tclGet.$(OBJEXT) \
   231 	tclHash.$(OBJEXT) \
   232 	tclHistory.$(OBJEXT) \
   233 	tclIndexObj.$(OBJEXT) \
   234 	tclInterp.$(OBJEXT) \
   235 	tclIO.$(OBJEXT) \
   236 	tclIOCmd.$(OBJEXT) \
   237 	tclIOGT.$(OBJEXT) \
   238 	tclIOSock.$(OBJEXT) \
   239 	tclIOUtil.$(OBJEXT) \
   240 	tclLink.$(OBJEXT) \
   241 	tclLiteral.$(OBJEXT) \
   242 	tclListObj.$(OBJEXT) \
   243 	tclLoad.$(OBJEXT) \
   244 	tclMain.$(OBJEXT) \
   245 	tclNamesp.$(OBJEXT) \
   246 	tclNotify.$(OBJEXT) \
   247 	tclObj.$(OBJEXT) \
   248 	tclPanic.$(OBJEXT) \
   249 	tclParse.$(OBJEXT) \
   250 	tclParseExpr.$(OBJEXT) \
   251 	tclPipe.$(OBJEXT) \
   252 	tclPkg.$(OBJEXT) \
   253 	tclPosixStr.$(OBJEXT) \
   254 	tclPreserve.$(OBJEXT) \
   255 	tclProc.$(OBJEXT) \
   256 	tclRegexp.$(OBJEXT) \
   257 	tclResolve.$(OBJEXT) \
   258 	tclResult.$(OBJEXT) \
   259 	tclScan.$(OBJEXT) \
   260 	tclStringObj.$(OBJEXT) \
   261 	tclStubInit.$(OBJEXT) \
   262 	tclStubLib.$(OBJEXT) \
   263 	tclThread.$(OBJEXT) \
   264 	tclThreadAlloc.$(OBJEXT) \
   265 	tclThreadJoin.$(OBJEXT) \
   266 	tclTimer.$(OBJEXT) \
   267 	tclUtf.$(OBJEXT) \
   268 	tclUtil.$(OBJEXT) \
   269 	tclVar.$(OBJEXT)
   270 
   271 WIN_OBJS = \
   272 	tclWin32Dll.$(OBJEXT) \
   273 	tclWinChan.$(OBJEXT) \
   274 	tclWinConsole.$(OBJEXT) \
   275 	tclWinSerial.$(OBJEXT) \
   276 	tclWinError.$(OBJEXT) \
   277 	tclWinFCmd.$(OBJEXT) \
   278 	tclWinFile.$(OBJEXT) \
   279 	tclWinInit.$(OBJEXT) \
   280 	tclWinLoad.$(OBJEXT) \
   281 	tclWinMtherr.$(OBJEXT) \
   282 	tclWinNotify.$(OBJEXT) \
   283 	tclWinPipe.$(OBJEXT) \
   284 	tclWinSock.$(OBJEXT) \
   285 	tclWinThrd.$(OBJEXT) \
   286 	tclWinTime.$(OBJEXT) 
   287 
   288 COMPAT_OBJS = \
   289 	strftime.$(OBJEXT) strtoll.$(OBJEXT) strtoull.$(OBJEXT)
   290 
   291 PIPE_OBJS = stub16.$(OBJEXT)
   292 
   293 DDE_OBJS = tclWinDde.$(OBJEXT)
   294 
   295 REG_OBJS = tclWinReg.$(OBJEXT)
   296 
   297 STUB_OBJS = tclStubLib.$(OBJEXT)
   298 
   299 TCLSH_OBJS = tclAppInit.$(OBJEXT)
   300 
   301 TCL_OBJS = ${GENERIC_OBJS} ${WIN_OBJS} ${COMPAT_OBJS}
   302 
   303 TCL_DOCS = "$(ROOT_DIR_NATIVE)"/doc/*.[13n]
   304 
   305 all: binaries libraries doc
   306 
   307 tcltest: $(TCLTEST)
   308 
   309 binaries: @LIBRARIES@ $(TCLSH)
   310 
   311 libraries:
   312 
   313 doc:
   314 
   315 winhelp: $(ROOT_DIR)/tools/man2help.tcl $(MAN2TCL)
   316 	TCL_LIBRARY="$(LIBRARY_DIR)"; export TCL_LIBRARY; \
   317 	./$(TCLSH) "$(ROOT_DIR_NATIVE)"/tools/man2help.tcl tcl "$(VER)" $(TCL_DOCS)
   318 	hcw /c /e tcl.hpj
   319 
   320 $(MAN2TCL): $(ROOT_DIR)/tools/man2tcl.c
   321 	$(CC) $(CFLAGS_OPTIMIZE) $(MAN2TCLFLAGS) -o $(MAN2TCL) "$(ROOT_DIR_NATIVE)"/tools/man2tcl.c
   322 
   323 $(TCLSH): $(TCL_LIB_FILE) $(TCL_STUB_LIB_FILE) $(TCLSH_OBJS) tclsh.$(RES)
   324 	$(CC) $(CFLAGS) $(TCLSH_OBJS) $(TCL_LIB_FILE) $(LIBS) \
   325         tclsh.$(RES) $(CC_EXENAME) $(LDFLAGS_CONSOLE)
   326 
   327 $(TCLTEST): $(TCL_LIB_FILE) $(TCLTEST_OBJS) $(CAT32) tclsh.$(RES)
   328 	$(CC) $(CFLAGS) $(TCLTEST_OBJS) $(TCL_LIB_FILE) $(LIBS) \
   329         tclsh.$(RES) $(CC_EXENAME) $(LDFLAGS_CONSOLE)
   330 
   331 cat32.$(OBJEXT): cat.c
   332 	$(CC) -c $(CC_SWITCHES) @DEPARG@ $(CC_OBJNAME)
   333 
   334 $(CAT32): cat32.$(OBJEXT)
   335 	$(CC) $(CFLAGS) cat32.$(OBJEXT) $(CC_EXENAME) $(LIBS) $(LDFLAGS_CONSOLE)
   336 
   337 # The following targets are configured by autoconf to generate either
   338 # a shared library or static library
   339 
   340 ${TCL_STUB_LIB_FILE}: ${STUB_OBJS}
   341 	@$(RM) ${TCL_STUB_LIB_FILE}
   342 	@MAKE_LIB@ ${STUB_OBJS}
   343 	@POST_MAKE_LIB@
   344 
   345 ${TCL_DLL_FILE}: ${TCL_OBJS} tcl.$(RES)
   346 	@$(RM) ${TCL_DLL_FILE}
   347 	@MAKE_DLL@ ${TCL_OBJS} tcl.$(RES) $(SHLIB_LD_LIBS)
   348 
   349 ${TCL_LIB_FILE}: ${TCL_OBJS}
   350 	@$(RM) ${TCL_LIB_FILE}
   351 	@MAKE_LIB@ ${TCL_OBJS}
   352 	@POST_MAKE_LIB@
   353 
   354 ${DDE_DLL_FILE}: ${DDE_OBJS} ${TCL_STUB_LIB_FILE}
   355 	@$(RM) ${DDE_DLL_FILE}
   356 	@MAKE_DLL@ ${DDE_OBJS} $(TCL_STUB_LIB_FILE) $(SHLIB_LD_LIBS)
   357 
   358 ${DDE_LIB_FILE}: ${DDE_OBJS} ${TCL_LIB_FILE}
   359 	@$(RM) ${DDE_LIB_FILE}
   360 	@MAKE_LIB@ ${DDE_OBJS} ${TCL_LIB_FILE}
   361 
   362 ${REG_DLL_FILE}: ${REG_OBJS} ${TCL_STUB_LIB_FILE}
   363 	@$(RM) ${REG_DLL_FILE}
   364 	@MAKE_DLL@ ${REG_OBJS} $(TCL_STUB_LIB_FILE) $(SHLIB_LD_LIBS)
   365 
   366 ${REG_LIB_FILE}: ${REG_OBJS} ${TCL_LIB_FILE}
   367 	@$(RM) ${REG_LIB_FILE}
   368 	@MAKE_LIB@ ${REG_OBJS} ${TCL_LIB_FILE}
   369 
   370 # PIPE_DLL_FILE is actually an executable, don't build it
   371 # like a DLL.
   372 
   373 ${PIPE_DLL_FILE}: ${PIPE_OBJS}
   374 	@$(RM) ${PIPE_DLL_FILE}
   375 	@MAKE_EXE@ $(CFLAGS) ${PIPE_OBJS} $(LIBS) $(LDFLAGS_CONSOLE)
   376 
   377 # Add the object extension to the implicit rules.  By default .obj is not
   378 # automatically added.
   379 
   380 .SUFFIXES: .${OBJEXT}
   381 .SUFFIXES: .$(RES)
   382 .SUFFIXES: .rc
   383 
   384 # Special case object targets
   385 
   386 tclWinInit.${OBJEXT}: tclWinInit.c
   387 	$(CC) -c $(CC_SWITCHES) -DBUILD_tcl $(EXTFLAGS) @DEPARG@ $(CC_OBJNAME)
   388 
   389 tclWinPipe.${OBJEXT}: tclWinPipe.c
   390 	$(CC) -c $(CC_SWITCHES) -DBUILD_tcl -DTCL_PIPE_DLL=\"$(PIPE_DLL_FILE)\" \
   391 	    $(EXTFLAGS) @DEPARG@ $(CC_OBJNAME)
   392 
   393 testMain.${OBJEXT}: tclAppInit.c
   394 	$(CC) -c $(CC_SWITCHES) -DTCL_TEST @DEPARG@ $(CC_OBJNAME)
   395 
   396 tclTest.${OBJEXT}: tclTest.c
   397 	$(CC) -c $(CC_SWITCHES) @DEPARG@ $(CC_OBJNAME)
   398 
   399 tclTestObj.${OBJEXT}: tclTestObj.c
   400 	$(CC) -c $(CC_SWITCHES) @DEPARG@ $(CC_OBJNAME)
   401 
   402 tclWinTest.${OBJEXT}: tclWinTest.c
   403 	$(CC) -c $(CC_SWITCHES) @DEPARG@ $(CC_OBJNAME)
   404 
   405 tclAppInit.${OBJEXT} : tclAppInit.c
   406 	$(CC) -c $(CC_SWITCHES) @DEPARG@ $(CC_OBJNAME)
   407 
   408 # The following objects should be built using the stub interfaces
   409 
   410 tclWinReg.${OBJEXT} : tclWinReg.c
   411 	$(CC) -c $(CC_SWITCHES) -DUSE_TCL_STUBS @DEPARG@ $(CC_OBJNAME)
   412 
   413 tclWinDde.${OBJEXT} : tclWinDde.c
   414 	$(CC) -c $(CC_SWITCHES) -DUSE_TCL_STUBS @DEPARG@ $(CC_OBJNAME)
   415 
   416 # The following objects are part of the stub library and should not
   417 # be built as DLL objects but none of the symbols should be exported
   418 
   419 tclStubLib.${OBJEXT}: tclStubLib.c
   420 	$(CC) -c $(CC_SWITCHES) -DSTATIC_BUILD @DEPARG@ $(CC_OBJNAME)
   421 
   422 
   423 # Implicit rule for all object files that will end up in the Tcl library
   424 
   425 .c.${OBJEXT}:
   426 	$(CC) -c $(CC_SWITCHES) -DBUILD_tcl @DEPARG@ $(CC_OBJNAME)
   427 
   428 .rc.$(RES):
   429 	$(RC) @RC_OUT@ $@ @RC_TYPE@ @RC_DEFINES@ @RC_INCLUDE@ "$(GENERIC_DIR_NATIVE)" @RC_INCLUDE@ "$(WIN_DIR_NATIVE)" @DEPARG@
   430 
   431 install: all install-binaries install-libraries install-doc
   432 
   433 install-binaries: binaries
   434 	@for i in "$(LIB_INSTALL_DIR)" "$(BIN_INSTALL_DIR)" ; \
   435 	    do \
   436 	    if [ ! -d $$i ] ; then \
   437 		echo "Making directory $$i"; \
   438 		$(MKDIR) $$i; \
   439 		chmod 755 $$i; \
   440 		else true; \
   441 		fi; \
   442 	    done;
   443 	@for i in dde1.2 reg1.1; \
   444 	    do \
   445 	    if [ ! -d $(LIB_INSTALL_DIR)/$$i ] ; then \
   446 		echo "Making directory $(LIB_INSTALL_DIR)/$$i"; \
   447 		$(MKDIR) $(LIB_INSTALL_DIR)/$$i; \
   448 		else true; \
   449 		fi; \
   450 	    done;
   451 	@for i in $(TCL_DLL_FILE) $(TCLSH) $(PIPE_DLL_FILE); \
   452 	    do \
   453 	    if [ -f $$i ]; then \
   454 		echo "Installing $$i to $(BIN_INSTALL_DIR)/"; \
   455 		$(COPY) $$i "$(BIN_INSTALL_DIR)"; \
   456 	    fi; \
   457 	    done
   458 	@for i in tclConfig.sh $(TCL_LIB_FILE) $(TCL_STUB_LIB_FILE); \
   459 	    do \
   460 	    if [ -f $$i ]; then \
   461 		echo "Installing $$i to $(LIB_INSTALL_DIR)/"; \
   462 		$(COPY) $$i "$(LIB_INSTALL_DIR)"; \
   463 	    fi; \
   464 	    done
   465 	@if [ -f $(DDE_DLL_FILE) ]; then \
   466 	    echo installing $(DDE_DLL_FILE); \
   467 	    $(COPY) $(DDE_DLL_FILE) $(LIB_INSTALL_DIR)/dde1.2; \
   468 	    $(COPY) $(ROOT_DIR)/library/dde/pkgIndex.tcl \
   469 		$(LIB_INSTALL_DIR)/dde1.2; \
   470 	    fi
   471 	@if [ -f $(DDE_LIB_FILE) ]; then \
   472 	    echo installing $(DDE_LIB_FILE); \
   473 	    $(COPY) $(DDE_LIB_FILE) $(LIB_INSTALL_DIR)/dde1.2; \
   474 	    fi
   475 	@if [ -f $(REG_DLL_FILE) ]; then \
   476 	    echo installing $(REG_DLL_FILE); \
   477 	    $(COPY) $(REG_DLL_FILE) $(LIB_INSTALL_DIR)/reg1.1; \
   478 	    $(COPY) $(ROOT_DIR)/library/reg/pkgIndex.tcl \
   479 		$(LIB_INSTALL_DIR)/reg1.1; \
   480 	    fi
   481 	@if [ -f $(REG_LIB_FILE) ]; then \
   482 	    echo installing $(REG_LIB_FILE); \
   483 	    $(COPY) $(REG_LIB_FILE) $(LIB_INSTALL_DIR)/reg1.1; \
   484 	    fi
   485 
   486 install-libraries: libraries
   487 	@for i in $(prefix)/lib $(INCLUDE_INSTALL_DIR) \
   488 		$(SCRIPT_INSTALL_DIR); \
   489 	    do \
   490 	    if [ ! -d $$i ] ; then \
   491 		echo "Making directory $$i"; \
   492 		$(MKDIR) $$i; \
   493 		else true; \
   494 		fi; \
   495 	    done;
   496 	@for i in http1.0 http2.5 opt0.4 encoding msgcat1.3 tcltest2.2; \
   497 	    do \
   498 	    if [ ! -d $(SCRIPT_INSTALL_DIR)/$$i ] ; then \
   499 		echo "Making directory $(SCRIPT_INSTALL_DIR)/$$i"; \
   500 		$(MKDIR) $(SCRIPT_INSTALL_DIR)/$$i; \
   501 		else true; \
   502 		fi; \
   503 	    done;
   504 	@echo "Installing header files";
   505 	@for i in "$(GENERIC_DIR)/tcl.h" "$(GENERIC_DIR)/tclDecls.h" \
   506 		"$(GENERIC_DIR)/tclPlatDecls.h" ; \
   507 	    do \
   508 	    $(COPY) "$$i" "$(INCLUDE_INSTALL_DIR)"; \
   509 	    done;
   510 	@echo "Installing library files to $(SCRIPT_INSTALL_DIR)";
   511 	@for i in $(ROOT_DIR)/library/*.tcl $(ROOT_DIR)/library/tclIndex; \
   512 	    do \
   513 	    $(COPY) "$$i" "$(SCRIPT_INSTALL_DIR)"; \
   514 	    done;
   515 	@echo "Installing library http1.0 directory";
   516 	@for j in $(ROOT_DIR)/library/http1.0/*.tcl; \
   517 	    do \
   518 	    $(COPY) "$$j" "$(SCRIPT_INSTALL_DIR)/http1.0"; \
   519 	    done;
   520 	@echo "Installing library http2.5 directory";
   521 	@for j in $(ROOT_DIR)/library/http/*.tcl; \
   522 	    do \
   523 	    $(COPY) "$$j" "$(SCRIPT_INSTALL_DIR)/http2.5"; \
   524 	    done;
   525 	@echo "Installing library opt0.4 directory";
   526 	@for j in $(ROOT_DIR)/library/opt/*.tcl; \
   527 	    do \
   528 	    $(COPY) "$$j" "$(SCRIPT_INSTALL_DIR)/opt0.4"; \
   529 	    done;
   530 	@echo "Installing library msgcat1.3 directory";
   531 	@for j in $(ROOT_DIR)/library/msgcat/*.tcl; \
   532 	    do \
   533 	    $(COPY) "$$j" "$(SCRIPT_INSTALL_DIR)/msgcat1.3"; \
   534 	    done;
   535 	@echo "Installing library tcltest2.2 directory";
   536 	@for j in $(ROOT_DIR)/library/tcltest/*.tcl; \
   537 	    do \
   538 	    $(COPY) "$$j" "$(SCRIPT_INSTALL_DIR)/tcltest2.2"; \
   539 	    done;
   540 	@echo "Installing encodings";
   541 	@for i in $(ROOT_DIR)/library/encoding/*.enc ; do \
   542 		$(COPY) "$$i" "$(SCRIPT_INSTALL_DIR)/encoding"; \
   543 	done;
   544 
   545 install-doc: doc
   546 
   547 # Optional target to install private headers
   548 install-private-headers: libraries
   549 	@for i in $(PRIVATE_INCLUDE_INSTALL_DIR); \
   550 	    do \
   551 	    if [ ! -d $$i ] ; then \
   552 		echo "Making directory $$i"; \
   553 		$(MKDIR) $$i; \
   554 		chmod 755 $$i; \
   555 		else true; \
   556 		fi; \
   557 	    done;
   558 	@echo "Installing private header files to $(PRIVATE_INCLUDE_INSTALL_DIR)/";
   559 	@for i in "$(GENERIC_DIR)/tclInt.h" "$(GENERIC_DIR)/tclIntDecls.h" \
   560 		"$(GENERIC_DIR)/tclIntPlatDecls.h" "$(GENERIC_DIR)/tclPort.h" \
   561 		"$(WIN_DIR)/tclWinPort.h" ; \
   562 	    do \
   563 	    $(COPY) "$$i" "$(PRIVATE_INCLUDE_INSTALL_DIR)"; \
   564 	    done;
   565 
   566 # Specifying TESTFLAGS on the command line is the standard way to pass
   567 # args to tcltest, ie:
   568 #	% make test TESTFLAGS="-verbose bps -file fileName.test"
   569 
   570 test: binaries $(TCLTEST)
   571 	TCL_LIBRARY="$(LIBRARY_DIR)"; export TCL_LIBRARY; \
   572 	./$(TCLTEST) "$(ROOT_DIR_NATIVE)/tests/all.tcl" $(TESTFLAGS) \
   573 	| ./$(CAT32)
   574 
   575 # Useful target to launch a built tcltest with the proper path,...
   576 runtest: binaries $(TCLTEST)
   577 	@TCL_LIBRARY="$(LIBRARY_DIR)"; export TCL_LIBRARY; \
   578 	./$(TCLTEST) $(TESTFLAGS) $(SCRIPT)
   579 
   580 # This target can be used to run tclsh from the build directory
   581 # via `make shell SCRIPT=foo.tcl`
   582 shell: binaries
   583 	@TCL_LIBRARY="$(LIBRARY_DIR)"; export TCL_LIBRARY; \
   584 	./$(TCLSH) $(SCRIPT)
   585 
   586 # This target can be used to run tclsh inside either gdb or insight
   587 gdb: binaries
   588 	@echo "set env TCL_LIBRARY=$(LIBRARY_DIR)" > gdb.run
   589 	gdb ./tclsh --command=gdb.run
   590 	rm gdb.run
   591 
   592 depend:
   593 
   594 Makefile: $(SRC_DIR)/Makefile.in
   595 	./config.status
   596 
   597 cleanhelp:
   598 	$(RM) *.hlp *.cnt *.GID *.rtf man2tcl.exe
   599 
   600 clean: cleanhelp
   601 	$(RM) *.lib *.a *.exp *.dll *.$(RES) *.${OBJEXT} *~ \#* TAGS a.out
   602 	$(RM) $(TCLSH) $(TCLTEST) $(CAT32)
   603 	$(RM) *.pch *.ilk *.pdb
   604 
   605 distclean: clean
   606 	$(RM) Makefile config.status config.cache config.log tclConfig.sh \
   607 		tcl.hpj
   608 
   609 #
   610 # Regenerate the stubs files.
   611 #
   612 
   613 $(GENERIC_DIR)/tclStubInit.c: $(GENERIC_DIR)/tcl.decls \
   614 		$(GENERIC_DIR)/tclInt.decls
   615 	@echo "Warning: tclStubInit.c may be out of date."
   616 	@echo "Developers may want to run \"make genstubs\" to regenerate."
   617 	@echo "This warning can be safely ignored, do not report as a bug!"
   618 
   619 genstubs:
   620 	$(TCL_EXE) "$(ROOT_DIR_NATIVE)\tools\genStubs.tcl" \
   621 	    "$(GENERIC_DIR_NATIVE)" \
   622 	    "$(GENERIC_DIR_NATIVE)\tcl.decls" \
   623             "$(GENERIC_DIR_NATIVE)\tclInt.decls"