os/persistentdata/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/unix/Makefile.in
Update contrib.
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
8 # RCS: @(#) $Id: Makefile.in,v 1.121.2.20 2007/04/30 22:58:18 das Exp $
10 VERSION = @TCL_VERSION@
11 MAJOR_VERSION = @TCL_MAJOR_VERSION@
12 MINOR_VERSION = @TCL_MINOR_VERSION@
13 PATCH_LEVEL = @TCL_PATCH_LEVEL@
15 #----------------------------------------------------------------
16 # Things you can change to personalize the Makefile for your own
17 # site (you can make these changes in either Makefile.in or
18 # Makefile, but changes to Makefile will get lost if you re-run
19 # the configuration script).
20 #----------------------------------------------------------------
22 # Default top-level directories in which to install architecture-
23 # specific files (exec_prefix) and machine-independent files such
24 # as scripts (prefix). The values specified here may be overridden
25 # at configure-time with the --exec-prefix and --prefix options
26 # to the "configure" script. The *dir vars are standard configure
27 # substitutions that are based off prefix and exec_prefix.
30 exec_prefix = @exec_prefix@
33 includedir = @includedir@
36 # The following definition can be set to non-null for special systems
37 # like AFS with replication. It allows the pathnames used for installation
38 # to be different than those used for actually reference files at
39 # run-time. INSTALL_ROOT is prepended to $prefix and $exec_prefix
40 # when installing files.
41 INSTALL_ROOT = $(DESTDIR)
43 # Path for the platform independent Tcl scripting libraries:
44 TCL_LIBRARY = @TCL_LIBRARY@
46 # Path to use at runtime to refer to LIB_INSTALL_DIR:
47 LIB_RUNTIME_DIR = $(libdir)
49 # Directory in which to install the program tclsh:
50 BIN_INSTALL_DIR = $(INSTALL_ROOT)$(bindir)
52 # Directory in which to install libtcl.so or libtcl.a:
53 LIB_INSTALL_DIR = $(INSTALL_ROOT)$(libdir)
55 # Path name to use when installing library scripts.
56 SCRIPT_INSTALL_DIR = $(INSTALL_ROOT)$(TCL_LIBRARY)
58 # Directory in which to install the include file tcl.h:
59 INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(includedir)
61 # Path to the private tcl header dir:
62 PRIVATE_INCLUDE_DIR = @PRIVATE_INCLUDE_DIR@
64 # Directory in which to (optionally) install the private tcl headers:
65 PRIVATE_INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(PRIVATE_INCLUDE_DIR)
67 # Top-level directory in which to install manual entries:
68 MAN_INSTALL_DIR = $(INSTALL_ROOT)$(mandir)
70 # Directory in which to install manual entry for tclsh:
71 MAN1_INSTALL_DIR = $(MAN_INSTALL_DIR)/man1
73 # Directory in which to install manual entries for Tcl's C library
75 MAN3_INSTALL_DIR = $(MAN_INSTALL_DIR)/man3
77 # Directory in which to install manual entries for the built-in
79 MANN_INSTALL_DIR = $(MAN_INSTALL_DIR)/mann
81 # Path to the html documentation dir:
84 # Directory in which to install html documentation:
85 HTML_INSTALL_DIR = $(INSTALL_ROOT)$(HTML_DIR)
87 # Package search path.
88 TCL_PACKAGE_PATH = @TCL_PACKAGE_PATH@
90 # Libraries built with optimization switches have this additional extension
94 CFLAGS_WARNING = @CFLAGS_WARNING@
96 # The default switches for optimization or debugging
97 CFLAGS_DEBUG = @CFLAGS_DEBUG@
98 CFLAGS_OPTIMIZE = @CFLAGS_OPTIMIZE@
100 # To change the compiler switches, for example to change from optimization to
101 # debugging symbols, change the following line:
102 #CFLAGS = $(CFLAGS_DEBUG)
103 #CFLAGS = $(CFLAGS_OPTIMIZE)
104 #CFLAGS = $(CFLAGS_DEBUG) $(CFLAGS_OPTIMIZE)
105 CFLAGS = @CFLAGS_DEFAULT@ @CFLAGS@ -DTCL_DBGX=$(TCL_DBGX)
107 # Flags to pass to the linker
108 LDFLAGS_DEBUG = @LDFLAGS_DEBUG@
109 LDFLAGS_OPTIMIZE = @LDFLAGS_OPTIMIZE@
110 LDFLAGS = @LDFLAGS_DEFAULT@ @LDFLAGS@
112 # To disable ANSI-C procedure prototypes reverse the comment characters
113 # on the following lines:
115 #PROTO_FLAGS = -DNO_PROTOTYPE
117 # Mathematical functions like sin and atan2 are enabled for expressions
118 # by default. To disable them, reverse the comment characters on the
119 # following pairs of lines:
121 #MATH_FLAGS = -DTCL_NO_MATH
122 MATH_LIBS = @MATH_LIBS@
125 # If you use the setenv, putenv, or unsetenv procedures to modify
126 # environment variables in your application and you'd like those
127 # modifications to appear in the "env" Tcl variable, switch the
128 # comments on the two lines below so that Tcl provides these
129 # procedures instead of your standard C library.
132 #ENV_FLAGS = -DTclSetEnv=setenv -DTcl_PutEnv=putenv -DTclUnsetEnv=unsetenv
134 # To compile for non-UNIX systems (so that only the non-UNIX-specific
135 # commands are available), reverse the comment characters on the
136 # following pairs of lines. In addition, you'll have to provide your
137 # own replacement for the "panic" procedure (see panic.c for what
138 # the current one does).
140 #GENERIC_FLAGS = -DTCL_GENERIC_ONLY
141 UNIX_OBJS = tclUnixChan.o tclUnixEvent.o tclUnixFCmd.o \
142 tclUnixFile.o tclUnixPipe.o tclUnixSock.o \
143 tclUnixTime.o tclUnixInit.o tclUnixThrd.o \
146 NOTIFY_OBJS = tclUnixNotfy.o
149 # To enable memory debugging reverse the comment characters on the following
150 # lines or call configure with --enable-symbols=mem
151 # Warning: if you enable memory debugging, you must do it *everywhere*,
152 # including all the code that calls Tcl, and you must use ckalloc and
153 # ckfree everywhere instead of malloc and free.
155 #MEM_DEBUG_FLAGS = -DTCL_MEM_DEBUG
157 TCL_STUB_LIB_FILE = @TCL_STUB_LIB_FILE@
158 #TCL_STUB_LIB_FILE = libtclstub.a
160 # Generic stub lib name used in rules that apply to tcl and tk
161 STUB_LIB_FILE = ${TCL_STUB_LIB_FILE}
163 TCL_STUB_LIB_FLAG = @TCL_STUB_LIB_FLAG@
164 #TCL_STUB_LIB_FLAG = -ltclstub
166 # To enable compilation debugging reverse the comment characters on one
167 # of the following lines or call configure with --enable-symbols=compile
168 COMPILE_DEBUG_FLAGS =
169 #COMPILE_DEBUG_FLAGS = -DTCL_COMPILE_DEBUG -DTCL_COMPILE_STATS
171 # To compile without backward compatibility and deprecated code
172 # uncomment the following
173 NO_DEPRECATED_FLAGS =
174 #NO_DEPRECATED_FLAGS = -DTCL_NO_DEPRECATED
176 # Some versions of make, like SGI's, use the following variable to
177 # determine which shell to use for executing commands:
180 # Tcl used to let the configure script choose which program to use
181 # for installing, but there are just too many different versions of
182 # "install" around; better to use the install-sh script that comes
183 # with the distribution, which is slower but guaranteed to work.
185 INSTALL_STRIP_PROGRAM = -s
186 INSTALL_STRIP_LIBRARY = -S -S
188 INSTALL = @srcdir@/install-sh -c
189 INSTALL_PROGRAM = ${INSTALL}
190 INSTALL_LIBRARY = ${INSTALL}
191 INSTALL_DATA = ${INSTALL} -m 644
193 # TCL_EXE is the name of a tclsh executable that is available *BEFORE*
194 # running make for the first time. Certain build targets (make genstubs)
195 # need it to be available on the PATH. This executable should *NOT* be
196 # required just to do a normal build although it can be required to run
200 # The symbols below provide support for dynamic loading and shared
201 # libraries. See configure.in for a description of what the
202 # symbols mean. The values of the symbols are normally set by the
203 # configure script. You shouldn't normally need to modify any of
204 # these definitions by hand.
206 STLIB_LD = @STLIB_LD@
207 SHLIB_LD = @SHLIB_LD@
208 SHLIB_CFLAGS = @SHLIB_CFLAGS@
209 SHLIB_LD_LIBS = @SHLIB_LD_LIBS@
210 TCL_SHLIB_LD_EXTRAS = @TCL_SHLIB_LD_EXTRAS@
212 SHLIB_SUFFIX = @SHLIB_SUFFIX@
215 DLTEST_TARGETS = dltest.marker
217 # Additional search flags needed to find the various shared libraries
218 # at run-time. The first symbol is for use when creating a binary
219 # with cc, and the second is for use when running ld directly.
220 CC_SEARCH_FLAGS = @CC_SEARCH_FLAGS@
221 LD_SEARCH_FLAGS = @LD_SEARCH_FLAGS@
223 # The following symbol is defined to "$(DLTEST_TARGETS)" if dynamic
224 # loading is available; this causes everything in the "dltest"
225 # subdirectory to be built when making "tcltest. If dynamic loading
226 # isn't available, configure defines this symbol to an empty string,
227 # in which case the shared libraries aren't built.
228 BUILD_DLTEST = @BUILD_DLTEST@
231 TCL_LIB_FILE = @TCL_LIB_FILE@
232 #TCL_LIB_FILE = libtcl.a
234 # Generic lib name used in rules that apply to tcl and tk
235 LIB_FILE = ${TCL_LIB_FILE}
237 TCL_LIB_FLAG = @TCL_LIB_FLAG@
238 #TCL_LIB_FLAG = -ltcl
240 TCL_EXP_FILE = @TCL_EXP_FILE@
241 TCL_BUILD_EXP_FILE = @TCL_BUILD_EXP_FILE@
243 # support for embedded libraries on Darwin / Mac OS X
244 DYLIB_INSTALL_DIR = ${LIB_RUNTIME_DIR}
246 #----------------------------------------------------------------
247 # The information below is modified by the configure script when
248 # Makefile is generated from Makefile.in. You shouldn't normally
249 # modify any of this stuff by hand.
250 #----------------------------------------------------------------
252 COMPAT_OBJS = @LIBOBJS@
258 TOP_DIR = $(SRC_DIR)/..
259 GENERIC_DIR = $(TOP_DIR)/generic
260 COMPAT_DIR = $(TOP_DIR)/compat
261 TOOL_DIR = $(TOP_DIR)/tools
262 UNIX_DIR = $(SRC_DIR)
263 MAC_OSX_DIR = $(TOP_DIR)/macosx
264 # Must be absolute because of the cd dltest $(DLTEST_DIR)/configure below.
265 DLTEST_DIR = @TCL_SRC_DIR@/unix/dltest
266 # Must be absolute to so the corresponding tcltest's tcl_library is absolute.
267 TCL_BUILDTIME_LIBRARY = @TCL_SRC_DIR@/library
270 #CC = purify -best-effort @CC@ -DPURIFY
272 # Flags to be passed to installManPage to control whether the manpages
273 # should be compressed and linked with softlinks
274 MAN_FLAGS = @MAN_FLAGS@
276 #----------------------------------------------------------------
277 # The information below is usually usable as is. The configure
278 # script won't modify it and it only exists to make working
279 # around selected rare system configurations easier.
280 #----------------------------------------------------------------
285 #----------------------------------------------------------------
286 # The information below should be usable as is. The configure
287 # script won't modify it and you shouldn't need to modify it
289 #----------------------------------------------------------------
292 CC_SWITCHES = ${CFLAGS} ${CFLAGS_WARNING} ${SHLIB_CFLAGS} \
293 -I${GENERIC_DIR} -I${SRC_DIR} \
294 ${AC_FLAGS} ${MATH_FLAGS} ${GENERIC_FLAGS} ${PROTO_FLAGS} ${MEM_DEBUG_FLAGS} \
295 ${COMPILE_DEBUG_FLAGS} ${NO_DEPRECATED_FLAGS} ${ENV_FLAGS} \
296 -DTCL_SHLIB_EXT=\"${SHLIB_SUFFIX}\" @EXTRA_CC_SWITCHES@
298 STUB_CC_SWITCHES = ${CFLAGS} ${CFLAGS_WARNING} ${SHLIB_CFLAGS} \
299 -I${GENERIC_DIR} -I${SRC_DIR} \
300 ${AC_FLAGS} ${MATH_FLAGS} ${GENERIC_FLAGS} ${PROTO_FLAGS} ${MEM_DEBUG_FLAGS} \
301 ${COMPILE_DEBUG_FLAGS} ${ENV_FLAGS} -DTCL_SHLIB_EXT=\"${SHLIB_SUFFIX}\" @EXTRA_CC_SWITCHES@
303 LIBS = @DL_LIBS@ @LIBS@ $(MATH_LIBS)
305 DEPEND_SWITCHES = ${CFLAGS} -I${GENERIC_DIR} -I${SRC_DIR} \
306 ${AC_FLAGS} ${MATH_FLAGS} \
307 ${GENERIC_FLAGS} ${PROTO_FLAGS} ${MEM_DEBUG_FLAGS} \
308 -DTCL_SHLIB_EXT=\"${SHLIB_SUFFIX}\" @EXTRA_CC_SWITCHES@
310 TCLSH_OBJS = tclAppInit.o
312 TCLTEST_OBJS = tclTestInit.o tclTest.o tclTestObj.o tclTestProcBodyObj.o \
313 tclThreadTest.o tclUnixTest.o
315 XTTEST_OBJS = xtTestInit.o tclTest.o tclTestObj.o tclTestProcBodyObj.o \
316 tclThreadTest.o tclUnixTest.o tclXtNotify.o tclXtTest.o
318 GENERIC_OBJS = regcomp.o regexec.o regfree.o regerror.o tclAlloc.o \
319 tclAsync.o tclBasic.o tclBinary.o \
320 tclCkalloc.o tclClock.o tclCmdAH.o tclCmdIL.o tclCmdMZ.o \
321 tclCompCmds.o tclCompExpr.o tclCompile.o tclDate.o tclEncoding.o \
322 tclEnv.o tclEvent.o tclExecute.o tclFCmd.o tclFileName.o tclGet.o \
323 tclHash.o tclHistory.o tclIndexObj.o tclInterp.o tclIO.o tclIOCmd.o \
324 tclIOGT.o tclIOSock.o tclIOUtil.o tclLink.o tclListObj.o \
325 tclLiteral.o tclLoad.o tclMain.o tclNamesp.o tclNotify.o \
326 tclObj.o tclPanic.o tclParse.o tclParseExpr.o tclPipe.o \
327 tclPkg.o tclPosixStr.o tclPreserve.o tclProc.o tclRegexp.o \
328 tclResolve.o tclResult.o tclScan.o tclStringObj.o tclThread.o \
329 tclThreadAlloc.o tclThreadJoin.o tclStubInit.o tclStubLib.o \
330 tclTimer.o tclUtf.o tclUtil.o tclVar.o
332 STUB_LIB_OBJS = tclStubLib.o ${COMPAT_OBJS}
334 MAC_OSX_OBJS = tclMacOSXBundle.o tclMacOSXNotify.o
336 OBJS = ${GENERIC_OBJS} ${UNIX_OBJS} ${NOTIFY_OBJS} ${COMPAT_OBJS} \
337 @DL_OBJS@ @PLAT_OBJS@
340 $(GENERIC_DIR)/tcl.decls \
341 $(GENERIC_DIR)/tclInt.decls
344 $(GENERIC_DIR)/tcl.h \
345 $(GENERIC_DIR)/tclDecls.h \
346 $(GENERIC_DIR)/tclInt.h \
347 $(GENERIC_DIR)/tclIntDecls.h \
348 $(GENERIC_DIR)/tclIntPlatDecls.h \
349 $(GENERIC_DIR)/tclPatch.h \
350 $(GENERIC_DIR)/tclPlatDecls.h \
351 $(GENERIC_DIR)/tclPort.h \
352 $(GENERIC_DIR)/tclRegexp.h
355 $(GENERIC_DIR)/regcomp.c \
356 $(GENERIC_DIR)/regexec.c \
357 $(GENERIC_DIR)/regfree.c \
358 $(GENERIC_DIR)/regerror.c \
359 $(GENERIC_DIR)/tclAlloc.c \
360 $(GENERIC_DIR)/tclAsync.c \
361 $(GENERIC_DIR)/tclBasic.c \
362 $(GENERIC_DIR)/tclBinary.c \
363 $(GENERIC_DIR)/tclCkalloc.c \
364 $(GENERIC_DIR)/tclClock.c \
365 $(GENERIC_DIR)/tclCmdAH.c \
366 $(GENERIC_DIR)/tclCmdIL.c \
367 $(GENERIC_DIR)/tclCmdMZ.c \
368 $(GENERIC_DIR)/tclCompCmds.c \
369 $(GENERIC_DIR)/tclCompExpr.c \
370 $(GENERIC_DIR)/tclCompile.c \
371 $(GENERIC_DIR)/tclDate.c \
372 $(GENERIC_DIR)/tclEncoding.c \
373 $(GENERIC_DIR)/tclEnv.c \
374 $(GENERIC_DIR)/tclEvent.c \
375 $(GENERIC_DIR)/tclExecute.c \
376 $(GENERIC_DIR)/tclFCmd.c \
377 $(GENERIC_DIR)/tclFileName.c \
378 $(GENERIC_DIR)/tclGet.c \
379 $(GENERIC_DIR)/tclHash.c \
380 $(GENERIC_DIR)/tclHistory.c \
381 $(GENERIC_DIR)/tclIndexObj.c \
382 $(GENERIC_DIR)/tclInterp.c \
383 $(GENERIC_DIR)/tclIO.c \
384 $(GENERIC_DIR)/tclIOCmd.c \
385 $(GENERIC_DIR)/tclIOGT.c \
386 $(GENERIC_DIR)/tclIOSock.c \
387 $(GENERIC_DIR)/tclIOUtil.c \
388 $(GENERIC_DIR)/tclLink.c \
389 $(GENERIC_DIR)/tclListObj.c \
390 $(GENERIC_DIR)/tclLiteral.c \
391 $(GENERIC_DIR)/tclLoad.c \
392 $(GENERIC_DIR)/tclMain.c \
393 $(GENERIC_DIR)/tclNamesp.c \
394 $(GENERIC_DIR)/tclNotify.c \
395 $(GENERIC_DIR)/tclObj.c \
396 $(GENERIC_DIR)/tclParse.c \
397 $(GENERIC_DIR)/tclParseExpr.c \
398 $(GENERIC_DIR)/tclPipe.c \
399 $(GENERIC_DIR)/tclPkg.c \
400 $(GENERIC_DIR)/tclPosixStr.c \
401 $(GENERIC_DIR)/tclPreserve.c \
402 $(GENERIC_DIR)/tclProc.c \
403 $(GENERIC_DIR)/tclRegexp.c \
404 $(GENERIC_DIR)/tclResolve.c \
405 $(GENERIC_DIR)/tclResult.c \
406 $(GENERIC_DIR)/tclScan.c \
407 $(GENERIC_DIR)/tclStubInit.c \
408 $(GENERIC_DIR)/tclStubLib.c \
409 $(GENERIC_DIR)/tclStringObj.c \
410 $(GENERIC_DIR)/tclTest.c \
411 $(GENERIC_DIR)/tclTestObj.c \
412 $(GENERIC_DIR)/tclTestProcBodyObj.c \
413 $(GENERIC_DIR)/tclThread.c \
414 $(GENERIC_DIR)/tclThreadAlloc.c \
415 $(GENERIC_DIR)/tclThreadJoin.c \
416 $(GENERIC_DIR)/tclTimer.c \
417 $(GENERIC_DIR)/tclUtil.c \
418 $(GENERIC_DIR)/tclVar.c
421 $(GENERIC_DIR)/tclStubLib.c
424 $(UNIX_DIR)/tclUnixPort.h
427 $(UNIX_DIR)/tclAppInit.c \
428 $(UNIX_DIR)/tclUnixChan.c \
429 $(UNIX_DIR)/tclUnixEvent.c \
430 $(UNIX_DIR)/tclUnixFCmd.c \
431 $(UNIX_DIR)/tclUnixFile.c \
432 $(UNIX_DIR)/tclUnixPipe.c \
433 $(UNIX_DIR)/tclUnixSock.c \
434 $(UNIX_DIR)/tclUnixTest.c \
435 $(UNIX_DIR)/tclUnixThrd.c \
436 $(UNIX_DIR)/tclUnixTime.c \
437 $(UNIX_DIR)/tclUnixInit.c \
438 $(UNIX_DIR)/tclUnixCompat.c
441 $(UNIX_DIR)/tclUnixNotfy.c
444 $(UNIX_DIR)/tclLoadAix.c \
445 $(UNIX_DIR)/tclLoadAout.c \
446 $(UNIX_DIR)/tclLoadDl.c \
447 $(UNIX_DIR)/tclLoadDl2.c \
448 $(UNIX_DIR)/tclLoadDld.c \
449 $(UNIX_DIR)/tclLoadDyld.c \
450 $(GENERIC_DIR)/tclLoadNone.c \
451 $(UNIX_DIR)/tclLoadOSF.c \
452 $(UNIX_DIR)/tclLoadShl.c
455 $(MAC_OSX_DIR)/tclMacOSXBundle.c \
456 $(MAC_OSX_DIR)/tclMacOSXNotify.c
458 # Note: don't include DL_SRCS or MAC_OSX_SRCS in SRCS: most of those
459 # files won't compile on the current machine, and they will cause
460 # problems for things like "make depend".
462 SRCS = $(GENERIC_SRCS) $(UNIX_SRCS) $(NOTIFY_SRCS) $(STUB_SRCS) @PLAT_SRCS@
464 all: binaries libraries doc
466 binaries: ${LIB_FILE} $(STUB_LIB_FILE) $(TCL_BUILD_EXP_FILE) tclsh
472 # The following target is configured by autoconf to generate either
473 # a shared library or non-shared library for Tcl.
474 ${LIB_FILE}: ${OBJS} ${STUB_LIB_FILE}
478 ${STUB_LIB_FILE}: ${STUB_LIB_OBJS}
482 # Make target which outputs the list of the .o contained in the Tcl lib
483 # usefull to build a single big shared library containing Tcl and other
484 # extensions. used for the Tcl Plugin. -- dl
485 # The dependency on OBJS is not there because we just want the list
486 # of objects here, not actually building them
489 # This targets actually build the objects needed for the lib in the above
494 tclsh: ${TCLSH_OBJS} ${TCL_LIB_FILE}
495 ${CC} ${CFLAGS} ${LDFLAGS} ${TCLSH_OBJS} @TCL_BUILD_LIB_SPEC@ ${LIBS} \
496 ${CC_SEARCH_FLAGS} -o tclsh
498 # Resetting the LIB_RUNTIME_DIR below is required so that
499 # the generated tcltest executable gets the build directory
500 # burned into its ld search path. This keeps tcltest from
501 # picking up an already installed version of the Tcl library.
503 tcltest: ${TCLTEST_OBJS} ${TCL_LIB_FILE} ${BUILD_DLTEST}
504 $(MAKE) tcltest-real LIB_RUNTIME_DIR=`pwd`
507 ${CC} ${CFLAGS} ${LDFLAGS} ${TCLTEST_OBJS} @TCL_BUILD_LIB_SPEC@ ${LIBS} \
508 ${CC_SEARCH_FLAGS} -o tcltest
510 # Note, in the target below TCL_LIBRARY needs to be set or else
511 # "make test" won't work in the case where the compilation directory
512 # isn't the same as the source directory.
513 # Specifying TESTFLAGS on the command line is the standard way to pass
514 # args to tcltest, ie:
515 # % make test TESTFLAGS="-verbose bps -file fileName.test"
518 @LD_LIBRARY_PATH_VAR@=`pwd`:$${@LD_LIBRARY_PATH_VAR@}; export @LD_LIBRARY_PATH_VAR@; \
519 TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \
520 ./tcltest $(TOP_DIR)/tests/all.tcl $(TESTFLAGS) $(TCLTESTARGS)
522 # Useful target to launch a built tcltest with the proper path,...
524 @LD_LIBRARY_PATH_VAR@=`pwd`:$${@LD_LIBRARY_PATH_VAR@}; export @LD_LIBRARY_PATH_VAR@; \
525 TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \
528 # Useful target for running the test suite with an unwritable current
531 @LD_LIBRARY_PATH_VAR@=`pwd`:$${@LD_LIBRARY_PATH_VAR@}; export @LD_LIBRARY_PATH_VAR@; \
532 TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \
533 echo 'exec chmod -w .;package require tcltest;tcltest::temporaryDirectory /tmp;source ../tests/all.tcl;exec chmod +w .' | ./tcltest
535 # This target can be used to run tclsh from the build directory
536 # via `make shell SCRIPT=/tmp/foo.tcl`
538 @LD_LIBRARY_PATH_VAR@=`pwd`:$${@LD_LIBRARY_PATH_VAR@}; export @LD_LIBRARY_PATH_VAR@; \
539 TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \
542 # This target can be used to run tclsh inside either gdb or insight
544 @echo "set env @LD_LIBRARY_PATH_VAR@=`pwd`:$${@LD_LIBRARY_PATH_VAR@}" > gdb.run
545 @echo "set env TCL_LIBRARY=${TCL_BUILDTIME_LIBRARY}" >> gdb.run
546 $(GDB) ./tclsh --command=gdb.run
549 # This target can be used to run tclsh inside ddd
551 @echo "set env @LD_LIBRARY_PATH_VAR@=`pwd`:$${@LD_LIBRARY_PATH_VAR@}" > gdb.run
552 @echo "set env TCL_LIBRARY=${TCL_BUILDTIME_LIBRARY}" >> gdb.run
553 $(DDD) -command=gdb.run ./tclsh
556 VALGRINDARGS=--tool=memcheck --num-callers=8 --leak-resolution=high --leak-check=yes --show-reachable=yes -v
558 valgrind: tclsh tcltest
559 @LD_LIBRARY_PATH_VAR@=`pwd`:$${@LD_LIBRARY_PATH_VAR@}; export @LD_LIBRARY_PATH_VAR@; \
560 TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \
561 valgrind $(VALGRINDARGS) ./tcltest $(TOP_DIR)/tests/all.tcl -singleproc 1 $(TESTFLAGS) $(TCLTESTARGS)
564 @LD_LIBRARY_PATH_VAR@=`pwd`:$${@LD_LIBRARY_PATH_VAR@}; export @LD_LIBRARY_PATH_VAR@; \
565 TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \
566 valgrind $(VALGRINDARGS) ./tclsh $(SCRIPT)
568 # The following target outputs the name of the top-level source directory
569 # for Tcl (it is used by Tk's configure script, for example). The
570 # .NO_PARALLEL line is needed to avoid problems under Sun's "pmake".
571 # Note: this target is now obsolete (use the autoconf variable
572 # TCL_SRC_DIR from tclConfig.sh instead).
574 .NO_PARALLEL: topDirName
578 # The following target generates the file generic/tclDate.c
579 # from the yacc grammar found in generic/tclGetDate.y. This is
580 # only run by hand as yacc is not available in all environments.
581 # The name of the .c file is different than the name of the .y file
582 # so that make doesn't try to automatically regenerate the .c file.
585 yacc -l $(GENERIC_DIR)/tclGetDate.y
586 sed -e 's/yy/TclDate/g' -e '/^#include <values.h>/d' \
587 -e 's?SCCSID?RCS: @(#) ?' \
588 -e '/#ifdef __STDC__/,/#endif/d' -e '/TclDateerrlab:/d' \
589 -e '/TclDatenewstate:/d' -e '/#pragma/d' \
590 -e '/#include <inttypes.h>/d' -e 's/const /CONST /g' \
591 <y.tab.c >$(GENERIC_DIR)/tclDate.c
594 # The following target generates the shared libraries in dltest/ that
595 # are used for testing; they are included as part of the "tcltest"
596 # target (via the BUILD_DLTEST variable) if dynamic loading is supported
597 # on this platform. The Makefile in the dltest subdirectory creates
598 # the dltest.marker file in this directory after a successful build.
603 INSTALL_TARGETS = install-binaries install-libraries install-doc @EXTRA_INSTALL@
605 install: $(INSTALL_TARGETS)
608 $(MAKE) $(INSTALL_TARGETS) \
609 INSTALL_PROGRAM="$(INSTALL_PROGRAM) ${INSTALL_STRIP_PROGRAM}" \
610 INSTALL_LIBRARY="$(INSTALL_LIBRARY) ${INSTALL_STRIP_LIBRARY}"
612 # Note: before running ranlib below, must cd to target directory because
613 # some ranlibs write to current directory, and this might not always be
614 # possible (e.g. if installing as root).
616 install-binaries: binaries
617 @for i in $(LIB_INSTALL_DIR) $(BIN_INSTALL_DIR) ; \
619 if [ ! -d $$i ] ; then \
620 echo "Making directory $$i"; \
626 @if test ! -x $(SRC_DIR)/install-sh; then \
627 chmod +x $(SRC_DIR)/install-sh; \
629 @echo "Installing $(LIB_FILE) to $(LIB_INSTALL_DIR)/"
631 @chmod 555 $(LIB_INSTALL_DIR)/$(LIB_FILE)
632 @if test "$(TCL_BUILD_EXP_FILE)" != ""; then \
633 echo "Installing $(TCL_EXP_FILE) to $(LIB_INSTALL_DIR)/"; \
634 $(INSTALL_DATA) $(TCL_BUILD_EXP_FILE) \
635 $(LIB_INSTALL_DIR)/$(TCL_EXP_FILE); \
637 @echo "Installing tclsh as $(BIN_INSTALL_DIR)/tclsh$(VERSION)"
638 @$(INSTALL_PROGRAM) tclsh $(BIN_INSTALL_DIR)/tclsh$(VERSION)
639 @echo "Installing tclConfig.sh to $(LIB_INSTALL_DIR)/"
640 @$(INSTALL_DATA) tclConfig.sh $(LIB_INSTALL_DIR)/tclConfig.sh
641 @if test "$(STUB_LIB_FILE)" != "" ; then \
642 echo "Installing $(STUB_LIB_FILE) to $(LIB_INSTALL_DIR)/"; \
643 @INSTALL_STUB_LIB@ ; \
645 @EXTRA_INSTALL_BINARIES@
647 install-libraries: libraries
648 @for i in $(INCLUDE_INSTALL_DIR) $(SCRIPT_INSTALL_DIR); \
650 if [ ! -d $$i ] ; then \
651 echo "Making directory $$i"; \
657 @for i in http2.5 http1.0 opt0.4 encoding msgcat1.3 tcltest2.2; \
659 if [ ! -d $(SCRIPT_INSTALL_DIR)/$$i ] ; then \
660 echo "Making directory $(SCRIPT_INSTALL_DIR)/$$i"; \
661 mkdir -p $(SCRIPT_INSTALL_DIR)/$$i; \
662 chmod 755 $(SCRIPT_INSTALL_DIR)/$$i; \
666 @if test ! -x $(SRC_DIR)/install-sh; then \
667 chmod +x $(SRC_DIR)/install-sh; \
669 @echo "Installing header files";
670 @for i in $(GENERIC_DIR)/tcl.h $(GENERIC_DIR)/tclDecls.h \
671 $(GENERIC_DIR)/tclPlatDecls.h; \
673 $(INSTALL_DATA) $$i $(INCLUDE_INSTALL_DIR); \
675 @echo "Installing library files to $(SCRIPT_INSTALL_DIR)";
676 @for i in $(TOP_DIR)/library/*.tcl $(TOP_DIR)/library/tclIndex $(UNIX_DIR)/tclAppInit.c $(UNIX_DIR)/ldAix; \
678 $(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR); \
680 @echo "Installing library http1.0 directory";
681 @for j in $(TOP_DIR)/library/http1.0/*.tcl ; \
683 $(INSTALL_DATA) $$j $(SCRIPT_INSTALL_DIR)/http1.0; \
685 @echo "Installing library http2.5 directory";
686 @for j in $(TOP_DIR)/library/http/*.tcl ; \
688 $(INSTALL_DATA) $$j $(SCRIPT_INSTALL_DIR)/http2.5; \
690 @echo "Installing library opt0.4 directory";
691 @for j in $(TOP_DIR)/library/opt/*.tcl ; \
693 $(INSTALL_DATA) $$j $(SCRIPT_INSTALL_DIR)/opt0.4; \
695 @echo "Installing library msgcat1.3 directory";
696 @for j in $(TOP_DIR)/library/msgcat/*.tcl ; \
698 $(INSTALL_DATA) $$j $(SCRIPT_INSTALL_DIR)/msgcat1.3; \
700 @echo "Installing library tcltest2.2 directory";
701 @for j in $(TOP_DIR)/library/tcltest/*.tcl ; \
703 $(INSTALL_DATA) $$j $(SCRIPT_INSTALL_DIR)/tcltest2.2; \
705 @echo "Installing library encoding directory";
706 @for i in $(TOP_DIR)/library/encoding/*.enc ; do \
707 $(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR)/encoding; \
711 @if test ! -x $(UNIX_DIR)/installManPage; then \
712 chmod +x $(UNIX_DIR)/installManPage; \
714 @for i in $(MAN_INSTALL_DIR) $(MAN1_INSTALL_DIR) $(MAN3_INSTALL_DIR) $(MANN_INSTALL_DIR) ; \
716 if [ ! -d $$i ] ; then \
717 echo "Making directory $$i"; \
723 @echo "Installing and cross-linking top-level (.1) docs";
724 @for i in $(TOP_DIR)/doc/*.1; do \
725 $(UNIX_DIR)/installManPage $(MAN_FLAGS) $$i $(MAN1_INSTALL_DIR); \
728 @echo "Installing and cross-linking C API (.3) docs";
729 @for i in $(TOP_DIR)/doc/*.3; do \
730 $(UNIX_DIR)/installManPage $(MAN_FLAGS) $$i $(MAN3_INSTALL_DIR); \
733 @echo "Installing and cross-linking command (.n) docs";
734 @for i in $(TOP_DIR)/doc/*.n; do \
735 $(UNIX_DIR)/installManPage $(MAN_FLAGS) $$i $(MANN_INSTALL_DIR); \
738 # Optional target to install private headers
739 install-private-headers: libraries
740 @for i in $(PRIVATE_INCLUDE_INSTALL_DIR); \
742 if [ ! -d $$i ] ; then \
743 echo "Making directory $$i"; \
749 @if test ! -x $(SRC_DIR)/install-sh; then \
750 chmod +x $(SRC_DIR)/install-sh; \
752 @echo "Installing private header files";
753 @for i in $(GENERIC_DIR)/tclInt.h $(GENERIC_DIR)/tclIntDecls.h \
754 $(GENERIC_DIR)/tclIntPlatDecls.h \
755 $(UNIX_DIR)/tclUnixPort.h $(GENERIC_DIR)/tclMath.h; \
757 $(INSTALL_DATA) $$i $(PRIVATE_INCLUDE_INSTALL_DIR); \
759 @sed -e 's#\.\./unix/##' $(GENERIC_DIR)/tclPort.h > tclPort.h; \
760 $(INSTALL_DATA) tclPort.h $(PRIVATE_INCLUDE_INSTALL_DIR); \
763 Makefile: $(UNIX_DIR)/Makefile.in $(DLTEST_DIR)/Makefile.in
764 $(SHELL) config.status
767 rm -f *.a *.o libtcl* core errs *~ \#* TAGS *.E a.out \
768 errors tclsh tcltest lib.exp Tcl
769 cd dltest ; $(MAKE) clean
772 rm -rf Makefile config.status config.cache config.log tclConfig.sh \
773 $(PACKAGE).* prototype *.plist Tcl.framework
774 cd dltest ; $(MAKE) distclean
777 makedepend -- $(DEPEND_SWITCHES) -- $(SRCS)
779 # Test binaries. The rules for tclTestInit.o and xtTestInit.o are
780 # complicated because they are compiled from tclAppInit.c. Can't use
781 # the "-o" option because this doesn't work on some strange compilers
783 # To enable concurrent parallel make of tclsh and tcltest resp xttest, these
784 # targets have to depend on tclsh, this ensures that linking of tclsh with
785 # tclAppInit.o does not execute concurrently with the renaming and recompiling
786 # of that same object file in the targets below.
788 tclTestInit.o: $(UNIX_DIR)/tclAppInit.c tclsh
789 @if test -f tclAppInit.o ; then \
790 rm -f tclAppInit.sav; \
791 mv tclAppInit.o tclAppInit.sav; \
793 $(CC) -c $(CC_SWITCHES) \
794 -DTCL_BUILDTIME_LIBRARY="\"${TCL_BUILDTIME_LIBRARY}\"" \
795 -DTCL_TEST $(UNIX_DIR)/tclAppInit.c
797 mv tclAppInit.o tclTestInit.o
798 @if test -f tclAppInit.sav ; then \
799 mv tclAppInit.sav tclAppInit.o; \
802 xtTestInit.o: $(UNIX_DIR)/tclAppInit.c tclsh
803 @if test -f tclAppInit.o ; then \
804 rm -f tclAppInit.sav; \
805 mv tclAppInit.o tclAppInit.sav; \
807 $(CC) -c $(CC_SWITCHES) \
808 -DTCL_BUILDTIME_LIBRARY="\"${TCL_BUILDTIME_LIBRARY}\"" \
809 -DTCL_TEST -DTCL_XT_TEST $(UNIX_DIR)/tclAppInit.c
811 mv tclAppInit.o xtTestInit.o
812 @if test -f tclAppInit.sav ; then \
813 mv tclAppInit.sav tclAppInit.o; \
816 # Object files used on all Unix systems:
818 REGHDRS=$(GENERIC_DIR)/regex.h $(GENERIC_DIR)/regguts.h \
819 $(GENERIC_DIR)/regcustom.h
820 regcomp.o: $(REGHDRS) $(GENERIC_DIR)/regcomp.c $(GENERIC_DIR)/regc_lex.c \
821 $(GENERIC_DIR)/regc_color.c $(GENERIC_DIR)/regc_locale.c \
822 $(GENERIC_DIR)/regc_nfa.c $(GENERIC_DIR)/regc_cvec.c
823 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/regcomp.c
825 regexec.o: $(REGHDRS) $(GENERIC_DIR)/regexec.c $(GENERIC_DIR)/rege_dfa.c
826 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/regexec.c
828 regfree.o: $(REGHDRS) $(GENERIC_DIR)/regfree.c
829 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/regfree.c
831 regerror.o: $(REGHDRS) $(GENERIC_DIR)/regerrs.h $(GENERIC_DIR)/regerror.c
832 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/regerror.c
834 tclAppInit.o: $(UNIX_DIR)/tclAppInit.c
835 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclAppInit.c
837 # On unix we want to use the normal malloc/free implementation, so we
838 # specifically set the USE_TCLALLOC flag.
840 tclAlloc.o: $(GENERIC_DIR)/tclAlloc.c
841 $(CC) -c $(CC_SWITCHES) -DUSE_TCLALLOC=0 $(GENERIC_DIR)/tclAlloc.c
843 tclAsync.o: $(GENERIC_DIR)/tclAsync.c
844 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclAsync.c
846 tclBasic.o: $(GENERIC_DIR)/tclBasic.c
847 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclBasic.c
849 tclBinary.o: $(GENERIC_DIR)/tclBinary.c
850 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclBinary.c
852 tclCkalloc.o: $(GENERIC_DIR)/tclCkalloc.c
853 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclCkalloc.c
855 tclClock.o: $(GENERIC_DIR)/tclClock.c
856 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclClock.c
858 tclCmdAH.o: $(GENERIC_DIR)/tclCmdAH.c
859 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclCmdAH.c
861 tclCmdIL.o: $(GENERIC_DIR)/tclCmdIL.c
862 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclCmdIL.c
864 tclCmdMZ.o: $(GENERIC_DIR)/tclCmdMZ.c
865 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclCmdMZ.c
867 tclDate.o: $(GENERIC_DIR)/tclDate.c
868 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclDate.c
870 tclCompCmds.o: $(GENERIC_DIR)/tclCompCmds.c
871 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclCompCmds.c
873 tclCompExpr.o: $(GENERIC_DIR)/tclCompExpr.c
874 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclCompExpr.c
876 tclCompile.o: $(GENERIC_DIR)/tclCompile.c
877 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclCompile.c
879 tclEncoding.o: $(GENERIC_DIR)/tclEncoding.c
880 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclEncoding.c
882 tclEnv.o: $(GENERIC_DIR)/tclEnv.c
883 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclEnv.c
885 tclEvent.o: $(GENERIC_DIR)/tclEvent.c
886 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclEvent.c
888 tclExecute.o: $(GENERIC_DIR)/tclExecute.c
889 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclExecute.c
891 tclFCmd.o: $(GENERIC_DIR)/tclFCmd.c
892 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclFCmd.c
894 tclFileName.o: $(GENERIC_DIR)/tclFileName.c
895 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclFileName.c
897 tclGet.o: $(GENERIC_DIR)/tclGet.c
898 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclGet.c
900 tclHash.o: $(GENERIC_DIR)/tclHash.c
901 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclHash.c
903 tclHistory.o: $(GENERIC_DIR)/tclHistory.c
904 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclHistory.c
906 tclIndexObj.o: $(GENERIC_DIR)/tclIndexObj.c
907 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclIndexObj.c
909 tclInterp.o: $(GENERIC_DIR)/tclInterp.c
910 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclInterp.c
912 tclIO.o: $(GENERIC_DIR)/tclIO.c
913 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclIO.c
915 tclIOCmd.o: $(GENERIC_DIR)/tclIOCmd.c
916 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclIOCmd.c
918 tclIOGT.o: $(GENERIC_DIR)/tclIOGT.c
919 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclIOGT.c
921 tclIOSock.o: $(GENERIC_DIR)/tclIOSock.c
922 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclIOSock.c
924 tclIOUtil.o: $(GENERIC_DIR)/tclIOUtil.c
925 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclIOUtil.c
927 tclLink.o: $(GENERIC_DIR)/tclLink.c
928 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclLink.c
930 tclListObj.o: $(GENERIC_DIR)/tclListObj.c
931 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclListObj.c
933 tclLiteral.o: $(GENERIC_DIR)/tclLiteral.c
934 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclLiteral.c
936 tclObj.o: $(GENERIC_DIR)/tclObj.c
937 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclObj.c
939 tclLoad.o: $(GENERIC_DIR)/tclLoad.c
940 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclLoad.c
942 tclLoadAix.o: $(UNIX_DIR)/tclLoadAix.c
943 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclLoadAix.c
945 tclLoadAout.o: $(UNIX_DIR)/tclLoadAout.c
946 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclLoadAout.c
948 tclLoadDl.o: $(UNIX_DIR)/tclLoadDl.c
949 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclLoadDl.c
951 tclLoadDl2.o: $(UNIX_DIR)/tclLoadDl2.c
952 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclLoadDl2.c
954 tclLoadDld.o: $(UNIX_DIR)/tclLoadDld.c
955 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclLoadDld.c
957 tclLoadDyld.o: $(UNIX_DIR)/tclLoadDyld.c
958 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclLoadDyld.c
960 tclLoadNone.o: $(GENERIC_DIR)/tclLoadNone.c
961 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclLoadNone.c
963 tclLoadOSF.o: $(UNIX_DIR)/tclLoadOSF.c
964 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclLoadOSF.c
966 tclLoadShl.o: $(UNIX_DIR)/tclLoadShl.c
967 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclLoadShl.c
969 tclMain.o: $(GENERIC_DIR)/tclMain.c
970 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclMain.c
972 tclNamesp.o: $(GENERIC_DIR)/tclNamesp.c
973 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclNamesp.c
975 tclNotify.o: $(GENERIC_DIR)/tclNotify.c
976 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclNotify.c
978 tclParse.o: $(GENERIC_DIR)/tclParse.c
979 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclParse.c
981 tclParseExpr.o: $(GENERIC_DIR)/tclParseExpr.c
982 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclParseExpr.c
984 tclPanic.o: $(GENERIC_DIR)/tclPanic.c
985 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclPanic.c
987 tclPipe.o: $(GENERIC_DIR)/tclPipe.c
988 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclPipe.c
990 tclPkg.o: $(GENERIC_DIR)/tclPkg.c
991 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclPkg.c
993 tclPosixStr.o: $(GENERIC_DIR)/tclPosixStr.c
994 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclPosixStr.c
996 tclPreserve.o: $(GENERIC_DIR)/tclPreserve.c
997 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclPreserve.c
999 tclProc.o: $(GENERIC_DIR)/tclProc.c
1000 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclProc.c
1002 tclRegexp.o: $(GENERIC_DIR)/tclRegexp.c
1003 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclRegexp.c
1005 tclResolve.o: $(GENERIC_DIR)/tclResolve.c
1006 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclResolve.c
1008 tclResult.o: $(GENERIC_DIR)/tclResult.c
1009 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclResult.c
1011 tclScan.o: $(GENERIC_DIR)/tclScan.c
1012 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclScan.c
1014 tclStringObj.o: $(GENERIC_DIR)/tclStringObj.c
1015 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclStringObj.c
1017 tclStubInit.o: $(GENERIC_DIR)/tclStubInit.c
1018 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclStubInit.c
1020 tclUtil.o: $(GENERIC_DIR)/tclUtil.c
1021 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclUtil.c
1023 tclUtf.o: $(GENERIC_DIR)/tclUtf.c $(GENERIC_DIR)/tclUniData.c
1024 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclUtf.c
1026 tclVar.o: $(GENERIC_DIR)/tclVar.c
1027 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclVar.c
1029 tclTest.o: $(GENERIC_DIR)/tclTest.c
1030 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclTest.c
1032 tclTestObj.o: $(GENERIC_DIR)/tclTestObj.c
1033 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclTestObj.c
1035 tclTestProcBodyObj.o: $(GENERIC_DIR)/tclTestProcBodyObj.c
1036 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclTestProcBodyObj.c
1038 tclTimer.o: $(GENERIC_DIR)/tclTimer.c
1039 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclTimer.c
1041 tclThread.o: $(GENERIC_DIR)/tclThread.c
1042 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclThread.c
1044 tclThreadAlloc.o: $(GENERIC_DIR)/tclThreadAlloc.c
1045 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclThreadAlloc.c
1047 tclThreadJoin.o: $(GENERIC_DIR)/tclThreadJoin.c
1048 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclThreadJoin.c
1050 tclThreadTest.o: $(GENERIC_DIR)/tclThreadTest.c
1051 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclThreadTest.c
1053 tclUnixChan.o: $(UNIX_DIR)/tclUnixChan.c
1054 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixChan.c
1056 tclUnixEvent.o: $(UNIX_DIR)/tclUnixEvent.c
1057 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixEvent.c
1059 tclUnixFCmd.o: $(UNIX_DIR)/tclUnixFCmd.c
1060 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixFCmd.c
1062 tclUnixFile.o: $(UNIX_DIR)/tclUnixFile.c
1063 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixFile.c
1065 tclUnixNotfy.o: $(UNIX_DIR)/tclUnixNotfy.c
1066 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixNotfy.c
1068 tclUnixPipe.o: $(UNIX_DIR)/tclUnixPipe.c
1069 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixPipe.c
1071 tclUnixSock.o: $(UNIX_DIR)/tclUnixSock.c
1072 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixSock.c
1074 tclUnixTest.o: $(UNIX_DIR)/tclUnixTest.c
1075 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixTest.c
1077 tclUnixThrd.o: $(UNIX_DIR)/tclUnixThrd.c
1078 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixThrd.c
1080 tclUnixTime.o: $(UNIX_DIR)/tclUnixTime.c
1081 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixTime.c
1083 tclUnixInit.o: $(UNIX_DIR)/tclUnixInit.c $(GENERIC_DIR)/tclInitScript.h tclConfig.sh
1084 $(CC) -c $(CC_SWITCHES) -DTCL_LIBRARY=\"${TCL_LIBRARY}\" \
1085 -DTCL_PACKAGE_PATH="\"${TCL_PACKAGE_PATH}\"" \
1086 $(UNIX_DIR)/tclUnixInit.c
1088 tclUnixCompat.o: $(UNIX_DIR)/tclUnixCompat.c
1089 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixCompat.c
1091 # The following are Mac OS X only sources:
1092 tclMacOSXBundle.o: $(MAC_OSX_DIR)/tclMacOSXBundle.c
1093 $(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tclMacOSXBundle.c
1095 tclMacOSXNotify.o: $(MAC_OSX_DIR)/tclMacOSXNotify.c
1096 $(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tclMacOSXNotify.c
1098 # The following targets are not completely general. They are provide
1099 # purely for documentation purposes so people who are interested in
1100 # the Xt based notifier can modify them to suit their own installation.
1102 xttest: ${XTTEST_OBJS} ${GENERIC_OBJS} ${UNIX_OBJS} ${COMPAT_OBJS} \
1103 @DL_OBJS@ ${BUILD_DLTEST}
1104 ${CC} ${XTTEST_OBJS} ${GENERIC_OBJS} ${UNIX_OBJS} ${COMPAT_OBJS} \
1105 @DL_OBJS@ @TCL_BUILD_LIB_SPEC@ ${LIBS} \
1106 ${CC_SEARCH_FLAGS} -L/usr/openwin/lib -lXt -o xttest
1108 tclXtNotify.o: $(UNIX_DIR)/tclXtNotify.c
1109 $(CC) -c $(CC_SWITCHES) -I/usr/openwin/include \
1110 $(UNIX_DIR)/tclXtNotify.c
1112 tclXtTest.o: $(UNIX_DIR)/tclXtTest.c
1113 $(CC) -c $(CC_SWITCHES) -I/usr/openwin/include \
1114 $(UNIX_DIR)/tclXtTest.c
1116 # compat binaries, these must be compiled for use in a shared library
1117 # even though they may be placed in a static executable or library. Since
1118 # they are included in both the tcl library and the stub library, they
1119 # need to be relocatable.
1121 fixstrtod.o: $(COMPAT_DIR)/fixstrtod.c
1122 $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/fixstrtod.c
1124 opendir.o: $(COMPAT_DIR)/opendir.c
1125 $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/opendir.c
1127 memcmp.o: $(COMPAT_DIR)/memcmp.c
1128 $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/memcmp.c
1130 strncasecmp.o: $(COMPAT_DIR)/strncasecmp.c
1131 $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/strncasecmp.c
1133 strstr.o: $(COMPAT_DIR)/strstr.c
1134 $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/strstr.c
1136 strtod.o: $(COMPAT_DIR)/strtod.c
1137 $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/strtod.c
1139 strtol.o: $(COMPAT_DIR)/strtol.c
1140 $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/strtol.c
1142 strtoll.o: $(COMPAT_DIR)/strtoll.c
1143 $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/strtoll.c
1145 strtoul.o: $(COMPAT_DIR)/strtoul.c
1146 $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/strtoul.c
1148 strtoull.o: $(COMPAT_DIR)/strtoull.c
1149 $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/strtoull.c
1151 tmpnam.o: $(COMPAT_DIR)/tmpnam.c
1152 $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/tmpnam.c
1154 waitpid.o: $(COMPAT_DIR)/waitpid.c
1155 $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/waitpid.c
1157 # Stub library binaries, these must be compiled for use in a shared library
1158 # even though they will be placed in a static archive
1160 tclStubLib.o: $(GENERIC_DIR)/tclStubLib.c
1161 $(CC) -c $(STUB_CC_SWITCHES) $(GENERIC_DIR)/tclStubLib.c
1164 $(CC) -c $(CC_SWITCHES) $<
1167 # Target to regenerate header files and stub files from the *.decls tables.
1170 $(GENERIC_DIR)/tclStubInit.c: $(GENERIC_DIR)/tcl.decls \
1171 $(GENERIC_DIR)/tclInt.decls
1172 @echo "Warning: tclStubInit.c may be out of date."
1173 @echo "Developers may want to run \"make genstubs\" to regenerate."
1174 @echo "This warning can be safely ignored, do not report as a bug!"
1177 $(TCL_EXE) $(TOOL_DIR)/genStubs.tcl $(GENERIC_DIR) \
1178 $(GENERIC_DIR)/tcl.decls $(GENERIC_DIR)/tclInt.decls
1181 # Target to check that all exported functions have an entry in the stubs
1185 checkstubs: $(TCL_LIB_FILE)
1186 -@for i in `nm -p $(TCL_LIB_FILE) \
1187 | awk '$$2 ~ /^[TDBCS]$$/ { sub("^_", "", $$3); print $$3 }' \
1190 for j in $(TCL_DECLS); do \
1191 if [ `grep -c "$$i *(" $$j` -gt 0 ]; then \
1195 if [ $$match -eq 0 ]; then echo $$i; fi \
1199 # Target to check that all public APIs which are not command
1200 # implementations have an entry in section three of the distributed
1204 checkdoc: $(TCL_LIB_FILE)
1205 -@for i in `nm -p $(TCL_LIB_FILE) | awk '$$3 ~ /Tcl_/ { print $$3 }' \
1206 | grep -v 'Cmd$$' | sort -n`; do \
1208 for j in $(TOP_DIR)/doc/*.3; do \
1209 if [ `grep '\-' $$j | grep -c $$i` -gt 0 ]; then \
1213 if [ $$match -eq 0 ]; then echo $$i; fi \
1217 # Target to check for proper usage of UCHAR macro.
1221 -egrep isalnum\|isalpha\|iscntrl\|isdigit\|islower\|isprint\|ispunct\|isspace\|isupper\|isxdigit\|toupper\|tolower $(SRCS) | grep -v UCHAR
1224 # Target to make sure that only symbols with "Tcl" prefixes are
1228 checkexports: $(TCL_LIB_FILE)
1229 -@nm -p $(TCL_LIB_FILE) \
1230 | awk '$$2 ~ /^[TDBCS]$$/ { sub("^_", "", $$3); print $$3 }' \
1231 | sort -n | grep -E -v '^[Tt]cl' || true
1234 # Target to create a Tcl RPM for Linux. Requires that you be on a Linux
1240 echo "%define _builddir `pwd`" > THIS.TCL.SPEC
1241 echo "%define _rpmdir `pwd`/RPMS" >> THIS.TCL.SPEC
1242 cat tcl.spec >> THIS.TCL.SPEC
1244 rpm -bb THIS.TCL.SPEC
1245 mv RPMS/i386/*.rpm .
1246 rm -rf RPMS THIS.TCL.SPEC
1249 # Target to create a proper Tcl distribution from information in the
1250 # master source directory. DISTDIR must be defined to indicate where
1251 # to put the distribution. DISTDIR must be an absolute path name.
1254 DISTROOT = /tmp/dist
1255 DISTNAME = tcl${VERSION}${PATCH_LEVEL}
1256 ZIPNAME = tcl${MAJOR_VERSION}${MINOR_VERSION}${PATCH_LEVEL}-src.zip
1257 DISTDIR = $(DISTROOT)/$(DISTNAME)
1261 mkdir -p $(DISTDIR)/unix
1262 cp -p $(UNIX_DIR)/*.c $(UNIX_DIR)/*.h $(DISTDIR)/unix
1263 cp $(UNIX_DIR)/Makefile.in $(DISTDIR)/unix
1264 chmod 664 $(DISTDIR)/unix/Makefile.in
1265 cp $(UNIX_DIR)/configure $(UNIX_DIR)/configure.in \
1266 $(UNIX_DIR)/tcl.m4 $(UNIX_DIR)/aclocal.m4 \
1267 $(UNIX_DIR)/tclConfig.sh.in $(UNIX_DIR)/install-sh \
1268 $(UNIX_DIR)/README $(UNIX_DIR)/ldAix $(UNIX_DIR)/tcl.spec \
1269 $(UNIX_DIR)/installManPage \
1271 chmod 775 $(DISTDIR)/unix/configure $(DISTDIR)/unix/configure.in
1272 chmod 775 $(DISTDIR)/unix/ldAix
1273 chmod +x $(DISTDIR)/unix/install-sh
1274 mkdir $(DISTDIR)/generic
1275 cp -p $(GENERIC_DIR)/*.c $(GENERIC_DIR)/*.h $(DISTDIR)/generic
1276 cp -p $(GENERIC_DIR)/*.decls $(DISTDIR)/generic
1277 cp -p $(GENERIC_DIR)/README $(DISTDIR)/generic
1278 cp -p $(GENERIC_DIR)/tclGetDate.y $(DISTDIR)/generic
1279 cp -p $(TOP_DIR)/changes $(TOP_DIR)/ChangeLog $(TOP_DIR)/README* \
1280 $(TOP_DIR)/ChangeLog.[12]??? $(TOP_DIR)/license.terms \
1282 mkdir $(DISTDIR)/library
1283 cp -p $(TOP_DIR)/license.terms $(TOP_DIR)/library/*.tcl \
1284 $(TOP_DIR)/library/tclIndex $(DISTDIR)/library
1285 for i in http1.0 http opt msgcat reg dde tcltest; \
1287 mkdir $(DISTDIR)/library/$$i ;\
1288 cp -p $(TOP_DIR)/library/$$i/*.tcl $(DISTDIR)/library/$$i; \
1290 mkdir $(DISTDIR)/library/encoding
1291 cp -p $(TOP_DIR)/library/encoding/*.enc $(DISTDIR)/library/encoding
1292 mkdir $(DISTDIR)/doc
1293 cp -p $(TOP_DIR)/license.terms $(TOP_DIR)/doc/*.[13n] \
1294 $(TOP_DIR)/doc/man.macros $(DISTDIR)/doc
1295 mkdir $(DISTDIR)/compat
1296 cp -p $(TOP_DIR)/license.terms $(COMPAT_DIR)/*.c \
1297 $(COMPAT_DIR)/*.h $(COMPAT_DIR)/README \
1299 mkdir $(DISTDIR)/tests
1300 cp -p $(TOP_DIR)/license.terms $(DISTDIR)/tests
1301 cp -p $(TOP_DIR)/tests/*.test $(TOP_DIR)/tests/README \
1302 $(TOP_DIR)/tests/httpd $(TOP_DIR)/tests/*.tcl \
1304 mkdir $(DISTDIR)/win
1305 cp $(TOP_DIR)/win/Makefile.in $(DISTDIR)/win
1306 cp $(TOP_DIR)/win/configure.in $(TOP_DIR)/win/configure \
1307 $(TOP_DIR)/win/tclConfig.sh.in \
1308 $(TOP_DIR)/win/tcl.m4 $(TOP_DIR)/win/aclocal.m4 \
1310 cp -p $(TOP_DIR)/win/*.c $(TOP_DIR)/win/*.h \
1311 $(TOP_DIR)/win/*.ico $(TOP_DIR)/win/*.rc \
1313 cp -p $(TOP_DIR)/win/*.bat $(DISTDIR)/win
1314 $(TCL_EXE) $(TOOL_DIR)/eolFix.tcl -crlf $(DISTDIR)/win/*.bat
1315 cp -p $(TOP_DIR)/win/makefile.* $(DISTDIR)/win
1316 $(TCL_EXE) $(TOOL_DIR)/eolFix.tcl -crlf $(DISTDIR)/win/makefile.*
1317 cp -p $(TOP_DIR)/win/rules.vc $(DISTDIR)/win
1318 $(TCL_EXE) $(TOOL_DIR)/eolFix.tcl -crlf $(DISTDIR)/win/rules.vc
1319 cp -p $(TOP_DIR)/win/coffbase.txt $(DISTDIR)/win
1320 $(TCL_EXE) $(TOOL_DIR)/eolFix.tcl -crlf $(DISTDIR)/win/coffbase.txt
1321 cp -p $(TOP_DIR)/win/tcl.hpj.in $(DISTDIR)/win
1322 $(TCL_EXE) $(TOOL_DIR)/eolFix.tcl -crlf $(DISTDIR)/win/tcl.hpj.in
1323 cp -p $(TOP_DIR)/win/tcl.ds* $(DISTDIR)/win
1324 $(TCL_EXE) $(TOOL_DIR)/eolFix.tcl -crlf $(DISTDIR)/win/tcl.ds*
1325 cp -p $(TOP_DIR)/win/README $(DISTDIR)/win
1326 cp -p $(TOP_DIR)/license.terms $(DISTDIR)/win
1327 mkdir $(DISTDIR)/mac
1328 cp -p $(TOP_DIR)/mac/tcl*.sea.hqx \
1329 $(TOP_DIR)/mac/*.c $(TOP_DIR)/mac/*.h $(TOP_DIR)/mac/*.r \
1331 cp -p $(TOP_DIR)/mac/porting.notes $(TOP_DIR)/mac/README $(DISTDIR)/mac
1332 cp -p $(TOP_DIR)/mac/*.pch $(DISTDIR)/mac
1333 cp -p $(TOP_DIR)/mac/*.doc $(TOP_DIR)/mac/*.html $(DISTDIR)/mac
1334 cp -p $(TOP_DIR)/license.terms $(DISTDIR)/mac
1335 mkdir $(DISTDIR)/macosx
1336 cp -p $(MAC_OSX_DIR)/Makefile $(MAC_OSX_DIR)/README \
1337 $(MAC_OSX_DIR)/*.c $(MAC_OSX_DIR)/*.in \
1339 cp -p $(TOP_DIR)/license.terms $(DISTDIR)/macosx
1340 mkdir $(DISTDIR)/macosx/Tcl.pbproj
1341 cp -p $(MAC_OSX_DIR)/Tcl.pbproj/*.pbx* $(DISTDIR)/macosx/Tcl.pbproj
1342 mkdir $(DISTDIR)/unix/dltest
1343 cp -p $(UNIX_DIR)/dltest/*.c $(UNIX_DIR)/dltest/Makefile.in \
1344 $(UNIX_DIR)/dltest/README \
1345 $(DISTDIR)/unix/dltest
1346 mkdir $(DISTDIR)/tools
1347 cp -p $(TOOL_DIR)/Makefile.in $(TOOL_DIR)/README \
1348 $(TOOL_DIR)/configure $(TOOL_DIR)/configure.in \
1349 $(TOOL_DIR)/*.tcl $(TOOL_DIR)/man2tcl.c \
1350 $(TOOL_DIR)/tcl.wse.in $(TOOL_DIR)/*.bmp \
1351 $(TOOL_DIR)/tcl.hpj.in \
1353 $(TCL_EXE) $(TOOL_DIR)/eolFix.tcl -crlf $(DISTDIR)/tools/tcl.hpj.in \
1354 $(DISTDIR)/tools/tcl.wse.in
1357 # The following target can only be used for non-patch releases. Use
1358 # the "allpatch" target below for patch releases.
1362 rm -f $(DISTROOT)/$(DISTNAME)-src.tar.gz $(DISTROOT)/$(ZIPNAME)
1363 cd $(DISTROOT); tar cf $(DISTNAME)-src.tar $(DISTNAME); \
1364 gzip -9 $(DISTNAME)-src.tar; zip -qr8 $(ZIPNAME) $(DISTNAME)
1367 # The target below is similar to "alldist" except it works for patch
1368 # releases. It is needed because patch releases are peculiar: the
1369 # patch designation appears in the name of the compressed file
1370 # (e.g. tcl8.0p1.tar.gz) but the extracted source directory doesn't
1371 # include the patch designation (e.g. tcl8.0).
1375 rm -f $(DISTROOT)/$(DISTNAME)-src.tar.gz $(DISTROOT)/$(ZIPNAME)
1376 mv $(DISTROOT)/tcl${VERSION} $(DISTROOT)/old
1377 mv $(DISTROOT)/$(DISTNAME) $(DISTROOT)/tcl${VERSION}
1378 cd $(DISTROOT); tar cf $(DISTNAME)-src.tar tcl${VERSION}; \
1379 gzip -9 $(DISTNAME)-src.tar; zip -r8 $(ZIPNAME) tcl${VERSION}
1380 mv $(DISTROOT)/tcl${VERSION} $(DISTROOT)/$(DISTNAME)
1381 mv $(DISTROOT)/old $(DISTROOT)/tcl${VERSION}
1384 # This target creates the HTML folder for Tcl & Tk and places it
1385 # in DISTDIR/html. It uses the tcltk-man2html.tcl tool from
1386 # the Tcl group's tool workspace. It depends on the Tcl & Tk being
1387 # in directories called tcl8.* & tk8.* up two directories from the
1402 @@LD_LIBRARY_PATH_VAR@=`pwd`:$${@LD_LIBRARY_PATH_VAR@}; export @LD_LIBRARY_PATH_VAR@; \
1403 TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \
1404 ./tclsh $(TOOL_DIR)/tcltk-man2html.tcl --htmldir=$(HTML_INSTALL_DIR) \
1405 --srcdir=$(TOP_DIR)/.. $(BUILD_HTML_FLAGS)
1408 # Target to create a Macintosh version of the distribution. This will
1409 # do a normal distribution and then massage the output to prepare it
1410 # for moving to the Mac platform. This requires a few scripts and
1411 # programs found only in the Tcl group's tool workspace.
1414 macdist: dist machtml
1417 rm -f $(DISTDIR)/mac/tclMacProjects.sea.hqx
1418 rm -rf $(DISTDIR)/doc
1419 $(TCL_EXE) $(TOOL_DIR)/cvtEOL.tcl $(DISTDIR)
1422 # Targets to build Solaris package of the distribution for the current
1423 # architecture. To build stream packages for both sun4 and i86pc
1426 # On the sun4 machine, execute the following:
1427 # make distclean; ./configure
1428 # make DISTDIR=<distdir> package
1430 # Once the build is complete, execute the following on the i86pc
1432 # make DISTDIR=<distdir> package-quick
1434 # <distdir> is the absolute path to a directory where the build should
1435 # take place. These steps will generate the $(PACKAGE).sun4 and
1436 # $(PACKAGE).i86pc stream packages. It is important that the packages be
1437 # built in this fashion in order to ensure that the architecture
1438 # independent files are exactly the same, including timestamps, in
1444 package: dist package-config package-common package-binaries package-generate
1445 package-quick: package-config package-binaries package-generate
1448 # Configure for the current architecture in the dist directory.
1451 mkdir -p $(DISTDIR)/unix/`arch`
1452 cd $(DISTDIR)/unix/`arch`; \
1453 ../configure --prefix=/opt/$(PACKAGE)/$(VERSION) \
1454 --exec_prefix=/opt/$(PACKAGE)/$(VERSION)/`arch` \
1456 mkdir -p $(DISTDIR)/$(PACKAGE)/$(VERSION)
1457 mkdir -p $(DISTDIR)/$(PACKAGE)/$(VERSION)/`arch`
1460 # Build and install the architecture independent files in the dist directory.
1464 cd $(DISTDIR)/unix/`arch`;\
1466 $(MAKE) prefix=$(DISTDIR)/$(PACKAGE)/$(VERSION) \
1467 exec_prefix=$(DISTDIR)/$(PACKAGE)/$(VERSION)/`arch` \
1468 install-libraries install-man
1469 mkdir -p $(DISTDIR)/$(PACKAGE)/$(VERSION)/bin
1470 sed -e "s/TCLVERSION/$(VERSION)/g" < $(UNIX_DIR)/tclsh.sh \
1471 > $(DISTDIR)/$(PACKAGE)/$(VERSION)/bin/tclsh$(VERSION)
1472 chmod 755 $(DISTDIR)/$(PACKAGE)/$(VERSION)/bin/tclsh$(VERSION)
1475 # Build and install the architecture specific files in the dist directory.
1479 cd $(DISTDIR)/unix/`arch`; \
1481 $(MAKE) install-binaries prefix=$(DISTDIR)/$(PACKAGE)/$(VERSION) \
1482 exec_prefix=$(DISTDIR)/$(PACKAGE)/$(VERSION)/`arch`
1485 # Generate a package from the installed files in the dist directory for the
1486 # current architecture.
1490 pkgproto $(DISTDIR)/$(PACKAGE)/$(VERSION)/bin=bin \
1491 $(DISTDIR)/$(PACKAGE)/$(VERSION)/include=include \
1492 $(DISTDIR)/$(PACKAGE)/$(VERSION)/lib=lib \
1493 $(DISTDIR)/$(PACKAGE)/$(VERSION)/man=man \
1494 $(DISTDIR)/$(PACKAGE)/$(VERSION)/`arch`=`arch` \
1495 | $(TCL_EXE) $(UNIX_DIR)/mkProto.tcl \
1496 $(VERSION) $(UNIX_DIR) > prototype
1497 pkgmk -o -d . -f prototype -a `arch`
1498 pkgtrans -s . $(PACKAGE).`arch` $(PACKAGE)
1501 # DO NOT DELETE THIS LINE -- make depend depends on it.