Makefile.in
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:50k
源码类别:

通讯编程

开发平台:

Visual C++

  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.121.2.24 2007/09/19 16:08:39 dgp Exp $
  9. VERSION  = @TCL_VERSION@
  10. MAJOR_VERSION = @TCL_MAJOR_VERSION@
  11. MINOR_VERSION = @TCL_MINOR_VERSION@
  12. PATCH_LEVEL = @TCL_PATCH_LEVEL@
  13. #----------------------------------------------------------------
  14. # Things you can change to personalize the Makefile for your own
  15. # site (you can make these changes in either Makefile.in or
  16. # Makefile, but changes to Makefile will get lost if you re-run
  17. # the configuration script).
  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.  The *dir vars are standard configure
  24. # substitutions that are based off prefix and exec_prefix.
  25. prefix = @prefix@
  26. exec_prefix = @exec_prefix@
  27. bindir = @bindir@
  28. libdir = @libdir@
  29. includedir = @includedir@
  30. mandir = @mandir@
  31. # The following definition can be set to non-null for special systems
  32. # like AFS with replication.  It allows the pathnames used for installation
  33. # to be different than those used for actually reference files at
  34. # run-time.  INSTALL_ROOT is prepended to $prefix and $exec_prefix
  35. # when installing files.
  36. INSTALL_ROOT = $(DESTDIR)
  37. # Path for the platform independent Tcl scripting libraries:
  38. TCL_LIBRARY = @TCL_LIBRARY@
  39. # Path to use at runtime to refer to LIB_INSTALL_DIR:
  40. LIB_RUNTIME_DIR = $(libdir)
  41. # Directory in which to install the program tclsh:
  42. BIN_INSTALL_DIR = $(INSTALL_ROOT)$(bindir)
  43. # Directory in which to install libtcl.so or libtcl.a:
  44. LIB_INSTALL_DIR = $(INSTALL_ROOT)$(libdir)
  45. # Path name to use when installing library scripts.
  46. SCRIPT_INSTALL_DIR = $(INSTALL_ROOT)$(TCL_LIBRARY)
  47. # Directory in which to install the include file tcl.h:
  48. INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(includedir)
  49. # Path to the private tcl header dir:
  50. PRIVATE_INCLUDE_DIR = @PRIVATE_INCLUDE_DIR@
  51. # Directory in which to (optionally) install the private tcl headers:
  52. PRIVATE_INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(PRIVATE_INCLUDE_DIR)
  53. # Top-level directory in which to install manual entries:
  54. MAN_INSTALL_DIR = $(INSTALL_ROOT)$(mandir)
  55. # Directory in which to install manual entry for tclsh:
  56. MAN1_INSTALL_DIR = $(MAN_INSTALL_DIR)/man1
  57. # Directory in which to install manual entries for Tcl's C library
  58. # procedures:
  59. MAN3_INSTALL_DIR = $(MAN_INSTALL_DIR)/man3
  60. # Directory in which to install manual entries for the built-in
  61. # Tcl commands:
  62. MANN_INSTALL_DIR = $(MAN_INSTALL_DIR)/mann
  63. # Path to the html documentation dir:
  64. HTML_DIR = @HTML_DIR@
  65. # Directory in which to install html documentation:
  66. HTML_INSTALL_DIR = $(INSTALL_ROOT)$(HTML_DIR)
  67. # Package search path.
  68. TCL_PACKAGE_PATH = @TCL_PACKAGE_PATH@
  69. # Libraries built with optimization switches have this additional extension
  70. TCL_DBGX = @TCL_DBGX@
  71. # warning flags
  72. CFLAGS_WARNING = @CFLAGS_WARNING@
  73. # The default switches for optimization or debugging
  74. CFLAGS_DEBUG = @CFLAGS_DEBUG@
  75. CFLAGS_OPTIMIZE = @CFLAGS_OPTIMIZE@
  76. # To change the compiler switches, for example to change from optimization to
  77. # debugging symbols, change the following line:
  78. #CFLAGS = $(CFLAGS_DEBUG)
  79. #CFLAGS = $(CFLAGS_OPTIMIZE)
  80. #CFLAGS = $(CFLAGS_DEBUG) $(CFLAGS_OPTIMIZE)
  81. CFLAGS = @CFLAGS_DEFAULT@ @CFLAGS@ -DTCL_DBGX=$(TCL_DBGX)
  82. # Flags to pass to the linker
  83. LDFLAGS_DEBUG = @LDFLAGS_DEBUG@
  84. LDFLAGS_OPTIMIZE = @LDFLAGS_OPTIMIZE@
  85. LDFLAGS = @LDFLAGS_DEFAULT@ @LDFLAGS@
  86. # To disable ANSI-C procedure prototypes reverse the comment characters
  87. # on the following lines:
  88. PROTO_FLAGS =
  89. #PROTO_FLAGS = -DNO_PROTOTYPE
  90. # Mathematical functions like sin and atan2 are enabled for expressions
  91. # by default.  To disable them, reverse the comment characters on the
  92. # following pairs of lines:
  93. MATH_FLAGS =
  94. #MATH_FLAGS = -DTCL_NO_MATH
  95. MATH_LIBS = @MATH_LIBS@
  96. #MATH_LIBS =
  97. # If you use the setenv, putenv, or unsetenv procedures to modify
  98. # environment variables in your application and you'd like those
  99. # modifications to appear in the "env" Tcl variable, switch the
  100. # comments on the two lines below so that Tcl provides these
  101. # procedures instead of your standard C library.
  102. ENV_FLAGS =
  103. #ENV_FLAGS = -DTclSetEnv=setenv -DTcl_PutEnv=putenv -DTclUnsetEnv=unsetenv
  104. # To compile for non-UNIX systems (so that only the non-UNIX-specific
  105. # commands are available), reverse the comment characters on the
  106. # following pairs of lines.  In addition, you'll have to provide your
  107. # own replacement for the "panic" procedure (see panic.c for what
  108. # the current one does).
  109. GENERIC_FLAGS =
  110. #GENERIC_FLAGS = -DTCL_GENERIC_ONLY
  111. UNIX_OBJS = tclUnixChan.o tclUnixEvent.o tclUnixFCmd.o 
  112. tclUnixFile.o tclUnixPipe.o tclUnixSock.o 
  113. tclUnixTime.o tclUnixInit.o tclUnixThrd.o 
  114. tclUnixCompat.o
  115. #UNIX_OBJS =
  116. NOTIFY_OBJS = tclUnixNotfy.o
  117. #NOTIFY_OBJS =
  118. # To enable memory debugging reverse the comment characters on the following
  119. # lines or call configure with --enable-symbols=mem
  120. # Warning:  if you enable memory debugging, you must do it *everywhere*,
  121. # including all the code that calls Tcl, and you must use ckalloc and
  122. # ckfree everywhere instead of malloc and free.
  123. MEM_DEBUG_FLAGS =
  124. #MEM_DEBUG_FLAGS = -DTCL_MEM_DEBUG
  125. TCL_STUB_LIB_FILE = @TCL_STUB_LIB_FILE@
  126. #TCL_STUB_LIB_FILE = libtclstub.a
  127. # Generic stub lib name used in rules that apply to tcl and tk
  128. STUB_LIB_FILE = ${TCL_STUB_LIB_FILE}
  129. TCL_STUB_LIB_FLAG = @TCL_STUB_LIB_FLAG@
  130. #TCL_STUB_LIB_FLAG = -ltclstub
  131. # To enable compilation debugging reverse the comment characters on one
  132. # of the following lines or call configure with --enable-symbols=compile
  133. COMPILE_DEBUG_FLAGS =
  134. #COMPILE_DEBUG_FLAGS = -DTCL_COMPILE_DEBUG -DTCL_COMPILE_STATS
  135. # To compile without backward compatibility and deprecated code
  136. # uncomment the following
  137. NO_DEPRECATED_FLAGS =
  138. #NO_DEPRECATED_FLAGS = -DTCL_NO_DEPRECATED
  139. # Some versions of make, like SGI's, use the following variable to
  140. # determine which shell to use for executing commands:
  141. SHELL = /bin/sh
  142. # Tcl used to let the configure script choose which program to use
  143. # for installing, but there are just too many different versions of
  144. # "install" around;  better to use the install-sh script that comes
  145. # with the distribution, which is slower but guaranteed to work.
  146. INSTALL_STRIP_PROGRAM   = -s
  147. INSTALL_STRIP_LIBRARY   = -S -S
  148. INSTALL = @srcdir@/install-sh -c
  149. INSTALL_PROGRAM = ${INSTALL}
  150. INSTALL_LIBRARY = ${INSTALL}
  151. INSTALL_DATA = ${INSTALL} -m 644
  152. # TCL_EXE is the name of a tclsh executable that is available *BEFORE*
  153. # running make for the first time. Certain build targets (make genstubs)
  154. # need it to be available on the PATH. This executable should *NOT* be
  155. # required just to do a normal build although it can be required to run
  156. # make dist.
  157. TCL_EXE = tclsh
  158. # The symbols below provide support for dynamic loading and shared
  159. # libraries.  See configure.in for a description of what the
  160. # symbols mean.  The values of the symbols are normally set by the
  161. # configure script.  You shouldn't normally need to modify any of
  162. # these definitions by hand.
  163. STLIB_LD = @STLIB_LD@
  164. SHLIB_LD = @SHLIB_LD@
  165. SHLIB_CFLAGS = @SHLIB_CFLAGS@
  166. SHLIB_LD_LIBS = @SHLIB_LD_LIBS@
  167. TCL_SHLIB_LD_EXTRAS = @TCL_SHLIB_LD_EXTRAS@
  168. SHLIB_SUFFIX = @SHLIB_SUFFIX@
  169. #SHLIB_SUFFIX =
  170. DLTEST_TARGETS = dltest.marker
  171. # Additional search flags needed to find the various shared libraries
  172. # at run-time.  The first symbol is for use when creating a binary
  173. # with cc, and the second is for use when running ld directly.
  174. CC_SEARCH_FLAGS = @CC_SEARCH_FLAGS@
  175. LD_SEARCH_FLAGS = @LD_SEARCH_FLAGS@
  176. # The following symbol is defined to "$(DLTEST_TARGETS)" if dynamic
  177. # loading is available;  this causes everything in the "dltest"
  178. # subdirectory to be built when making "tcltest.  If dynamic loading
  179. # isn't available, configure defines this symbol to an empty string,
  180. # in which case the shared libraries aren't built.
  181. BUILD_DLTEST = @BUILD_DLTEST@
  182. #BUILD_DLTEST =
  183. TCL_LIB_FILE = @TCL_LIB_FILE@
  184. #TCL_LIB_FILE = libtcl.a
  185. # Generic lib name used in rules that apply to tcl and tk
  186. LIB_FILE = ${TCL_LIB_FILE}
  187. TCL_LIB_FLAG = @TCL_LIB_FLAG@
  188. #TCL_LIB_FLAG = -ltcl
  189. TCL_EXP_FILE = @TCL_EXP_FILE@
  190. TCL_BUILD_EXP_FILE = @TCL_BUILD_EXP_FILE@
  191. # support for embedded libraries on Darwin / Mac OS X
  192. DYLIB_INSTALL_DIR = ${LIB_RUNTIME_DIR}
  193. #----------------------------------------------------------------
  194. # The information below is modified by the configure script when
  195. # Makefile is generated from Makefile.in.  You shouldn't normally
  196. # modify any of this stuff by hand.
  197. #----------------------------------------------------------------
  198. COMPAT_OBJS = @LIBOBJS@
  199. AC_FLAGS = @DEFS@
  200. AR = @AR@
  201. RANLIB = @RANLIB@
  202. DTRACE = @DTRACE@
  203. SRC_DIR = @srcdir@
  204. TOP_DIR = $(SRC_DIR)/..
  205. GENERIC_DIR = $(TOP_DIR)/generic
  206. COMPAT_DIR = $(TOP_DIR)/compat
  207. TOOL_DIR = $(TOP_DIR)/tools
  208. UNIX_DIR = $(SRC_DIR)
  209. MAC_OSX_DIR = $(TOP_DIR)/macosx
  210. # Must be absolute because of the cd dltest $(DLTEST_DIR)/configure below.
  211. DLTEST_DIR = @TCL_SRC_DIR@/unix/dltest
  212. # Must be absolute to so the corresponding tcltest's tcl_library is absolute.
  213. TCL_BUILDTIME_LIBRARY = @TCL_SRC_DIR@/library
  214. CC = @CC@
  215. #CC = purify -best-effort @CC@ -DPURIFY
  216. # Flags to be passed to installManPage to control whether the manpages
  217. # should be compressed and linked with softlinks
  218. MAN_FLAGS               = @MAN_FLAGS@
  219. #----------------------------------------------------------------
  220. # The information below is usually usable as is.  The configure
  221. # script won't modify it and it only exists to make working
  222. # around selected rare system configurations easier.
  223. #----------------------------------------------------------------
  224. GDB = gdb
  225. DDD = ddd
  226. #----------------------------------------------------------------
  227. # The information below should be usable as is.  The configure
  228. # script won't modify it and you shouldn't need to modify it
  229. # either.
  230. #----------------------------------------------------------------
  231. STUB_CC_SWITCHES = ${CFLAGS} ${CFLAGS_WARNING} ${SHLIB_CFLAGS} -I. 
  232. -I${GENERIC_DIR} -I${SRC_DIR} ${AC_FLAGS} ${MATH_FLAGS} ${GENERIC_FLAGS} 
  233. ${PROTO_FLAGS} ${MEM_DEBUG_FLAGS} ${COMPILE_DEBUG_FLAGS} ${ENV_FLAGS} 
  234. -DTCL_SHLIB_EXT="${SHLIB_SUFFIX}" @EXTRA_CC_SWITCHES@
  235. CC_SWITCHES =  $(STUB_CC_SWITCHES) ${NO_DEPRECATED_FLAGS}
  236. APP_CC_SWITCHES = $(CC_SWITCHES) @EXTRA_APP_CC_SWITCHES@
  237. LIBS = @DL_LIBS@ @LIBS@ $(MATH_LIBS)
  238. DEPEND_SWITCHES = ${CFLAGS} -I${GENERIC_DIR} -I${SRC_DIR} 
  239. ${AC_FLAGS} ${MATH_FLAGS} 
  240. ${GENERIC_FLAGS} ${PROTO_FLAGS} ${MEM_DEBUG_FLAGS} 
  241. -DTCL_SHLIB_EXT="${SHLIB_SUFFIX}" @EXTRA_CC_SWITCHES@
  242. TCLSH_OBJS = tclAppInit.o
  243. TCLTEST_OBJS = tclTestInit.o tclTest.o tclTestObj.o tclTestProcBodyObj.o 
  244. tclThreadTest.o tclUnixTest.o
  245. XTTEST_OBJS = xtTestInit.o tclTest.o tclTestObj.o tclTestProcBodyObj.o 
  246. tclThreadTest.o tclUnixTest.o tclXtNotify.o tclXtTest.o 
  247. GENERIC_OBJS = regcomp.o regexec.o regfree.o regerror.o tclAlloc.o 
  248. tclAsync.o tclBasic.o tclBinary.o 
  249. tclCkalloc.o tclClock.o tclCmdAH.o tclCmdIL.o tclCmdMZ.o 
  250. tclCompCmds.o tclCompExpr.o tclCompile.o tclDate.o tclEncoding.o 
  251. tclEnv.o tclEvent.o tclExecute.o tclFCmd.o tclFileName.o tclGet.o 
  252. tclHash.o tclHistory.o tclIndexObj.o tclInterp.o tclIO.o tclIOCmd.o 
  253. tclIOGT.o tclIOSock.o tclIOUtil.o tclLink.o tclListObj.o 
  254. tclLiteral.o tclLoad.o tclMain.o tclNamesp.o tclNotify.o 
  255. tclObj.o tclPanic.o tclParse.o tclParseExpr.o tclPipe.o 
  256. tclPkg.o tclPosixStr.o tclPreserve.o tclProc.o tclRegexp.o 
  257. tclResolve.o tclResult.o tclScan.o tclStringObj.o tclThread.o 
  258.  tclThreadAlloc.o tclThreadJoin.o tclStubInit.o tclStubLib.o 
  259. tclTimer.o tclUtf.o tclUtil.o tclVar.o
  260. STUB_LIB_OBJS = tclStubLib.o ${COMPAT_OBJS}
  261. MAC_OSX_OBJS = tclMacOSXBundle.o tclMacOSXNotify.o
  262. DTRACE_OBJ = tclDTrace.o
  263. TCL_OBJS = ${GENERIC_OBJS} ${UNIX_OBJS} ${NOTIFY_OBJS} ${COMPAT_OBJS} 
  264.         @DL_OBJS@ @PLAT_OBJS@
  265. OBJS = ${TCL_OBJS} @DTRACE_OBJ@
  266. TCL_DECLS = 
  267. $(GENERIC_DIR)/tcl.decls 
  268. $(GENERIC_DIR)/tclInt.decls
  269. GENERIC_HDRS = 
  270. $(GENERIC_DIR)/tcl.h 
  271. $(GENERIC_DIR)/tclDecls.h 
  272. $(GENERIC_DIR)/tclInt.h 
  273. $(GENERIC_DIR)/tclIntDecls.h 
  274. $(GENERIC_DIR)/tclIntPlatDecls.h 
  275. $(GENERIC_DIR)/tclPatch.h 
  276. $(GENERIC_DIR)/tclPlatDecls.h 
  277. $(GENERIC_DIR)/tclPort.h 
  278. $(GENERIC_DIR)/tclRegexp.h
  279. GENERIC_SRCS = 
  280. $(GENERIC_DIR)/regcomp.c 
  281. $(GENERIC_DIR)/regexec.c 
  282. $(GENERIC_DIR)/regfree.c 
  283. $(GENERIC_DIR)/regerror.c 
  284. $(GENERIC_DIR)/tclAlloc.c 
  285. $(GENERIC_DIR)/tclAsync.c 
  286. $(GENERIC_DIR)/tclBasic.c 
  287. $(GENERIC_DIR)/tclBinary.c 
  288. $(GENERIC_DIR)/tclCkalloc.c 
  289. $(GENERIC_DIR)/tclClock.c 
  290. $(GENERIC_DIR)/tclCmdAH.c 
  291. $(GENERIC_DIR)/tclCmdIL.c 
  292. $(GENERIC_DIR)/tclCmdMZ.c 
  293. $(GENERIC_DIR)/tclCompCmds.c 
  294. $(GENERIC_DIR)/tclCompExpr.c 
  295. $(GENERIC_DIR)/tclCompile.c 
  296. $(GENERIC_DIR)/tclDate.c 
  297. $(GENERIC_DIR)/tclEncoding.c 
  298. $(GENERIC_DIR)/tclEnv.c 
  299. $(GENERIC_DIR)/tclEvent.c 
  300. $(GENERIC_DIR)/tclExecute.c 
  301. $(GENERIC_DIR)/tclFCmd.c 
  302. $(GENERIC_DIR)/tclFileName.c 
  303. $(GENERIC_DIR)/tclGet.c 
  304. $(GENERIC_DIR)/tclHash.c 
  305. $(GENERIC_DIR)/tclHistory.c 
  306. $(GENERIC_DIR)/tclIndexObj.c 
  307. $(GENERIC_DIR)/tclInterp.c 
  308. $(GENERIC_DIR)/tclIO.c 
  309. $(GENERIC_DIR)/tclIOCmd.c 
  310. $(GENERIC_DIR)/tclIOGT.c 
  311. $(GENERIC_DIR)/tclIOSock.c 
  312. $(GENERIC_DIR)/tclIOUtil.c 
  313. $(GENERIC_DIR)/tclLink.c 
  314. $(GENERIC_DIR)/tclListObj.c 
  315. $(GENERIC_DIR)/tclLiteral.c 
  316. $(GENERIC_DIR)/tclLoad.c 
  317. $(GENERIC_DIR)/tclMain.c 
  318. $(GENERIC_DIR)/tclNamesp.c 
  319. $(GENERIC_DIR)/tclNotify.c 
  320. $(GENERIC_DIR)/tclObj.c 
  321.         $(GENERIC_DIR)/tclParse.c 
  322.         $(GENERIC_DIR)/tclParseExpr.c 
  323. $(GENERIC_DIR)/tclPipe.c 
  324. $(GENERIC_DIR)/tclPkg.c 
  325. $(GENERIC_DIR)/tclPosixStr.c 
  326. $(GENERIC_DIR)/tclPreserve.c 
  327. $(GENERIC_DIR)/tclProc.c 
  328. $(GENERIC_DIR)/tclRegexp.c 
  329. $(GENERIC_DIR)/tclResolve.c 
  330. $(GENERIC_DIR)/tclResult.c 
  331. $(GENERIC_DIR)/tclScan.c 
  332. $(GENERIC_DIR)/tclStubInit.c 
  333. $(GENERIC_DIR)/tclStubLib.c 
  334. $(GENERIC_DIR)/tclStringObj.c 
  335. $(GENERIC_DIR)/tclTest.c 
  336. $(GENERIC_DIR)/tclTestObj.c 
  337. $(GENERIC_DIR)/tclTestProcBodyObj.c 
  338. $(GENERIC_DIR)/tclThread.c 
  339. $(GENERIC_DIR)/tclThreadAlloc.c 
  340. $(GENERIC_DIR)/tclThreadJoin.c 
  341. $(GENERIC_DIR)/tclTimer.c 
  342. $(GENERIC_DIR)/tclUtil.c 
  343. $(GENERIC_DIR)/tclVar.c
  344. STUB_SRCS = 
  345. $(GENERIC_DIR)/tclStubLib.c
  346. UNIX_HDRS = 
  347. $(UNIX_DIR)/tclUnixPort.h
  348. UNIX_SRCS = 
  349. $(UNIX_DIR)/tclAppInit.c 
  350. $(UNIX_DIR)/tclUnixChan.c 
  351. $(UNIX_DIR)/tclUnixEvent.c 
  352. $(UNIX_DIR)/tclUnixFCmd.c 
  353. $(UNIX_DIR)/tclUnixFile.c 
  354. $(UNIX_DIR)/tclUnixPipe.c 
  355. $(UNIX_DIR)/tclUnixSock.c 
  356. $(UNIX_DIR)/tclUnixTest.c 
  357. $(UNIX_DIR)/tclUnixThrd.c 
  358. $(UNIX_DIR)/tclUnixTime.c 
  359. $(UNIX_DIR)/tclUnixInit.c 
  360. $(UNIX_DIR)/tclUnixCompat.c
  361. NOTIFY_SRCS = 
  362. $(UNIX_DIR)/tclUnixNotfy.c
  363. DL_SRCS = 
  364. $(UNIX_DIR)/tclLoadAix.c 
  365. $(UNIX_DIR)/tclLoadAout.c 
  366. $(UNIX_DIR)/tclLoadDl.c 
  367. $(UNIX_DIR)/tclLoadDl2.c 
  368. $(UNIX_DIR)/tclLoadDld.c 
  369. $(UNIX_DIR)/tclLoadDyld.c 
  370. $(GENERIC_DIR)/tclLoadNone.c 
  371. $(UNIX_DIR)/tclLoadOSF.c 
  372. $(UNIX_DIR)/tclLoadShl.c
  373. MAC_OSX_SRCS = 
  374. $(MAC_OSX_DIR)/tclMacOSXBundle.c 
  375. $(MAC_OSX_DIR)/tclMacOSXNotify.c
  376. DTRACE_HDR = tclDTrace.h
  377. DTRACE_SRC = $(GENERIC_DIR)/tclDTrace.d
  378. # Note: don't include DL_SRCS or MAC_OSX_SRCS in SRCS: most of those
  379. # files won't compile on the current machine, and they will cause
  380. # problems for things like "make depend".
  381. SRCS = $(GENERIC_SRCS) $(UNIX_SRCS) $(NOTIFY_SRCS) $(STUB_SRCS) @PLAT_SRCS@
  382. all: binaries libraries doc
  383. binaries: ${LIB_FILE} $(STUB_LIB_FILE) $(TCL_BUILD_EXP_FILE) tclsh
  384. libraries:
  385. doc:
  386. # The following target is configured by autoconf to generate either
  387. # a shared library or non-shared library for Tcl.
  388. ${LIB_FILE}: ${OBJS} ${STUB_LIB_FILE}
  389. rm -f $@
  390. @MAKE_LIB@
  391. ${STUB_LIB_FILE}: ${STUB_LIB_OBJS}
  392. rm -f $@
  393. @MAKE_STUB_LIB@
  394. # Make target which outputs the list of the .o contained in the Tcl lib
  395. # usefull to build a single big shared library containing Tcl and other
  396. # extensions.  used for the Tcl Plugin.  -- dl
  397. # The dependency on OBJS is not there because we just want the list
  398. # of objects here, not actually building them
  399. tclLibObjs:
  400. @echo ${OBJS}
  401. # This targets actually build the objects needed for the lib in the above
  402. # case
  403. objs: ${OBJS}
  404. tclsh: ${TCLSH_OBJS} ${TCL_LIB_FILE}
  405. ${CC} ${CFLAGS} ${LDFLAGS} ${TCLSH_OBJS} @TCL_BUILD_LIB_SPEC@ ${LIBS} @EXTRA_TCLSH_LIBS@ 
  406. ${CC_SEARCH_FLAGS} -o tclsh
  407. # Resetting the LIB_RUNTIME_DIR below is required so that
  408. # the generated tcltest executable gets the build directory
  409. # burned into its ld search path. This keeps tcltest from
  410. # picking up an already installed version of the Tcl library.
  411. tcltest: ${TCLTEST_OBJS} ${TCL_LIB_FILE} ${BUILD_DLTEST}
  412. $(MAKE) tcltest-real LIB_RUNTIME_DIR=`pwd`
  413. tcltest-real:
  414. ${CC} ${CFLAGS} ${LDFLAGS} ${TCLTEST_OBJS} @TCL_BUILD_LIB_SPEC@ ${LIBS} @EXTRA_TCLSH_LIBS@ 
  415. ${CC_SEARCH_FLAGS} -o tcltest
  416. # Note, in the target below TCL_LIBRARY needs to be set or else
  417. # "make test" won't work in the case where the compilation directory
  418. # isn't the same as the source directory.
  419. # Specifying TESTFLAGS on the command line is the standard way to pass
  420. # args to tcltest, ie:
  421. # % make test TESTFLAGS="-verbose bps -file fileName.test"
  422. test: tcltest
  423. @LD_LIBRARY_PATH_VAR@=`pwd`:$${@LD_LIBRARY_PATH_VAR@}; export @LD_LIBRARY_PATH_VAR@; 
  424. TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; 
  425. ./tcltest $(TOP_DIR)/tests/all.tcl $(TESTFLAGS) $(TCLTESTARGS)
  426. # Useful target to launch a built tcltest with the proper path,...
  427. runtest: tcltest
  428. @LD_LIBRARY_PATH_VAR@=`pwd`:$${@LD_LIBRARY_PATH_VAR@}; export @LD_LIBRARY_PATH_VAR@; 
  429. TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; 
  430. ./tcltest
  431. # Useful target for running the test suite with an unwritable current
  432. # directory...
  433. ro-test: tcltest
  434. @LD_LIBRARY_PATH_VAR@=`pwd`:$${@LD_LIBRARY_PATH_VAR@}; export @LD_LIBRARY_PATH_VAR@; 
  435. TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; 
  436. echo 'exec chmod -w .;package require tcltest;tcltest::temporaryDirectory /tmp;source ../tests/all.tcl;exec chmod +w .' | ./tcltest
  437. # This target can be used to run tclsh from the build directory
  438. # via `make shell SCRIPT=/tmp/foo.tcl`
  439. shell: tclsh
  440. @LD_LIBRARY_PATH_VAR@=`pwd`:$${@LD_LIBRARY_PATH_VAR@}; export @LD_LIBRARY_PATH_VAR@; 
  441. TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; 
  442. ./tclsh $(SCRIPT)
  443. # This target can be used to run tclsh inside either gdb or insight
  444. gdb: tclsh
  445. @echo "set env @LD_LIBRARY_PATH_VAR@=`pwd`:$${@LD_LIBRARY_PATH_VAR@}" > gdb.run
  446. @echo "set env TCL_LIBRARY=${TCL_BUILDTIME_LIBRARY}" >> gdb.run
  447. $(GDB) ./tclsh --command=gdb.run
  448. rm gdb.run
  449. # This target can be used to run tclsh inside ddd
  450. ddd: tclsh
  451. @echo "set env @LD_LIBRARY_PATH_VAR@=`pwd`:$${@LD_LIBRARY_PATH_VAR@}" > gdb.run
  452. @echo "set env TCL_LIBRARY=${TCL_BUILDTIME_LIBRARY}" >> gdb.run
  453. $(DDD) -command=gdb.run ./tclsh
  454. rm gdb.run
  455. VALGRINDARGS=--tool=memcheck --num-callers=8 --leak-resolution=high --leak-check=yes --show-reachable=yes -v
  456. valgrind: tclsh tcltest
  457. @LD_LIBRARY_PATH_VAR@=`pwd`:$${@LD_LIBRARY_PATH_VAR@}; export @LD_LIBRARY_PATH_VAR@; 
  458. TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; 
  459. valgrind $(VALGRINDARGS) ./tcltest $(TOP_DIR)/tests/all.tcl -singleproc 1 $(TESTFLAGS) $(TCLTESTARGS)
  460. valgrindshell: tclsh
  461. @LD_LIBRARY_PATH_VAR@=`pwd`:$${@LD_LIBRARY_PATH_VAR@}; export @LD_LIBRARY_PATH_VAR@; 
  462. TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; 
  463. valgrind $(VALGRINDARGS) ./tclsh $(SCRIPT)
  464. # The following target outputs the name of the top-level source directory
  465. # for Tcl (it is used by Tk's configure script, for example).  The
  466. # .NO_PARALLEL line is needed to avoid problems under Sun's "pmake".
  467. # Note: this target is now obsolete (use the autoconf variable
  468. # TCL_SRC_DIR from tclConfig.sh instead).
  469. .NO_PARALLEL: topDirName
  470. topDirName:
  471. @cd $(TOP_DIR); pwd
  472. # The following target generates the file generic/tclDate.c 
  473. # from the yacc grammar found in generic/tclGetDate.y.  This is
  474. # only run by hand as yacc is not available in all environments.
  475. # The name of the .c file is different than the name of the .y file
  476. # so that make doesn't try to automatically regenerate the .c file.
  477. gendate:
  478. yacc -l $(GENERIC_DIR)/tclGetDate.y
  479. sed -e 's/yy/TclDate/g' -e '/^#include <values.h>/d' 
  480.     -e 's?SCCSID?RCS: @(#) ?' 
  481.     -e '/#ifdef __STDC__/,/#endif/d' -e '/TclDateerrlab:/d' 
  482.     -e '/TclDatenewstate:/d' -e '/#pragma/d' 
  483.     -e '/#include <inttypes.h>/d' -e 's/const /CONST /g' 
  484.     <y.tab.c >$(GENERIC_DIR)/tclDate.c
  485. rm y.tab.c
  486. # The following target generates the shared libraries in dltest/ that
  487. # are used for testing;  they are included as part of the "tcltest"
  488. # target (via the BUILD_DLTEST variable) if dynamic loading is supported
  489. # on this platform. The Makefile in the dltest subdirectory creates
  490. # the dltest.marker file in this directory after a successful build.
  491. dltest.marker:
  492. cd dltest ; $(MAKE)
  493. INSTALL_TARGETS = install-binaries install-libraries install-doc @EXTRA_INSTALL@
  494. install: $(INSTALL_TARGETS)
  495. install-strip:
  496. $(MAKE) $(INSTALL_TARGETS) 
  497. INSTALL_PROGRAM="$(INSTALL_PROGRAM) ${INSTALL_STRIP_PROGRAM}" 
  498. INSTALL_LIBRARY="$(INSTALL_LIBRARY) ${INSTALL_STRIP_LIBRARY}"
  499. # Note: before running ranlib below, must cd to target directory because
  500. # some ranlibs write to current directory, and this might not always be
  501. # possible (e.g. if installing as root).
  502. install-binaries: binaries
  503. @for i in $(LIB_INSTALL_DIR) $(BIN_INSTALL_DIR) ; 
  504.     do 
  505.     if [ ! -d $$i ] ; then 
  506. echo "Making directory $$i"; 
  507. mkdir -p $$i; 
  508. chmod 755 $$i; 
  509. else true; 
  510. fi; 
  511.     done;
  512. @if test ! -x $(SRC_DIR)/install-sh; then 
  513.     chmod +x $(SRC_DIR)/install-sh; 
  514.     fi
  515. @echo "Installing $(LIB_FILE) to $(LIB_INSTALL_DIR)/"
  516. @@INSTALL_LIB@
  517. @chmod 555 $(LIB_INSTALL_DIR)/$(LIB_FILE)
  518. @if test "$(TCL_BUILD_EXP_FILE)" != ""; then 
  519.     echo "Installing $(TCL_EXP_FILE) to $(LIB_INSTALL_DIR)/"; 
  520.     $(INSTALL_DATA) $(TCL_BUILD_EXP_FILE) 
  521. $(LIB_INSTALL_DIR)/$(TCL_EXP_FILE); 
  522.     fi
  523. @echo "Installing tclsh as $(BIN_INSTALL_DIR)/tclsh$(VERSION)"
  524. @$(INSTALL_PROGRAM) tclsh $(BIN_INSTALL_DIR)/tclsh$(VERSION)
  525. @echo "Installing tclConfig.sh to $(LIB_INSTALL_DIR)/"
  526. @$(INSTALL_DATA) tclConfig.sh $(LIB_INSTALL_DIR)/tclConfig.sh
  527. @if test "$(STUB_LIB_FILE)" != "" ; then 
  528.     echo "Installing $(STUB_LIB_FILE) to $(LIB_INSTALL_DIR)/"; 
  529.     @INSTALL_STUB_LIB@ ; 
  530. fi
  531. @EXTRA_INSTALL_BINARIES@
  532. install-libraries: libraries
  533. @for i in $(INCLUDE_INSTALL_DIR) $(SCRIPT_INSTALL_DIR); 
  534.     do 
  535.     if [ ! -d $$i ] ; then 
  536. echo "Making directory $$i"; 
  537. mkdir -p $$i; 
  538. chmod 755 $$i; 
  539. else true; 
  540. fi; 
  541.     done;
  542. @for i in http2.5 http1.0 opt0.4 encoding msgcat1.3 tcltest2.2; 
  543.     do 
  544.     if [ ! -d $(SCRIPT_INSTALL_DIR)/$$i ] ; then 
  545. echo "Making directory $(SCRIPT_INSTALL_DIR)/$$i"; 
  546. mkdir -p $(SCRIPT_INSTALL_DIR)/$$i; 
  547. chmod 755 $(SCRIPT_INSTALL_DIR)/$$i; 
  548. else true; 
  549. fi; 
  550.     done;
  551. @if test ! -x $(SRC_DIR)/install-sh; then 
  552.     chmod +x $(SRC_DIR)/install-sh; 
  553.     fi
  554. @echo "Installing header files";
  555. @for i in $(GENERIC_DIR)/tcl.h $(GENERIC_DIR)/tclDecls.h 
  556. $(GENERIC_DIR)/tclPlatDecls.h; 
  557.     do 
  558.     $(INSTALL_DATA) $$i $(INCLUDE_INSTALL_DIR); 
  559.     done;
  560. @echo "Installing library files to $(SCRIPT_INSTALL_DIR)";
  561. @for i in $(TOP_DIR)/library/*.tcl $(TOP_DIR)/library/tclIndex 
  562. $(UNIX_DIR)/tclAppInit.c $(UNIX_DIR)/ldAix @DTRACE_SRC@; 
  563.     do 
  564.     $(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR); 
  565.     done;
  566. @echo "Installing library http1.0 directory";
  567. @for j in $(TOP_DIR)/library/http1.0/*.tcl ; 
  568.     do 
  569.     $(INSTALL_DATA) $$j $(SCRIPT_INSTALL_DIR)/http1.0; 
  570.     done;
  571. @echo "Installing library http2.5 directory";
  572. @for j in $(TOP_DIR)/library/http/*.tcl ; 
  573.     do 
  574.     $(INSTALL_DATA) $$j $(SCRIPT_INSTALL_DIR)/http2.5; 
  575.     done;
  576. @echo "Installing library opt0.4 directory";
  577. @for j in $(TOP_DIR)/library/opt/*.tcl ; 
  578.     do 
  579.     $(INSTALL_DATA) $$j $(SCRIPT_INSTALL_DIR)/opt0.4; 
  580.     done;
  581. @echo "Installing library msgcat1.3 directory";
  582. @for j in $(TOP_DIR)/library/msgcat/*.tcl ; 
  583.     do 
  584.     $(INSTALL_DATA) $$j $(SCRIPT_INSTALL_DIR)/msgcat1.3; 
  585.     done;
  586. @echo "Installing library tcltest2.2 directory";
  587. @for j in $(TOP_DIR)/library/tcltest/*.tcl ; 
  588.     do 
  589.     $(INSTALL_DATA) $$j $(SCRIPT_INSTALL_DIR)/tcltest2.2; 
  590.     done;
  591. @echo "Installing library encoding directory";
  592. @for i in $(TOP_DIR)/library/encoding/*.enc ; do 
  593. $(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR)/encoding; 
  594. done;
  595. install-doc: doc
  596. @if test ! -x $(UNIX_DIR)/installManPage; then 
  597.     chmod +x $(UNIX_DIR)/installManPage; 
  598.     fi
  599. @for i in $(MAN_INSTALL_DIR) $(MAN1_INSTALL_DIR) $(MAN3_INSTALL_DIR) $(MANN_INSTALL_DIR) ; 
  600.     do 
  601.     if [ ! -d $$i ] ; then 
  602. echo "Making directory $$i"; 
  603. mkdir -p $$i; 
  604. chmod 755 $$i; 
  605. else true; 
  606. fi; 
  607.     done;
  608. @echo "Installing and cross-linking top-level (.1) docs";
  609. @for i in $(TOP_DIR)/doc/*.1; do 
  610.     $(UNIX_DIR)/installManPage $(MAN_FLAGS) $$i $(MAN1_INSTALL_DIR); 
  611. done
  612. @echo "Installing and cross-linking C API (.3) docs";
  613. @for i in $(TOP_DIR)/doc/*.3; do 
  614.     $(UNIX_DIR)/installManPage $(MAN_FLAGS) $$i $(MAN3_INSTALL_DIR); 
  615. done
  616. @echo "Installing and cross-linking command (.n) docs";
  617. @for i in $(TOP_DIR)/doc/*.n; do 
  618.     $(UNIX_DIR)/installManPage $(MAN_FLAGS) $$i $(MANN_INSTALL_DIR); 
  619. done
  620. # Optional target to install private headers
  621. install-private-headers: libraries
  622. @for i in $(PRIVATE_INCLUDE_INSTALL_DIR); 
  623.     do 
  624.     if [ ! -d $$i ] ; then 
  625. echo "Making directory $$i"; 
  626. mkdir -p $$i; 
  627. chmod 755 $$i; 
  628. else true; 
  629. fi; 
  630.     done;
  631. @if test ! -x $(SRC_DIR)/install-sh; then 
  632.     chmod +x $(SRC_DIR)/install-sh; 
  633.     fi
  634. @echo "Installing private header files";
  635. @for i in $(GENERIC_DIR)/tclInt.h $(GENERIC_DIR)/tclIntDecls.h 
  636. $(GENERIC_DIR)/tclIntPlatDecls.h 
  637. $(UNIX_DIR)/tclUnixPort.h $(GENERIC_DIR)/tclMath.h; 
  638.     do 
  639.     $(INSTALL_DATA) $$i $(PRIVATE_INCLUDE_INSTALL_DIR); 
  640.     done;
  641. @sed -e 's#../unix/##' $(GENERIC_DIR)/tclPort.h > tclPort.h; 
  642.     $(INSTALL_DATA) tclPort.h $(PRIVATE_INCLUDE_INSTALL_DIR); 
  643.     rm -f tclPort.h
  644. Makefile: $(UNIX_DIR)/Makefile.in $(DLTEST_DIR)/Makefile.in
  645. $(SHELL) config.status
  646. clean:
  647. rm -f *.a *.o libtcl* core errs *~ #* TAGS *.E a.out 
  648. errors tclsh tcltest lib.exp Tcl
  649. cd dltest ; $(MAKE) clean
  650. distclean: clean
  651. rm -rf Makefile config.status config.cache config.log tclConfig.sh 
  652. $(PACKAGE).* prototype *.plist Tcl.framework
  653. cd dltest ; $(MAKE) distclean
  654. depend:
  655. makedepend -- $(DEPEND_SWITCHES) -- $(SRCS)
  656. # Test binaries.  The rules for tclTestInit.o and xtTestInit.o are
  657. # complicated because they are compiled from tclAppInit.c.  Can't use
  658. # the "-o" option because this doesn't work on some strange compilers
  659. # (e.g. UnixWare).
  660. # To enable concurrent parallel make of tclsh and tcltest resp xttest, these
  661. # targets have to depend on tclsh, this ensures that linking of tclsh with
  662. # tclAppInit.o does not execute concurrently with the renaming and recompiling
  663. # of that same object file in the targets below.
  664. tclTestInit.o: $(UNIX_DIR)/tclAppInit.c tclsh
  665. @if test -f tclAppInit.o ; then 
  666.     rm -f tclAppInit.sav; 
  667.     mv tclAppInit.o tclAppInit.sav; 
  668. fi;
  669. $(CC) -c $(APP_CC_SWITCHES) 
  670. -DTCL_BUILDTIME_LIBRARY=""${TCL_BUILDTIME_LIBRARY}"" 
  671. -DTCL_TEST $(UNIX_DIR)/tclAppInit.c
  672. rm -f tclTestInit.o
  673. mv tclAppInit.o tclTestInit.o
  674. @if test -f tclAppInit.sav ; then 
  675.     mv tclAppInit.sav tclAppInit.o; 
  676. fi;
  677. xtTestInit.o: $(UNIX_DIR)/tclAppInit.c tclsh
  678. @if test -f tclAppInit.o ; then 
  679.     rm -f tclAppInit.sav; 
  680.     mv tclAppInit.o tclAppInit.sav; 
  681. fi;
  682. $(CC) -c $(APP_CC_SWITCHES) 
  683. -DTCL_BUILDTIME_LIBRARY=""${TCL_BUILDTIME_LIBRARY}"" 
  684. -DTCL_TEST -DTCL_XT_TEST $(UNIX_DIR)/tclAppInit.c
  685. rm -f xtTestInit.o
  686. mv tclAppInit.o xtTestInit.o
  687. @if test -f tclAppInit.sav ; then 
  688.     mv tclAppInit.sav tclAppInit.o; 
  689. fi;
  690. # Object files used on all Unix systems:
  691. REGHDRS=$(GENERIC_DIR)/regex.h $(GENERIC_DIR)/regguts.h 
  692. $(GENERIC_DIR)/regcustom.h
  693. regcomp.o: $(REGHDRS) $(GENERIC_DIR)/regcomp.c $(GENERIC_DIR)/regc_lex.c 
  694. $(GENERIC_DIR)/regc_color.c $(GENERIC_DIR)/regc_locale.c 
  695. $(GENERIC_DIR)/regc_nfa.c $(GENERIC_DIR)/regc_cvec.c
  696. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/regcomp.c
  697. regexec.o: $(REGHDRS) $(GENERIC_DIR)/regexec.c $(GENERIC_DIR)/rege_dfa.c
  698. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/regexec.c
  699. regfree.o: $(REGHDRS) $(GENERIC_DIR)/regfree.c
  700. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/regfree.c
  701. regerror.o: $(REGHDRS) $(GENERIC_DIR)/regerrs.h $(GENERIC_DIR)/regerror.c
  702. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/regerror.c
  703. tclAppInit.o: $(UNIX_DIR)/tclAppInit.c
  704. $(CC) -c $(APP_CC_SWITCHES) $(UNIX_DIR)/tclAppInit.c
  705. # On unix we want to use the normal malloc/free implementation, so we
  706. # specifically set the USE_TCLALLOC flag.
  707. tclAlloc.o: $(GENERIC_DIR)/tclAlloc.c
  708. $(CC) -c $(CC_SWITCHES) -DUSE_TCLALLOC=0 $(GENERIC_DIR)/tclAlloc.c
  709. tclAsync.o: $(GENERIC_DIR)/tclAsync.c
  710. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclAsync.c
  711. tclBasic.o: $(GENERIC_DIR)/tclBasic.c
  712. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclBasic.c
  713. tclBinary.o: $(GENERIC_DIR)/tclBinary.c
  714. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclBinary.c
  715. tclCkalloc.o: $(GENERIC_DIR)/tclCkalloc.c
  716. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclCkalloc.c
  717. tclClock.o: $(GENERIC_DIR)/tclClock.c
  718. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclClock.c
  719. tclCmdAH.o: $(GENERIC_DIR)/tclCmdAH.c
  720. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclCmdAH.c
  721. tclCmdIL.o: $(GENERIC_DIR)/tclCmdIL.c
  722. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclCmdIL.c
  723. tclCmdMZ.o: $(GENERIC_DIR)/tclCmdMZ.c
  724. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclCmdMZ.c
  725. tclDate.o: $(GENERIC_DIR)/tclDate.c
  726. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclDate.c
  727. tclCompCmds.o: $(GENERIC_DIR)/tclCompCmds.c
  728. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclCompCmds.c
  729. tclCompExpr.o: $(GENERIC_DIR)/tclCompExpr.c
  730. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclCompExpr.c
  731. tclCompile.o: $(GENERIC_DIR)/tclCompile.c
  732. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclCompile.c
  733. tclEncoding.o: $(GENERIC_DIR)/tclEncoding.c
  734. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclEncoding.c
  735. tclEnv.o: $(GENERIC_DIR)/tclEnv.c
  736. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclEnv.c
  737. tclEvent.o: $(GENERIC_DIR)/tclEvent.c
  738. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclEvent.c
  739. tclExecute.o: $(GENERIC_DIR)/tclExecute.c
  740. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclExecute.c
  741. tclFCmd.o: $(GENERIC_DIR)/tclFCmd.c
  742. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclFCmd.c
  743. tclFileName.o: $(GENERIC_DIR)/tclFileName.c
  744. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclFileName.c
  745. tclGet.o: $(GENERIC_DIR)/tclGet.c
  746. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclGet.c
  747. tclHash.o: $(GENERIC_DIR)/tclHash.c
  748. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclHash.c
  749. tclHistory.o: $(GENERIC_DIR)/tclHistory.c
  750. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclHistory.c
  751. tclIndexObj.o: $(GENERIC_DIR)/tclIndexObj.c
  752. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclIndexObj.c
  753. tclInterp.o: $(GENERIC_DIR)/tclInterp.c
  754. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclInterp.c
  755. tclIO.o: $(GENERIC_DIR)/tclIO.c
  756. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclIO.c
  757. tclIOCmd.o: $(GENERIC_DIR)/tclIOCmd.c
  758. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclIOCmd.c
  759. tclIOGT.o: $(GENERIC_DIR)/tclIOGT.c
  760. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclIOGT.c
  761. tclIOSock.o: $(GENERIC_DIR)/tclIOSock.c
  762. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclIOSock.c
  763. tclIOUtil.o: $(GENERIC_DIR)/tclIOUtil.c
  764. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclIOUtil.c
  765. tclLink.o: $(GENERIC_DIR)/tclLink.c
  766. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclLink.c
  767. tclListObj.o: $(GENERIC_DIR)/tclListObj.c
  768. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclListObj.c
  769. tclLiteral.o: $(GENERIC_DIR)/tclLiteral.c
  770. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclLiteral.c
  771. tclObj.o: $(GENERIC_DIR)/tclObj.c
  772. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclObj.c
  773. tclLoad.o: $(GENERIC_DIR)/tclLoad.c
  774. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclLoad.c
  775. tclLoadAix.o: $(UNIX_DIR)/tclLoadAix.c
  776. $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclLoadAix.c
  777. tclLoadAout.o: $(UNIX_DIR)/tclLoadAout.c
  778. $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclLoadAout.c
  779. tclLoadDl.o: $(UNIX_DIR)/tclLoadDl.c
  780. $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclLoadDl.c
  781. tclLoadDl2.o: $(UNIX_DIR)/tclLoadDl2.c
  782. $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclLoadDl2.c
  783. tclLoadDld.o: $(UNIX_DIR)/tclLoadDld.c
  784. $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclLoadDld.c
  785. tclLoadDyld.o: $(UNIX_DIR)/tclLoadDyld.c
  786. $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclLoadDyld.c
  787. tclLoadNone.o: $(GENERIC_DIR)/tclLoadNone.c
  788. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclLoadNone.c
  789. tclLoadOSF.o: $(UNIX_DIR)/tclLoadOSF.c
  790. $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclLoadOSF.c
  791. tclLoadShl.o: $(UNIX_DIR)/tclLoadShl.c
  792. $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclLoadShl.c
  793. tclMain.o: $(GENERIC_DIR)/tclMain.c
  794. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclMain.c
  795. tclNamesp.o: $(GENERIC_DIR)/tclNamesp.c
  796. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclNamesp.c
  797. tclNotify.o: $(GENERIC_DIR)/tclNotify.c
  798. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclNotify.c
  799. tclParse.o: $(GENERIC_DIR)/tclParse.c
  800. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclParse.c
  801. tclParseExpr.o: $(GENERIC_DIR)/tclParseExpr.c
  802. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclParseExpr.c
  803. tclPanic.o: $(GENERIC_DIR)/tclPanic.c
  804. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclPanic.c
  805. tclPipe.o: $(GENERIC_DIR)/tclPipe.c
  806. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclPipe.c
  807. tclPkg.o: $(GENERIC_DIR)/tclPkg.c
  808. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclPkg.c
  809. tclPosixStr.o: $(GENERIC_DIR)/tclPosixStr.c
  810. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclPosixStr.c
  811. tclPreserve.o: $(GENERIC_DIR)/tclPreserve.c
  812. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclPreserve.c
  813. tclProc.o: $(GENERIC_DIR)/tclProc.c
  814. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclProc.c
  815. tclRegexp.o: $(GENERIC_DIR)/tclRegexp.c
  816. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclRegexp.c
  817. tclResolve.o: $(GENERIC_DIR)/tclResolve.c
  818. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclResolve.c
  819. tclResult.o: $(GENERIC_DIR)/tclResult.c
  820. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclResult.c
  821. tclScan.o: $(GENERIC_DIR)/tclScan.c
  822. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclScan.c
  823. tclStringObj.o: $(GENERIC_DIR)/tclStringObj.c
  824. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclStringObj.c
  825. tclStubInit.o: $(GENERIC_DIR)/tclStubInit.c
  826. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclStubInit.c
  827. tclUtil.o: $(GENERIC_DIR)/tclUtil.c
  828. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclUtil.c
  829. tclUtf.o: $(GENERIC_DIR)/tclUtf.c $(GENERIC_DIR)/tclUniData.c
  830. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclUtf.c
  831. tclVar.o: $(GENERIC_DIR)/tclVar.c
  832. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclVar.c
  833. tclTest.o: $(GENERIC_DIR)/tclTest.c
  834. $(CC) -c $(APP_CC_SWITCHES) $(GENERIC_DIR)/tclTest.c
  835. tclTestObj.o: $(GENERIC_DIR)/tclTestObj.c
  836. $(CC) -c $(APP_CC_SWITCHES) $(GENERIC_DIR)/tclTestObj.c
  837. tclTestProcBodyObj.o: $(GENERIC_DIR)/tclTestProcBodyObj.c
  838. $(CC) -c $(APP_CC_SWITCHES) $(GENERIC_DIR)/tclTestProcBodyObj.c
  839. tclTimer.o: $(GENERIC_DIR)/tclTimer.c
  840. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclTimer.c
  841. tclThread.o: $(GENERIC_DIR)/tclThread.c
  842. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclThread.c
  843. tclThreadAlloc.o: $(GENERIC_DIR)/tclThreadAlloc.c
  844. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclThreadAlloc.c
  845. tclThreadJoin.o: $(GENERIC_DIR)/tclThreadJoin.c
  846. $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclThreadJoin.c
  847. tclThreadTest.o: $(GENERIC_DIR)/tclThreadTest.c
  848. $(CC) -c $(APP_CC_SWITCHES) $(GENERIC_DIR)/tclThreadTest.c
  849. tclUnixChan.o: $(UNIX_DIR)/tclUnixChan.c
  850. $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixChan.c
  851. tclUnixEvent.o: $(UNIX_DIR)/tclUnixEvent.c
  852. $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixEvent.c
  853. tclUnixFCmd.o: $(UNIX_DIR)/tclUnixFCmd.c
  854. $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixFCmd.c
  855. tclUnixFile.o: $(UNIX_DIR)/tclUnixFile.c
  856. $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixFile.c
  857. tclUnixNotfy.o: $(UNIX_DIR)/tclUnixNotfy.c
  858. $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixNotfy.c
  859. tclUnixPipe.o: $(UNIX_DIR)/tclUnixPipe.c
  860. $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixPipe.c
  861. tclUnixSock.o: $(UNIX_DIR)/tclUnixSock.c
  862. $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixSock.c
  863. tclUnixTest.o: $(UNIX_DIR)/tclUnixTest.c
  864. $(CC) -c $(APP_CC_SWITCHES) $(UNIX_DIR)/tclUnixTest.c
  865. tclUnixThrd.o: $(UNIX_DIR)/tclUnixThrd.c
  866. $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixThrd.c
  867. tclUnixTime.o: $(UNIX_DIR)/tclUnixTime.c
  868. $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixTime.c
  869. tclUnixInit.o: $(UNIX_DIR)/tclUnixInit.c $(GENERIC_DIR)/tclInitScript.h tclConfig.sh
  870. $(CC) -c $(CC_SWITCHES) -DTCL_LIBRARY="${TCL_LIBRARY}" 
  871. -DTCL_PACKAGE_PATH=""${TCL_PACKAGE_PATH}"" 
  872. $(UNIX_DIR)/tclUnixInit.c
  873. tclUnixCompat.o: $(UNIX_DIR)/tclUnixCompat.c
  874. $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixCompat.c
  875. # The following are Mac OS X only sources:
  876. tclMacOSXBundle.o: $(MAC_OSX_DIR)/tclMacOSXBundle.c
  877. $(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tclMacOSXBundle.c
  878. tclMacOSXNotify.o: $(MAC_OSX_DIR)/tclMacOSXNotify.c
  879. $(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tclMacOSXNotify.c
  880. # DTrace support
  881. $(TCL_OBJS): @DTRACE_HDR@
  882. $(DTRACE_HDR): $(DTRACE_SRC)
  883. $(DTRACE) -h $(DTRACE_SWITCHES) -o $@ -s $(DTRACE_SRC)
  884. $(DTRACE_OBJ): $(DTRACE_SRC) $(TCL_OBJS)
  885. $(DTRACE) -G $(DTRACE_SWITCHES) -o $@ -s $(DTRACE_SRC) $(TCL_OBJS)
  886. # The following targets are not completely general.  They are provide
  887. # purely for documentation purposes so people who are interested in
  888. # the Xt based notifier can modify them to suit their own installation.
  889. xttest:  ${XTTEST_OBJS} ${GENERIC_OBJS} ${UNIX_OBJS} ${COMPAT_OBJS} 
  890. @DL_OBJS@ ${BUILD_DLTEST}
  891. ${CC} ${XTTEST_OBJS} ${GENERIC_OBJS} ${UNIX_OBJS} ${COMPAT_OBJS} 
  892. @DL_OBJS@ @TCL_BUILD_LIB_SPEC@ ${LIBS} 
  893. ${CC_SEARCH_FLAGS} -L/usr/openwin/lib -lXt -o xttest
  894. tclXtNotify.o: $(UNIX_DIR)/tclXtNotify.c
  895. $(CC) -c $(APP_CC_SWITCHES) -I/usr/openwin/include 
  896. $(UNIX_DIR)/tclXtNotify.c
  897. tclXtTest.o: $(UNIX_DIR)/tclXtTest.c
  898. $(CC) -c $(APP_CC_SWITCHES) -I/usr/openwin/include 
  899. $(UNIX_DIR)/tclXtTest.c
  900. # compat binaries, these must be compiled for use in a shared library
  901. # even though they may be placed in a static executable or library.  Since
  902. # they are included in both the tcl library and the stub library, they
  903. # need to be relocatable.
  904. fixstrtod.o: $(COMPAT_DIR)/fixstrtod.c
  905. $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/fixstrtod.c
  906. opendir.o: $(COMPAT_DIR)/opendir.c
  907. $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/opendir.c
  908. memcmp.o: $(COMPAT_DIR)/memcmp.c
  909. $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/memcmp.c
  910. strncasecmp.o: $(COMPAT_DIR)/strncasecmp.c
  911. $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/strncasecmp.c
  912. strstr.o: $(COMPAT_DIR)/strstr.c
  913. $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/strstr.c
  914. strtod.o: $(COMPAT_DIR)/strtod.c
  915. $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/strtod.c
  916. strtol.o: $(COMPAT_DIR)/strtol.c
  917. $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/strtol.c
  918. strtoll.o: $(COMPAT_DIR)/strtoll.c
  919. $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/strtoll.c
  920. strtoul.o: $(COMPAT_DIR)/strtoul.c
  921. $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/strtoul.c
  922. strtoull.o: $(COMPAT_DIR)/strtoull.c
  923. $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/strtoull.c
  924. tmpnam.o: $(COMPAT_DIR)/tmpnam.c
  925. $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/tmpnam.c
  926. waitpid.o: $(COMPAT_DIR)/waitpid.c
  927. $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/waitpid.c
  928. # Stub library binaries, these must be compiled for use in a shared library
  929. # even though they will be placed in a static archive
  930. tclStubLib.o: $(GENERIC_DIR)/tclStubLib.c
  931. $(CC) -c $(STUB_CC_SWITCHES) $(GENERIC_DIR)/tclStubLib.c
  932. .c.o:
  933. $(CC) -c $(CC_SWITCHES) $<
  934. #
  935. # Target to regenerate header files and stub files from the *.decls tables.
  936. #
  937. $(GENERIC_DIR)/tclStubInit.c: $(GENERIC_DIR)/tcl.decls 
  938. $(GENERIC_DIR)/tclInt.decls
  939. @echo "Warning: tclStubInit.c may be out of date."
  940. @echo "Developers may want to run "make genstubs" to regenerate."
  941. @echo "This warning can be safely ignored, do not report as a bug!"
  942. genstubs:
  943. $(TCL_EXE) $(TOOL_DIR)/genStubs.tcl $(GENERIC_DIR) 
  944. $(GENERIC_DIR)/tcl.decls $(GENERIC_DIR)/tclInt.decls
  945. #
  946. # Target to check that all exported functions have an entry in the stubs
  947. # tables.
  948. #
  949. checkstubs: $(TCL_LIB_FILE)
  950. -@for i in `nm -p $(TCL_LIB_FILE) 
  951. | awk '$$2 ~ /^[TDBCS]$$/ { sub("^_", "", $$3); print $$3 }' 
  952. | sort -n`; do 
  953. match=0; 
  954. for j in $(TCL_DECLS); do 
  955.     if [ `grep -c "$$i *(" $$j` -gt 0 ]; then 
  956. match=1; 
  957.     fi; 
  958. done; 
  959. if [ $$match -eq 0 ]; then echo $$i; fi 
  960. done
  961. #
  962. # Target to check that all public APIs which are not command
  963. # implementations have an entry in section three of the distributed
  964. # manpages.
  965. #
  966. checkdoc: $(TCL_LIB_FILE)
  967. -@for i in `nm -p $(TCL_LIB_FILE) | awk '$$3 ~ /Tcl_/ { print $$3 }' 
  968. | grep -v 'Cmd$$' | sort -n`; do 
  969. match=0; 
  970. for j in $(TOP_DIR)/doc/*.3; do 
  971.     if [ `grep '-' $$j | grep -c $$i` -gt 0 ]; then 
  972. match=1; 
  973.     fi; 
  974. done; 
  975. if [ $$match -eq 0 ]; then echo $$i; fi 
  976. done
  977. #
  978. # Target to check for proper usage of UCHAR macro.
  979. #
  980. checkuchar:
  981. -egrep isalnum|isalpha|iscntrl|isdigit|islower|isprint|ispunct|isspace|isupper|isxdigit|toupper|tolower $(SRCS) | grep -v UCHAR
  982. #
  983. # Target to make sure that only symbols with "Tcl" prefixes are
  984. # exported.
  985. #
  986. checkexports: $(TCL_LIB_FILE)
  987. -@nm -p $(TCL_LIB_FILE) 
  988. | awk '$$2 ~ /^[TDBCS]$$/ { sub("^_", "", $$3); print $$3 }' 
  989. | sort -n | grep -E -v '^[Tt]cl' || true
  990. #
  991. # Target to create a Tcl RPM for Linux.  Requires that you be on a Linux
  992. # system.
  993. #
  994. rpm: all /bin/rpm
  995. rm -f THIS.TCL.SPEC
  996. echo "%define _builddir `pwd`" > THIS.TCL.SPEC
  997. echo "%define _rpmdir `pwd`/RPMS" >> THIS.TCL.SPEC
  998. cat tcl.spec >> THIS.TCL.SPEC
  999. mkdir -p RPMS/i386
  1000. rpm -bb THIS.TCL.SPEC
  1001. mv RPMS/i386/*.rpm .
  1002. rm -rf RPMS THIS.TCL.SPEC
  1003. #
  1004. # Target to create a proper Tcl distribution from information in the
  1005. # master source directory.  DISTDIR must be defined to indicate where
  1006. # to put the distribution.  DISTDIR must be an absolute path name.
  1007. #
  1008. DISTROOT = /tmp/dist
  1009. DISTNAME = tcl${VERSION}${PATCH_LEVEL}
  1010. ZIPNAME  = tcl${MAJOR_VERSION}${MINOR_VERSION}${PATCH_LEVEL}-src.zip
  1011. DISTDIR  = $(DISTROOT)/$(DISTNAME)
  1012. dist:
  1013. rm -rf $(DISTDIR)
  1014. mkdir -p $(DISTDIR)/unix
  1015. cp -p $(UNIX_DIR)/*.c $(UNIX_DIR)/*.h $(DISTDIR)/unix
  1016. cp $(UNIX_DIR)/Makefile.in $(DISTDIR)/unix
  1017. chmod 664 $(DISTDIR)/unix/Makefile.in
  1018. cp $(UNIX_DIR)/configure $(UNIX_DIR)/configure.in 
  1019. $(UNIX_DIR)/tcl.m4 $(UNIX_DIR)/aclocal.m4 
  1020. $(UNIX_DIR)/tclConfig.sh.in $(UNIX_DIR)/install-sh 
  1021. $(UNIX_DIR)/README $(UNIX_DIR)/ldAix $(UNIX_DIR)/tcl.spec 
  1022. $(UNIX_DIR)/installManPage 
  1023. $(DISTDIR)/unix
  1024. chmod 775 $(DISTDIR)/unix/configure $(DISTDIR)/unix/configure.in
  1025. chmod 775 $(DISTDIR)/unix/ldAix
  1026. chmod +x $(DISTDIR)/unix/install-sh
  1027. mkdir $(DISTDIR)/generic
  1028. cp -p $(GENERIC_DIR)/*.[cdh] $(DISTDIR)/generic
  1029. cp -p $(GENERIC_DIR)/*.decls $(DISTDIR)/generic
  1030. cp -p $(GENERIC_DIR)/README $(DISTDIR)/generic
  1031. cp -p $(GENERIC_DIR)/tclGetDate.y $(DISTDIR)/generic
  1032. cp -p $(TOP_DIR)/changes $(TOP_DIR)/ChangeLog $(TOP_DIR)/README* 
  1033. $(TOP_DIR)/ChangeLog.[12]??? $(TOP_DIR)/license.terms 
  1034. $(DISTDIR)
  1035. mkdir $(DISTDIR)/library
  1036. cp -p $(TOP_DIR)/license.terms $(TOP_DIR)/library/*.tcl 
  1037. $(TOP_DIR)/library/tclIndex $(DISTDIR)/library
  1038. for i in http1.0 http opt msgcat reg dde tcltest; 
  1039.     do 
  1040. mkdir $(DISTDIR)/library/$$i ;
  1041. cp -p $(TOP_DIR)/library/$$i/*.tcl $(DISTDIR)/library/$$i; 
  1042.     done;
  1043. mkdir $(DISTDIR)/library/encoding
  1044. cp -p $(TOP_DIR)/library/encoding/*.enc $(DISTDIR)/library/encoding
  1045. mkdir $(DISTDIR)/doc
  1046. cp -p $(TOP_DIR)/license.terms $(TOP_DIR)/doc/*.[13n] 
  1047. $(TOP_DIR)/doc/man.macros $(DISTDIR)/doc
  1048. mkdir $(DISTDIR)/compat
  1049. cp -p $(TOP_DIR)/license.terms $(COMPAT_DIR)/*.c 
  1050. $(COMPAT_DIR)/*.h $(COMPAT_DIR)/README 
  1051. $(DISTDIR)/compat
  1052. mkdir $(DISTDIR)/tests
  1053. cp -p $(TOP_DIR)/license.terms $(DISTDIR)/tests
  1054. cp -p $(TOP_DIR)/tests/*.test $(TOP_DIR)/tests/README 
  1055. $(TOP_DIR)/tests/httpd $(TOP_DIR)/tests/*.tcl 
  1056. $(DISTDIR)/tests
  1057. mkdir $(DISTDIR)/win
  1058. cp $(TOP_DIR)/win/Makefile.in $(DISTDIR)/win
  1059. cp $(TOP_DIR)/win/configure.in $(TOP_DIR)/win/configure 
  1060. $(TOP_DIR)/win/tclConfig.sh.in 
  1061. $(TOP_DIR)/win/tcl.m4 $(TOP_DIR)/win/aclocal.m4 
  1062. $(DISTDIR)/win
  1063. cp -p $(TOP_DIR)/win/*.c $(TOP_DIR)/win/*.h 
  1064. $(TOP_DIR)/win/*.ico $(TOP_DIR)/win/*.rc 
  1065. $(DISTDIR)/win
  1066. cp -p $(TOP_DIR)/win/*.bat $(DISTDIR)/win
  1067. $(TCL_EXE) $(TOOL_DIR)/eolFix.tcl -crlf $(DISTDIR)/win/*.bat
  1068. cp -p $(TOP_DIR)/win/makefile.* $(DISTDIR)/win
  1069. $(TCL_EXE) $(TOOL_DIR)/eolFix.tcl -crlf $(DISTDIR)/win/makefile.*
  1070. cp -p $(TOP_DIR)/win/rules.vc $(DISTDIR)/win
  1071. $(TCL_EXE) $(TOOL_DIR)/eolFix.tcl -crlf $(DISTDIR)/win/rules.vc
  1072. cp -p $(TOP_DIR)/win/coffbase.txt $(DISTDIR)/win
  1073. $(TCL_EXE) $(TOOL_DIR)/eolFix.tcl -crlf $(DISTDIR)/win/coffbase.txt
  1074. cp -p $(TOP_DIR)/win/tcl.hpj.in $(DISTDIR)/win
  1075. $(TCL_EXE) $(TOOL_DIR)/eolFix.tcl -crlf $(DISTDIR)/win/tcl.hpj.in
  1076. cp -p $(TOP_DIR)/win/tcl.ds* $(DISTDIR)/win
  1077. $(TCL_EXE) $(TOOL_DIR)/eolFix.tcl -crlf $(DISTDIR)/win/tcl.ds*
  1078. cp -p $(TOP_DIR)/win/README $(DISTDIR)/win
  1079. cp -p $(TOP_DIR)/license.terms $(DISTDIR)/win
  1080. mkdir $(DISTDIR)/mac
  1081. cp -p $(TOP_DIR)/mac/tcl*.sea.hqx 
  1082. $(TOP_DIR)/mac/*.c $(TOP_DIR)/mac/*.h $(TOP_DIR)/mac/*.r 
  1083. $(DISTDIR)/mac
  1084. cp -p $(TOP_DIR)/mac/porting.notes $(TOP_DIR)/mac/README $(DISTDIR)/mac
  1085. cp -p $(TOP_DIR)/mac/*.pch $(DISTDIR)/mac
  1086. cp -p $(TOP_DIR)/mac/*.doc $(TOP_DIR)/mac/*.html $(DISTDIR)/mac
  1087. cp -p $(TOP_DIR)/license.terms $(DISTDIR)/mac
  1088. mkdir $(DISTDIR)/macosx
  1089. cp -p $(MAC_OSX_DIR)/Makefile $(MAC_OSX_DIR)/README 
  1090. $(MAC_OSX_DIR)/*.c $(MAC_OSX_DIR)/*.in 
  1091. $(DISTDIR)/macosx
  1092. cp -p $(TOP_DIR)/license.terms $(DISTDIR)/macosx
  1093. mkdir $(DISTDIR)/macosx/Tcl.pbproj
  1094. cp -p $(MAC_OSX_DIR)/Tcl.pbproj/*.pbx* $(DISTDIR)/macosx/Tcl.pbproj
  1095. mkdir $(DISTDIR)/unix/dltest
  1096. cp -p $(UNIX_DIR)/dltest/*.c $(UNIX_DIR)/dltest/Makefile.in 
  1097. $(UNIX_DIR)/dltest/README 
  1098. $(DISTDIR)/unix/dltest
  1099. mkdir $(DISTDIR)/tools
  1100. cp -p $(TOOL_DIR)/Makefile.in $(TOOL_DIR)/README 
  1101. $(TOOL_DIR)/configure $(TOOL_DIR)/configure.in 
  1102. $(TOOL_DIR)/*.tcl $(TOOL_DIR)/man2tcl.c 
  1103. $(TOOL_DIR)/tcl.wse.in $(TOOL_DIR)/*.bmp 
  1104. $(TOOL_DIR)/tcl.hpj.in 
  1105. $(DISTDIR)/tools
  1106. $(TCL_EXE) $(TOOL_DIR)/eolFix.tcl -crlf $(DISTDIR)/tools/tcl.hpj.in 
  1107. $(DISTDIR)/tools/tcl.wse.in
  1108. #
  1109. # The following target can only be used for non-patch releases.  Use
  1110. # the "allpatch" target below for patch releases.
  1111. #
  1112. alldist: dist
  1113. rm -f $(DISTROOT)/$(DISTNAME)-src.tar.gz $(DISTROOT)/$(ZIPNAME)
  1114. cd $(DISTROOT); tar cf $(DISTNAME)-src.tar $(DISTNAME); 
  1115. gzip -9 $(DISTNAME)-src.tar; zip -qr8 $(ZIPNAME) $(DISTNAME)
  1116. #
  1117. # The target below is similar to "alldist" except it works for patch
  1118. # releases.  It is needed because patch releases are peculiar: the
  1119. # patch designation appears in the name of the compressed file
  1120. # (e.g. tcl8.0p1.tar.gz) but the extracted source directory doesn't
  1121. # include the patch designation (e.g. tcl8.0).
  1122. #
  1123. allpatch: dist
  1124. rm -f $(DISTROOT)/$(DISTNAME)-src.tar.gz $(DISTROOT)/$(ZIPNAME)
  1125. mv $(DISTROOT)/tcl${VERSION} $(DISTROOT)/old
  1126. mv $(DISTROOT)/$(DISTNAME) $(DISTROOT)/tcl${VERSION}
  1127. cd $(DISTROOT); tar cf $(DISTNAME)-src.tar tcl${VERSION}; 
  1128. gzip -9 $(DISTNAME)-src.tar; zip -r8 $(ZIPNAME) tcl${VERSION}
  1129. mv $(DISTROOT)/tcl${VERSION} $(DISTROOT)/$(DISTNAME)
  1130. mv $(DISTROOT)/old $(DISTROOT)/tcl${VERSION}
  1131. #
  1132. # This target creates the HTML folder for Tcl & Tk and places it
  1133. # in DISTDIR/html.  It uses the tcltk-man2html.tcl tool from
  1134. # the Tcl group's tool workspace.  It depends on the Tcl & Tk being
  1135. # in directories called tcl8.* & tk8.* up two directories from the
  1136. # TOOL_DIR.
  1137. #
  1138. html: tclsh
  1139. $(BUILD_HTML)
  1140. @EXTRA_BUILD_HTML@
  1141. html-tcl: tclsh
  1142. $(BUILD_HTML) --tcl
  1143. @EXTRA_BUILD_HTML@
  1144. html-tk: tclsh
  1145. $(BUILD_HTML) --tk
  1146. @EXTRA_BUILD_HTML@
  1147. BUILD_HTML = 
  1148. @@LD_LIBRARY_PATH_VAR@=`pwd`:$${@LD_LIBRARY_PATH_VAR@}; export @LD_LIBRARY_PATH_VAR@; 
  1149. TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; 
  1150. ./tclsh $(TOOL_DIR)/tcltk-man2html.tcl --htmldir=$(HTML_INSTALL_DIR) 
  1151. --srcdir=$(TOP_DIR)/.. $(BUILD_HTML_FLAGS)
  1152. #
  1153. # Target to create a Macintosh version of the distribution.  This will
  1154. # do a normal distribution and then massage the output to prepare it
  1155. # for moving to the Mac platform.  This requires a few scripts and
  1156. # programs found only in the Tcl group's tool workspace.
  1157. #
  1158. macdist: dist machtml
  1159. machtml:
  1160. rm -f $(DISTDIR)/mac/tclMacProjects.sea.hqx
  1161. rm -rf $(DISTDIR)/doc
  1162. $(TCL_EXE) $(TOOL_DIR)/cvtEOL.tcl $(DISTDIR)
  1163. #
  1164. # Targets to build Solaris package of the distribution for the current
  1165. # architecture.  To build stream packages for both sun4 and i86pc
  1166. # architectures: 
  1167. #
  1168. #   On the sun4 machine, execute the following:
  1169. #     make distclean; ./configure
  1170. #     make DISTDIR=<distdir> package
  1171. #
  1172. #   Once the build is complete, execute the following on the i86pc
  1173. #   machine:
  1174. #     make DISTDIR=<distdir> package-quick
  1175. #
  1176. # <distdir> is the absolute path to a directory where the build should
  1177. # take place.  These steps will generate the $(PACKAGE).sun4 and
  1178. # $(PACKAGE).i86pc stream packages.  It is important that the packages be
  1179. # built in this fashion in order to ensure that the architecture
  1180. # independent files are exactly the same, including timestamps, in
  1181. # both packages.
  1182. #
  1183. PACKAGE=SCRPtcl
  1184. package: dist package-config package-common package-binaries package-generate
  1185. package-quick: package-config package-binaries package-generate
  1186. #
  1187. # Configure for the current architecture in the dist directory.
  1188. #
  1189. package-config:
  1190. mkdir -p $(DISTDIR)/unix/`arch`
  1191. cd $(DISTDIR)/unix/`arch`; 
  1192.         ../configure --prefix=/opt/$(PACKAGE)/$(VERSION) 
  1193. --exec_prefix=/opt/$(PACKAGE)/$(VERSION)/`arch` 
  1194. --enable-shared
  1195. mkdir -p $(DISTDIR)/$(PACKAGE)/$(VERSION)
  1196. mkdir -p $(DISTDIR)/$(PACKAGE)/$(VERSION)/`arch`
  1197. #
  1198. # Build and install the architecture independent files in the dist directory.
  1199. #
  1200. package-common:
  1201. cd $(DISTDIR)/unix/`arch`;
  1202. $(MAKE); 
  1203. $(MAKE) prefix=$(DISTDIR)/$(PACKAGE)/$(VERSION) 
  1204. exec_prefix=$(DISTDIR)/$(PACKAGE)/$(VERSION)/`arch` 
  1205. install-libraries install-man
  1206. mkdir -p $(DISTDIR)/$(PACKAGE)/$(VERSION)/bin
  1207. sed -e "s/TCLVERSION/$(VERSION)/g" < $(UNIX_DIR)/tclsh.sh 
  1208. > $(DISTDIR)/$(PACKAGE)/$(VERSION)/bin/tclsh$(VERSION)
  1209. chmod 755 $(DISTDIR)/$(PACKAGE)/$(VERSION)/bin/tclsh$(VERSION)
  1210. #
  1211. # Build and install the architecture specific files in the dist directory.
  1212. #
  1213. package-binaries: 
  1214. cd $(DISTDIR)/unix/`arch`; 
  1215. $(MAKE); 
  1216. $(MAKE) install-binaries prefix=$(DISTDIR)/$(PACKAGE)/$(VERSION) 
  1217. exec_prefix=$(DISTDIR)/$(PACKAGE)/$(VERSION)/`arch`
  1218. #
  1219. # Generate a package from the installed files in the dist directory for the
  1220. # current architecture.
  1221. #
  1222. package-generate:
  1223. pkgproto $(DISTDIR)/$(PACKAGE)/$(VERSION)/bin=bin 
  1224.  $(DISTDIR)/$(PACKAGE)/$(VERSION)/include=include 
  1225.  $(DISTDIR)/$(PACKAGE)/$(VERSION)/lib=lib 
  1226.  $(DISTDIR)/$(PACKAGE)/$(VERSION)/man=man 
  1227.  $(DISTDIR)/$(PACKAGE)/$(VERSION)/`arch`=`arch` 
  1228. | $(TCL_EXE) $(UNIX_DIR)/mkProto.tcl 
  1229. $(VERSION) $(UNIX_DIR) > prototype
  1230. pkgmk -o -d . -f prototype -a `arch`
  1231. pkgtrans -s . $(PACKAGE).`arch` $(PACKAGE)
  1232. rm -rf $(PACKAGE)
  1233. # DO NOT DELETE THIS LINE -- make depend depends on it.