1# 2# This file is a Makefile for Tcl. If it has the name "Makefile.in" then it is 3# a template for a Makefile; to generate the actual Makefile, run 4# "./configure", which is a configuration script generated by the "autoconf" 5# program (constructs like "@foo@" will get replaced in the actual Makefile. 6 7VERSION = @TCL_VERSION@ 8MAJOR_VERSION = @TCL_MAJOR_VERSION@ 9MINOR_VERSION = @TCL_MINOR_VERSION@ 10PATCH_LEVEL = @TCL_PATCH_LEVEL@ 11 12#-------------------------------------------------------------------------- 13# Things you can change to personalize the Makefile for your own site (you can 14# make these changes in either Makefile.in or Makefile, but changes to 15# Makefile will get lost if you re-run the configuration script). 16#-------------------------------------------------------------------------- 17 18# Default top-level directories in which to install architecture-specific 19# files (exec_prefix) and machine-independent files such as scripts (prefix). 20# The values specified here may be overridden at configure-time with the 21# --exec-prefix and --prefix options to the "configure" script. The *dir vars 22# are standard configure substitutions that are based off prefix and 23# exec_prefix. 24 25prefix = @prefix@ 26exec_prefix = @exec_prefix@ 27bindir = @bindir@ 28libdir = @libdir@ 29includedir = @includedir@ 30datarootdir = @datarootdir@ 31mandir = @mandir@ 32 33# The following definition can be set to non-null for special systems like AFS 34# with replication. It allows the pathnames used for installation to be 35# different than those used for actually reference files at run-time. 36# INSTALL_ROOT is prepended to $prefix and $exec_prefix when installing files. 37INSTALL_ROOT = $(DESTDIR) 38 39# Path for the platform independent Tcl scripting libraries: 40TCL_LIBRARY = @TCL_LIBRARY@ 41 42# Path to use at runtime to refer to LIB_INSTALL_DIR: 43LIB_RUNTIME_DIR = $(libdir) 44 45# Directory in which to install the program tclsh: 46BIN_INSTALL_DIR = $(INSTALL_ROOT)$(bindir) 47 48# Directory in which to install libtcl.so or libtcl.a: 49LIB_INSTALL_DIR = $(INSTALL_ROOT)$(libdir) 50DLL_INSTALL_DIR = @DLL_INSTALL_DIR@ 51 52# Path name to use when installing library scripts. 53SCRIPT_INSTALL_DIR = $(INSTALL_ROOT)$(TCL_LIBRARY) 54 55# Directory in which to install the include file tcl.h: 56INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(includedir) 57GENERIC_INCLUDE_INSTALL_DIR = $(INCLUDE_INSTALL_DIR)/generic 58UNIX_INCLUDE_INSTALL_DIR= $(INCLUDE_INSTALL_DIR)/unix 59 60# Path to the private tcl header dir: 61PRIVATE_INCLUDE_DIR = @PRIVATE_INCLUDE_DIR@ 62 63# Directory in which to (optionally) install the private tcl headers: 64PRIVATE_INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(PRIVATE_INCLUDE_DIR) 65 66# Top-level directory in which to install manual entries: 67MAN_INSTALL_DIR = $(INSTALL_ROOT)$(mandir) 68 69# Directory in which to install manual entry for tclsh: 70MAN1_INSTALL_DIR = $(MAN_INSTALL_DIR)/man1 71 72# Directory in which to install manual entries for Tcl's C library procedures: 73MAN3_INSTALL_DIR = $(MAN_INSTALL_DIR)/man3 74 75# Directory in which to install manual entries for the built-in Tcl commands: 76MANN_INSTALL_DIR = $(MAN_INSTALL_DIR)/mann 77 78# Path to the html documentation dir: 79HTML_DIR = @HTML_DIR@ 80 81# Directory in which to install html documentation: 82HTML_INSTALL_DIR = $(INSTALL_ROOT)$(HTML_DIR) 83 84# Directory in which to install the configuration file tclConfig.sh 85CONFIG_INSTALL_DIR = $(INSTALL_ROOT)$(libdir) 86 87# Package search path. 88TCL_PACKAGE_PATH = @TCL_PACKAGE_PATH@ 89 90# Tcl Module default path roots (TIP189). 91TCL_MODULE_PATH = @TCL_MODULE_PATH@ 92 93# warning flags 94CFLAGS_WARNING = @CFLAGS_WARNING@ 95 96# The default switches for optimization or debugging 97CFLAGS_DEBUG = @CFLAGS_DEBUG@ 98CFLAGS_OPTIMIZE = @CFLAGS_OPTIMIZE@ 99 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) 105CFLAGS = @CFLAGS_DEFAULT@ @CFLAGS@ 106 107# Flags to pass to the linker 108LDFLAGS_DEBUG = @LDFLAGS_DEBUG@ 109LDFLAGS_OPTIMIZE = @LDFLAGS_OPTIMIZE@ 110LDFLAGS = @LDFLAGS_DEFAULT@ @LDFLAGS@ 111 112# To disable ANSI-C procedure prototypes reverse the comment characters on the 113# following lines: 114PROTO_FLAGS = 115#PROTO_FLAGS = -DNO_PROTOTYPE 116 117# If you use the setenv, putenv, or unsetenv procedures to modify environment 118# variables in your application and you'd like those modifications to appear 119# in the "env" Tcl variable, switch the comments on the two lines below so 120# that Tcl provides these procedures instead of your standard C library. 121 122ENV_FLAGS = 123#ENV_FLAGS = -DTclSetEnv=setenv -DTcl_PutEnv=putenv -DTclUnsetEnv=unsetenv 124 125# To enable memory debugging, call configure with --enable-symbols=mem 126# Warning: if you enable memory debugging, you must do it *everywhere*, 127# including all the code that calls Tcl, and you must use ckalloc and ckfree 128# everywhere instead of malloc and free. 129 130TCL_STUB_LIB_FILE = @TCL_STUB_LIB_FILE@ 131#TCL_STUB_LIB_FILE = libtclstub.a 132 133# Generic stub lib name used in rules that apply to tcl and tk 134STUB_LIB_FILE = ${TCL_STUB_LIB_FILE} 135 136TCL_STUB_LIB_FLAG = @TCL_STUB_LIB_FLAG@ 137#TCL_STUB_LIB_FLAG = -ltclstub 138 139# To compile without backward compatibility and deprecated code uncomment the 140# following 141NO_DEPRECATED_FLAGS = 142#NO_DEPRECATED_FLAGS = -DTCL_NO_DEPRECATED 143 144# Some versions of make, like SGI's, use the following variable to determine 145# which shell to use for executing commands: 146SHELL = @MAKEFILE_SHELL@ 147 148# Tcl used to let the configure script choose which program to use for 149# installing, but there are just too many different versions of "install" 150# around; better to use the install-sh script that comes with the 151# distribution, which is slower but guaranteed to work. 152 153INSTALL_STRIP_PROGRAM = -s 154INSTALL_STRIP_LIBRARY = -S -x 155 156INSTALL = $(SHELL) $(UNIX_DIR)/install-sh -c 157INSTALL_PROGRAM = ${INSTALL} 158INSTALL_LIBRARY = ${INSTALL} 159INSTALL_DATA = ${INSTALL} -m 644 160INSTALL_DATA_DIR = ${INSTALL} -d -m 755 161 162# TCL_EXE is the name of a tclsh executable that is available *BEFORE* running 163# make for the first time. Certain build targets (make genstubs) need it to be 164# available on the PATH. This executable should *NOT* be required just to do a 165# normal build although it can be required to run make dist. 166TCL_EXE = tclsh@EXEEXT@ 167 168# The symbols below provide support for dynamic loading and shared libraries. 169# See configure.in for a description of what the symbols mean. The values of 170# the symbols are normally set by the configure script. You shouldn't normally 171# need to modify any of these definitions by hand. 172 173STLIB_LD = @STLIB_LD@ 174SHLIB_LD = @SHLIB_LD@ 175SHLIB_CFLAGS = @SHLIB_CFLAGS@ 176SHLIB_LD_LIBS = @SHLIB_LD_LIBS@ 177TCL_SHLIB_LD_EXTRAS = @TCL_SHLIB_LD_EXTRAS@ 178 179SHLIB_SUFFIX = @SHLIB_SUFFIX@ 180#SHLIB_SUFFIX = 181 182DLTEST_TARGETS = dltest.marker 183 184# Additional search flags needed to find the various shared libraries at 185# run-time. The first symbol is for use when creating a binary with cc, and 186# the second is for use when running ld directly. 187CC_SEARCH_FLAGS = @CC_SEARCH_FLAGS@ 188LD_SEARCH_FLAGS = @LD_SEARCH_FLAGS@ 189 190# The following symbol is defined to "$(DLTEST_TARGETS)" if dynamic loading is 191# available; this causes everything in the "dltest" subdirectory to be built 192# when making "tcltest. If dynamic loading isn't available, configure defines 193# this symbol to an empty string, in which case the shared libraries aren't 194# built. 195BUILD_DLTEST = @BUILD_DLTEST@ 196#BUILD_DLTEST = 197 198TCL_LIB_FILE = @TCL_LIB_FILE@ 199#TCL_LIB_FILE = libtcl.a 200 201# Generic lib name used in rules that apply to tcl and tk 202LIB_FILE = ${TCL_LIB_FILE} 203 204TCL_LIB_FLAG = @TCL_LIB_FLAG@ 205#TCL_LIB_FLAG = -ltcl 206 207# support for embedded libraries on Darwin / Mac OS X 208DYLIB_INSTALL_DIR = ${LIB_RUNTIME_DIR} 209 210#-------------------------------------------------------------------------- 211# The information below is modified by the configure script when Makefile is 212# generated from Makefile.in. You shouldn't normally modify any of this stuff 213# by hand. 214#-------------------------------------------------------------------------- 215 216COMPAT_OBJS = @LIBOBJS@ 217 218AC_FLAGS = @DEFS@ 219AR = @AR@ 220RANLIB = @RANLIB@ 221DTRACE = @DTRACE@ 222SRC_DIR = @srcdir@ 223TOP_DIR = $(SRC_DIR)/.. 224BUILD_DIR = @builddir@ 225GENERIC_DIR = $(TOP_DIR)/generic 226TOMMATH_DIR = $(TOP_DIR)/libtommath 227COMPAT_DIR = $(TOP_DIR)/compat 228TOOL_DIR = $(TOP_DIR)/tools 229UNIX_DIR = $(TOP_DIR)/unix 230MAC_OSX_DIR = $(TOP_DIR)/macosx 231# Must be absolute because of the cd dltest $(DLTEST_DIR)/configure below. 232DLTEST_DIR = @TCL_SRC_DIR@/unix/dltest 233# Must be absolute to so the corresponding tcltest's tcl_library is absolute. 234TCL_BUILDTIME_LIBRARY = @TCL_SRC_DIR@/library 235 236CC = @CC@ 237#CC = purify -best-effort @CC@ -DPURIFY 238 239# Flags to be passed to installManPage to control how the manpages should be 240# installed (symlinks, compression, package name suffix). 241MAN_FLAGS = @MAN_FLAGS@ 242 243# If non-empty, install the timezone files that are included with Tcl, 244# otherwise use the ones that ship with the OS. 245INSTALL_TZDATA = @INSTALL_TZDATA@ 246 247#-------------------------------------------------------------------------- 248# The information below is usually usable as is. The configure script won't 249# modify it and it only exists to make working around selected rare system 250# configurations easier. 251#-------------------------------------------------------------------------- 252 253GDB = gdb 254 255#-------------------------------------------------------------------------- 256# The information below should be usable as is. The configure script won't 257# modify it and you shouldn't need to modify it either. 258#-------------------------------------------------------------------------- 259 260STUB_CC_SWITCHES = ${CFLAGS} ${CFLAGS_WARNING} ${SHLIB_CFLAGS} \ 261-I"${BUILD_DIR}" -I${UNIX_DIR} -I${GENERIC_DIR} -I${TOMMATH_DIR} \ 262${AC_FLAGS} ${PROTO_FLAGS} ${ENV_FLAGS} ${EXTRA_CFLAGS} @EXTRA_CC_SWITCHES@ 263 264CC_SWITCHES = $(STUB_CC_SWITCHES) ${NO_DEPRECATED_FLAGS} 265 266APP_CC_SWITCHES = $(CC_SWITCHES) @EXTRA_APP_CC_SWITCHES@ 267 268LIBS = @TCL_LIBS@ 269 270DEPEND_SWITCHES = ${CFLAGS} -I${UNIX_DIR} -I${GENERIC_DIR} \ 271${AC_FLAGS} ${PROTO_FLAGS} ${EXTRA_CFLAGS} @EXTRA_CC_SWITCHES@ 272 273TCLSH_OBJS = tclAppInit.o 274 275TCLTEST_OBJS = tclTestInit.o tclTest.o tclTestObj.o tclTestProcBodyObj.o \ 276 tclThreadTest.o tclUnixTest.o 277 278XTTEST_OBJS = xtTestInit.o tclTest.o tclTestObj.o tclTestProcBodyObj.o \ 279 tclThreadTest.o tclUnixTest.o tclXtNotify.o tclXtTest.o 280 281GENERIC_OBJS = regcomp.o regexec.o regfree.o regerror.o tclAlloc.o \ 282 tclAsync.o tclBasic.o tclBinary.o tclCkalloc.o tclClock.o \ 283 tclCmdAH.o tclCmdIL.o tclCmdMZ.o tclCompCmds.o tclCompExpr.o \ 284 tclCompile.o tclConfig.o tclDate.o tclDictObj.o tclEncoding.o \ 285 tclEnv.o tclEvent.o tclExecute.o tclFCmd.o tclFileName.o tclGet.o \ 286 tclHash.o tclHistory.o tclIndexObj.o tclInterp.o tclIO.o tclIOCmd.o \ 287 tclIORChan.o tclIOGT.o tclIOSock.o tclIOUtil.o tclLink.o tclListObj.o \ 288 tclLiteral.o tclLoad.o tclMain.o tclNamesp.o tclNotify.o \ 289 tclObj.o tclPanic.o tclParse.o tclPathObj.o tclPipe.o \ 290 tclPkg.o tclPkgConfig.o tclPosixStr.o \ 291 tclPreserve.o tclProc.o tclRegexp.o \ 292 tclResolve.o tclResult.o tclScan.o tclStringObj.o \ 293 tclStrToD.o tclThread.o \ 294 tclThreadAlloc.o tclThreadJoin.o tclThreadStorage.o tclStubInit.o \ 295 tclStubLib.o tclTimer.o tclTrace.o tclUtf.o tclUtil.o tclVar.o \ 296 tclTomMathInterface.o 297 298TOMMATH_OBJS = bncore.o bn_reverse.o bn_fast_s_mp_mul_digs.o \ 299 bn_fast_s_mp_sqr.o bn_mp_add.o bn_mp_and.o \ 300 bn_mp_add_d.o bn_mp_clamp.o bn_mp_clear.o bn_mp_clear_multi.o \ 301 bn_mp_cmp.o bn_mp_cmp_d.o bn_mp_cmp_mag.o \ 302 bn_mp_cnt_lsb.o bn_mp_copy.o \ 303 bn_mp_count_bits.o bn_mp_div.o bn_mp_div_d.o bn_mp_div_2.o \ 304 bn_mp_div_2d.o bn_mp_div_3.o \ 305 bn_mp_exch.o bn_mp_expt_d.o bn_mp_grow.o bn_mp_init.o \ 306 bn_mp_init_copy.o bn_mp_init_multi.o bn_mp_init_set.o \ 307 bn_mp_init_set_int.o bn_mp_init_size.o bn_mp_karatsuba_mul.o \ 308 bn_mp_karatsuba_sqr.o \ 309 bn_mp_lshd.o bn_mp_mod.o bn_mp_mod_2d.o bn_mp_mul.o bn_mp_mul_2.o \ 310 bn_mp_mul_2d.o bn_mp_mul_d.o bn_mp_neg.o bn_mp_or.o \ 311 bn_mp_radix_size.o bn_mp_radix_smap.o \ 312 bn_mp_read_radix.o bn_mp_rshd.o bn_mp_set.o bn_mp_set_int.o \ 313 bn_mp_shrink.o \ 314 bn_mp_sqr.o bn_mp_sqrt.o bn_mp_sub.o bn_mp_sub_d.o \ 315 bn_mp_to_unsigned_bin.o bn_mp_to_unsigned_bin_n.o \ 316 bn_mp_toom_mul.o bn_mp_toom_sqr.o bn_mp_toradix_n.o \ 317 bn_mp_unsigned_bin_size.o bn_mp_xor.o bn_mp_zero.o bn_s_mp_add.o \ 318 bn_s_mp_mul_digs.o bn_s_mp_sqr.o bn_s_mp_sub.o 319 320STUB_LIB_OBJS = tclStubLib.o ${COMPAT_OBJS} 321 322UNIX_OBJS = tclUnixChan.o tclUnixEvent.o tclUnixFCmd.o \ 323 tclUnixFile.o tclUnixPipe.o tclUnixSock.o \ 324 tclUnixTime.o tclUnixInit.o tclUnixThrd.o \ 325 tclUnixCompat.o 326 327NOTIFY_OBJS = tclUnixNotfy.o 328 329MAC_OSX_OBJS = tclMacOSXBundle.o tclMacOSXFCmd.o tclMacOSXNotify.o 330 331DTRACE_OBJ = tclDTrace.o 332 333TCL_OBJS = ${GENERIC_OBJS} ${UNIX_OBJS} ${NOTIFY_OBJS} ${COMPAT_OBJS} \ 334 @DL_OBJS@ @PLAT_OBJS@ 335 336OBJS = ${TCL_OBJS} ${TOMMATH_OBJS} @DTRACE_OBJ@ 337 338TCL_DECLS = \ 339 $(GENERIC_DIR)/tcl.decls \ 340 $(GENERIC_DIR)/tclInt.decls \ 341 $(GENERIC_DIR)/tclTomMath.decls 342 343GENERIC_HDRS = \ 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)/tclTomMath.h \ 350 $(GENERIC_DIR)/tclTomMathDecls.h \ 351 $(GENERIC_DIR)/tclPatch.h \ 352 $(GENERIC_DIR)/tclPlatDecls.h \ 353 $(GENERIC_DIR)/tclPort.h \ 354 $(GENERIC_DIR)/tclRegexp.h 355 356GENERIC_SRCS = \ 357 $(GENERIC_DIR)/regcomp.c \ 358 $(GENERIC_DIR)/regexec.c \ 359 $(GENERIC_DIR)/regfree.c \ 360 $(GENERIC_DIR)/regerror.c \ 361 $(GENERIC_DIR)/tclAlloc.c \ 362 $(GENERIC_DIR)/tclAsync.c \ 363 $(GENERIC_DIR)/tclBasic.c \ 364 $(GENERIC_DIR)/tclBinary.c \ 365 $(GENERIC_DIR)/tclCkalloc.c \ 366 $(GENERIC_DIR)/tclClock.c \ 367 $(GENERIC_DIR)/tclCmdAH.c \ 368 $(GENERIC_DIR)/tclCmdIL.c \ 369 $(GENERIC_DIR)/tclCmdMZ.c \ 370 $(GENERIC_DIR)/tclCompCmds.c \ 371 $(GENERIC_DIR)/tclCompExpr.c \ 372 $(GENERIC_DIR)/tclCompile.c \ 373 $(GENERIC_DIR)/tclConfig.c \ 374 $(GENERIC_DIR)/tclDate.c \ 375 $(GENERIC_DIR)/tclDictObj.c \ 376 $(GENERIC_DIR)/tclEncoding.c \ 377 $(GENERIC_DIR)/tclEnv.c \ 378 $(GENERIC_DIR)/tclEvent.c \ 379 $(GENERIC_DIR)/tclExecute.c \ 380 $(GENERIC_DIR)/tclFCmd.c \ 381 $(GENERIC_DIR)/tclFileName.c \ 382 $(GENERIC_DIR)/tclGet.c \ 383 $(GENERIC_DIR)/tclHash.c \ 384 $(GENERIC_DIR)/tclHistory.c \ 385 $(GENERIC_DIR)/tclIndexObj.c \ 386 $(GENERIC_DIR)/tclInterp.c \ 387 $(GENERIC_DIR)/tclIO.c \ 388 $(GENERIC_DIR)/tclIOCmd.c \ 389 $(GENERIC_DIR)/tclIOGT.c \ 390 $(GENERIC_DIR)/tclIOSock.c \ 391 $(GENERIC_DIR)/tclIOUtil.c \ 392 $(GENERIC_DIR)/tclIORChan.c \ 393 $(GENERIC_DIR)/tclLink.c \ 394 $(GENERIC_DIR)/tclListObj.c \ 395 $(GENERIC_DIR)/tclLiteral.c \ 396 $(GENERIC_DIR)/tclLoad.c \ 397 $(GENERIC_DIR)/tclMain.c \ 398 $(GENERIC_DIR)/tclNamesp.c \ 399 $(GENERIC_DIR)/tclNotify.c \ 400 $(GENERIC_DIR)/tclObj.c \ 401 $(GENERIC_DIR)/tclParse.c \ 402 $(GENERIC_DIR)/tclPathObj.c \ 403 $(GENERIC_DIR)/tclPipe.c \ 404 $(GENERIC_DIR)/tclPkg.c \ 405 $(GENERIC_DIR)/tclPkgConfig.c \ 406 $(GENERIC_DIR)/tclPosixStr.c \ 407 $(GENERIC_DIR)/tclPreserve.c \ 408 $(GENERIC_DIR)/tclProc.c \ 409 $(GENERIC_DIR)/tclRegexp.c \ 410 $(GENERIC_DIR)/tclResolve.c \ 411 $(GENERIC_DIR)/tclResult.c \ 412 $(GENERIC_DIR)/tclScan.c \ 413 $(GENERIC_DIR)/tclStubInit.c \ 414 $(GENERIC_DIR)/tclStubLib.c \ 415 $(GENERIC_DIR)/tclStringObj.c \ 416 $(GENERIC_DIR)/tclStrToD.c \ 417 $(GENERIC_DIR)/tclTest.c \ 418 $(GENERIC_DIR)/tclTestObj.c \ 419 $(GENERIC_DIR)/tclTestProcBodyObj.c \ 420 $(GENERIC_DIR)/tclThread.c \ 421 $(GENERIC_DIR)/tclThreadAlloc.c \ 422 $(GENERIC_DIR)/tclThreadJoin.c \ 423 $(GENERIC_DIR)/tclThreadStorage.c \ 424 $(GENERIC_DIR)/tclTimer.c \ 425 $(GENERIC_DIR)/tclTrace.c \ 426 $(GENERIC_DIR)/tclUtil.c \ 427 $(GENERIC_DIR)/tclVar.c 428 429STUB_SRCS = \ 430 $(GENERIC_DIR)/tclStubLib.c 431 432TOMMATH_SRCS = \ 433 $(TOMMATH_DIR)/bncore.c \ 434 $(TOMMATH_DIR)/bn_reverse.c \ 435 $(TOMMATH_DIR)/bn_fast_s_mp_mul_digs.c \ 436 $(TOMMATH_DIR)/bn_fast_s_mp_sqr.c \ 437 $(TOMMATH_DIR)/bn_mp_add.c \ 438 $(TOMMATH_DIR)/bn_mp_add_d.c \ 439 $(TOMMATH_DIR)/bn_mp_and.c \ 440 $(TOMMATH_DIR)/bn_mp_clamp.c \ 441 $(TOMMATH_DIR)/bn_mp_clear.c \ 442 $(TOMMATH_DIR)/bn_mp_clear_multi.c \ 443 $(TOMMATH_DIR)/bn_mp_cmp.c \ 444 $(TOMMATH_DIR)/bn_mp_cmp_d.c \ 445 $(TOMMATH_DIR)/bn_mp_cmp_mag.c \ 446 $(TOMMATH_DIR)/bn_mp_copy.c \ 447 $(TOMMATH_DIR)/bn_mp_cnt_lsb.c \ 448 $(TOMMATH_DIR)/bn_mp_count_bits.c \ 449 $(TOMMATH_DIR)/bn_mp_div.c \ 450 $(TOMMATH_DIR)/bn_mp_div_d.c \ 451 $(TOMMATH_DIR)/bn_mp_div_2.c \ 452 $(TOMMATH_DIR)/bn_mp_div_2d.c \ 453 $(TOMMATH_DIR)/bn_mp_div_3.c \ 454 $(TOMMATH_DIR)/bn_mp_exch.c \ 455 $(TOMMATH_DIR)/bn_mp_expt_d.c \ 456 $(TOMMATH_DIR)/bn_mp_grow.c \ 457 $(TOMMATH_DIR)/bn_mp_init.c \ 458 $(TOMMATH_DIR)/bn_mp_init_copy.c \ 459 $(TOMMATH_DIR)/bn_mp_init_multi.c \ 460 $(TOMMATH_DIR)/bn_mp_init_set.c \ 461 $(TOMMATH_DIR)/bn_mp_init_set_int.c \ 462 $(TOMMATH_DIR)/bn_mp_init_size.c \ 463 $(TOMMATH_DIR)/bn_mp_karatsuba_mul.c \ 464 $(TOMMATH_DIR)/bn_mp_karatsuba_sqr.c \ 465 $(TOMMATH_DIR)/bn_mp_lshd.c \ 466 $(TOMMATH_DIR)/bn_mp_mod.c \ 467 $(TOMMATH_DIR)/bn_mp_mod_2d.c \ 468 $(TOMMATH_DIR)/bn_mp_mul.c \ 469 $(TOMMATH_DIR)/bn_mp_mul_2.c \ 470 $(TOMMATH_DIR)/bn_mp_mul_2d.c \ 471 $(TOMMATH_DIR)/bn_mp_mul_d.c \ 472 $(TOMMATH_DIR)/bn_mp_neg.c \ 473 $(TOMMATH_DIR)/bn_mp_or.c \ 474 $(TOMMATH_DIR)/bn_mp_radix_size.c \ 475 $(TOMMATH_DIR)/bn_mp_radix_smap.c \ 476 $(TOMMATH_DIR)/bn_mp_read_radix.c \ 477 $(TOMMATH_DIR)/bn_mp_rshd.c \ 478 $(TOMMATH_DIR)/bn_mp_set.c \ 479 $(TOMMATH_DIR)/bn_mp_set_int.c \ 480 $(TOMMATH_DIR)/bn_mp_shrink.c \ 481 $(TOMMATH_DIR)/bn_mp_sqr.c \ 482 $(TOMMATH_DIR)/bn_mp_sqrt.c \ 483 $(TOMMATH_DIR)/bn_mp_sub.c \ 484 $(TOMMATH_DIR)/bn_mp_sub_d.c \ 485 $(TOMMATH_DIR)/bn_mp_to_unsigned_bin.c \ 486 $(TOMMATH_DIR)/bn_mp_to_unsigned_bin_n.c \ 487 $(TOMMATH_DIR)/bn_mp_toom_mul.c \ 488 $(TOMMATH_DIR)/bn_mp_toom_sqr.c \ 489 $(TOMMATH_DIR)/bn_mp_toradix_n.c \ 490 $(TOMMATH_DIR)/bn_mp_unsigned_bin_size.c \ 491 $(TOMMATH_DIR)/bn_mp_xor.c \ 492 $(TOMMATH_DIR)/bn_mp_zero.c \ 493 $(TOMMATH_DIR)/bn_s_mp_add.c \ 494 $(TOMMATH_DIR)/bn_s_mp_mul_digs.c \ 495 $(TOMMATH_DIR)/bn_s_mp_sqr.c \ 496 $(TOMMATH_DIR)/bn_s_mp_sub.c 497 498UNIX_HDRS = \ 499 $(UNIX_DIR)/tclUnixPort.h 500# $(UNIX_DIR)/tclConfig.h 501 502UNIX_SRCS = \ 503 $(UNIX_DIR)/tclAppInit.c \ 504 $(UNIX_DIR)/tclUnixChan.c \ 505 $(UNIX_DIR)/tclUnixEvent.c \ 506 $(UNIX_DIR)/tclUnixFCmd.c \ 507 $(UNIX_DIR)/tclUnixFile.c \ 508 $(UNIX_DIR)/tclUnixPipe.c \ 509 $(UNIX_DIR)/tclUnixSock.c \ 510 $(UNIX_DIR)/tclUnixTest.c \ 511 $(UNIX_DIR)/tclUnixThrd.c \ 512 $(UNIX_DIR)/tclUnixTime.c \ 513 $(UNIX_DIR)/tclUnixInit.c \ 514 $(UNIX_DIR)/tclUnixCompat.c 515 516NOTIFY_SRCS = \ 517 $(UNIX_DIR)/tclUnixNotfy.c 518 519DL_SRCS = \ 520 $(UNIX_DIR)/tclLoadAix.c \ 521 $(UNIX_DIR)/tclLoadDl.c \ 522 $(UNIX_DIR)/tclLoadDl2.c \ 523 $(UNIX_DIR)/tclLoadDld.c \ 524 $(UNIX_DIR)/tclLoadDyld.c \ 525 $(GENERIC_DIR)/tclLoadNone.c \ 526 $(UNIX_DIR)/tclLoadOSF.c \ 527 $(UNIX_DIR)/tclLoadShl.c 528 529MAC_OSX_SRCS = \ 530 $(MAC_OSX_DIR)/tclMacOSXBundle.c \ 531 $(MAC_OSX_DIR)/tclMacOSXFCmd.c \ 532 $(MAC_OSX_DIR)/tclMacOSXNotify.c 533 534DTRACE_HDR = tclDTrace.h 535 536DTRACE_SRC = $(GENERIC_DIR)/tclDTrace.d 537 538# Note: don't include DL_SRCS or MAC_OSX_SRCS in SRCS: most of those files 539# won't compile on the current machine, and they will cause problems for 540# things like "make depend". 541 542SRCS = $(GENERIC_SRCS) $(TOMMATH_SRCS) $(UNIX_SRCS) $(NOTIFY_SRCS) \ 543 $(STUB_SRCS) @PLAT_SRCS@ 544 545#-------------------------------------------------------------------------- 546# Start of rules 547#-------------------------------------------------------------------------- 548 549all: binaries libraries doc 550 551binaries: ${LIB_FILE} ${TCL_EXE} libtcl${SHORT_TCL_VER}.a 552 553libraries: 554 555doc: 556 557# The following target is configured by autoconf to generate either a shared 558# library or non-shared library for Tcl. 559${LIB_FILE}: ${STUB_LIB_FILE} ${OBJS} 560 rm -f $@ 561 @MAKE_LIB@ 562 @ln -sf ${LIB_FILE} ./libtcl${SHORT_TCL_VER}.so 563 if test "x@DL_OBJS@" = "xtclLoadAout.o"; then \ 564 $(RANLIB) ${LIB_FILE}; \ 565 fi; 566 567libtcl${SHORT_TCL_VER}.a: ${OBJS} 568 rm -f libtcl${SHORT_TCL_VER}.a 569 ar cr libtcl${SHORT_TCL_VER}.a ${OBJS} 570 $(RANLIB) libtcl${SHORT_TCL_VER}.a 571 572${STUB_LIB_FILE}: ${STUB_LIB_OBJS} 573 @if test "x${LIB_FILE}" = "xlibtcl${MAJOR_VERSION}.${MINOR_VERSION}.dll"; then \ 574 (cd ${TOP_DIR}/win; ${MAKE} winextensions); \ 575 fi 576 rm -f $@ 577 @MAKE_STUB_LIB@ 578 579# Make target which outputs the list of the .o contained in the Tcl lib useful 580# to build a single big shared library containing Tcl and other extensions. 581# Used for the Tcl Plugin. -- dl 582# The dependency on OBJS is not there because we just want the list of objects 583# here, not actually building them 584tclLibObjs: 585 @echo ${OBJS} 586# This targets actually build the objects needed for the lib in the above case 587objs: ${OBJS} 588 589 590${TCL_EXE}: ${TCLSH_OBJS} ${TCL_LIB_FILE} 591 ${CC} ${CFLAGS} ${LDFLAGS} ${TCLSH_OBJS} @TCL_BUILD_LIB_SPEC@ ${LIBS} @EXTRA_TCLSH_LIBS@ \ 592 ${CC_SEARCH_FLAGS} -o ${TCL_EXE} 593 594# Resetting the LIB_RUNTIME_DIR below is required so that the generated 595# tcltest executable gets the build directory burned into its ld search path. 596# This keeps tcltest from picking up an already installed version of the Tcl 597# library. 598 599tcltest@EXEEXT@: ${TCLTEST_OBJS} ${TCL_LIB_FILE} ${BUILD_DLTEST} 600 $(MAKE) tcltest-real LIB_RUNTIME_DIR="`pwd`" 601 602tcltest-real: 603 ${CC} ${CFLAGS} ${LDFLAGS} ${TCLTEST_OBJS} @TCL_BUILD_LIB_SPEC@ ${LIBS} @EXTRA_TCLSH_LIBS@ \ 604 ${CC_SEARCH_FLAGS} -o tcltest@EXEEXT@ 605 606# Note, in the targets below TCL_LIBRARY needs to be set or else "make test" 607# won't work in the case where the compilation directory isn't the same as the 608# source directory. 609# 610# Specifying TESTFLAGS on the command line is the standard way to pass args to 611# tcltest, ie: 612# % make test TESTFLAGS="-verbose bps -file fileName.test" 613 614test: tcltest@EXEEXT@ 615 @LD_LIBRARY_PATH_VAR@="`pwd`:$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \ 616 TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \ 617 ./tcltest@EXEEXT@ $(TOP_DIR)/tests/all.tcl $(TESTFLAGS) 618 619gdb-test: tcltest@EXEEXT@ 620 @echo "set env @LD_LIBRARY_PATH_VAR@=\"`pwd`:$${@LD_LIBRARY_PATH_VAR@}\"" > gdb.run 621 @echo "set env TCL_LIBRARY=${TCL_BUILDTIME_LIBRARY}" >> gdb.run 622 @echo "set args $(TOP_DIR)/tests/all.tcl $(TESTFLAGS) -singleproc 1" >> gdb.run 623 $(GDB) ./tcltest@EXEEXT@ --command=gdb.run 624 rm gdb.run 625 626# Useful target to launch a built tcltest with the proper path,... 627runtest: tcltest@EXEEXT@ 628 @LD_LIBRARY_PATH_VAR@="`pwd`:$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \ 629 TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \ 630 ./tcltest@EXEEXT@ 631 632# Useful target for running the test suite with an unwritable current 633# directory... 634ro-test: tcltest@EXEEXT@ 635 @LD_LIBRARY_PATH_VAR@="`pwd`:$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \ 636 TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \ 637 echo 'exec chmod -w .;package require tcltest;tcltest::temporaryDirectory /tmp;source ../tests/all.tcl;exec chmod +w .' | ./tcltest@EXEEXT@ 638 639# This target can be used to run tclsh from the build directory 640# via `make shell SCRIPT=/tmp/foo.tcl` 641shell: ${TCL_EXE} 642 @LD_LIBRARY_PATH_VAR@="`pwd`:$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \ 643 TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \ 644 ./${TCL_EXE} $(SCRIPT) 645 646# This target can be used to run tclsh inside either gdb or insight 647gdb: ${TCL_EXE} 648 @echo "set env @LD_LIBRARY_PATH_VAR@=\"`pwd`:$${@LD_LIBRARY_PATH_VAR@}\"" > gdb.run 649 @echo "set env TCL_LIBRARY=${TCL_BUILDTIME_LIBRARY}" >> gdb.run 650 $(GDB) ./${TCL_EXE} --command=gdb.run 651 rm gdb.run 652 653VALGRINDARGS=--tool=memcheck --num-callers=8 --leak-resolution=high --leak-check=yes --show-reachable=yes -v 654 655valgrind: ${TCL_EXE} tcltest@EXEEXT@ 656 @LD_LIBRARY_PATH_VAR@="`pwd`:$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \ 657 TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \ 658 valgrind $(VALGRINDARGS) ./tcltest@EXEEXT@ $(TOP_DIR)/tests/all.tcl -singleproc 1 $(TESTFLAGS) 659 660valgrindshell: ${TCL_EXE} 661 @LD_LIBRARY_PATH_VAR@="`pwd`:$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \ 662 TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \ 663 valgrind $(VALGRINDARGS) ./${TCL_EXE} $(SCRIPT) 664 665# The following target outputs the name of the top-level source directory for 666# Tcl (it is used by Tk's configure script, for example). The .NO_PARALLEL 667# line is needed to avoid problems under Sun's "pmake". Note: this target is 668# now obsolete (use the autoconf variable TCL_SRC_DIR from tclConfig.sh 669# instead). 670 671.NO_PARALLEL: topDirName 672topDirName: 673 @cd $(TOP_DIR); pwd 674 675# The following target generates the file generic/tclDate.c from the yacc 676# grammar found in generic/tclGetDate.y. This is only run by hand as yacc is 677# not available in all environments. The name of the .c file is different than 678# the name of the .y file so that make doesn't try to automatically regenerate 679# the .c file. 680 681gendate: 682 bison --output-file=$(GENERIC_DIR)/tclDate.c \ 683 --no-lines \ 684 --name-prefix=TclDate \ 685 $(GENERIC_DIR)/tclGetDate.y 686 687# yacc -l $(GENERIC_DIR)/tclGetDate.y 688# sed -e 's/yy/TclDate/g' -e '/^#include <values.h>/d' \ 689# -e 's?SCCSID?RCS: @(#) ?' \ 690# -e '/#ifdef __STDC__/,/#endif/d' -e '/TclDateerrlab:/d' \ 691# -e '/TclDatenewstate:/d' -e '/#pragma/d' \ 692# -e '/#include <inttypes.h>/d' -e 's/const /CONST /g' \ 693# -e '/#define YYNEW/s/malloc/TclDateAlloc/g' \ 694# -e '/#define YYENLARGE/,/realloc/s/realloc/TclDateRealloc/g' \ 695# <y.tab.c >$(GENERIC_DIR)/tclDate.c 696# rm y.tab.c 697 698# The following target generates the file generic/tclTomMath.h. It needs to be 699# run (and the results checked) after updating to a new release of libtommath. 700 701gentommath_h: 702 $(TCL_EXE) "$(TOOL_DIR)/fix_tommath_h.tcl" \ 703 "$(TOMMATH_DIR)/tommath.h" \ 704 > "$(GENERIC_DIR)/tclTomMath.h" 705 706# The following target generates the shared libraries in dltest/ that are used 707# for testing; they are included as part of the "tcltest" target (via the 708# BUILD_DLTEST variable) if dynamic loading is supported on this platform. The 709# Makefile in the dltest subdirectory creates the dltest.marker file in this 710# directory after a successful build. 711 712dltest.marker: ${STUB_LIB_FILE} 713 cd dltest ; $(MAKE) 714 715INSTALL_TARGETS = install-binaries install-libraries @EXTRA_INSTALL@ 716 717install: $(INSTALL_TARGETS) 718 719install-strip: 720 $(MAKE) $(INSTALL_TARGETS) \ 721 INSTALL_PROGRAM="$(INSTALL_PROGRAM) ${INSTALL_STRIP_PROGRAM}" \ 722 INSTALL_LIBRARY="$(INSTALL_LIBRARY) ${INSTALL_STRIP_LIBRARY}" 723 724# Note: before running ranlib below, must cd to target directory because some 725# ranlibs write to current directory, and this might not always be possible 726# (e.g. if installing as root). 727 728install-binaries: binaries 729 @for i in "$(LIB_INSTALL_DIR)" "$(BIN_INSTALL_DIR)" \ 730 "$(CONFIG_INSTALL_DIR)"; \ 731 do \ 732 if [ ! -d "$$i" ] ; then \ 733 echo "Making directory $$i"; \ 734 $(INSTALL_DATA_DIR) "$$i"; \ 735 else true; \ 736 fi; \ 737 done; 738 @echo "Installing $(LIB_FILE) to $(DLL_INSTALL_DIR)/" 739 @@INSTALL_LIB@ 740 @chmod 555 "$(DLL_INSTALL_DIR)/$(LIB_FILE)" 741 @ln -sf $(LIB_FILE) "$(DLL_INSTALL_DIR)"/libtcl${SHORT_TCL_VER}.so 742 @echo "Installing libtcl${SHORT_TCL_VER}.a" 743 @$(INSTALL_DATA) libtcl${SHORT_TCL_VER}.a \ 744 "$(DLL_INSTALL_DIR)"/libtcl${SHORT_TCL_VER}.a 745 @(cd "$(DLL_INSTALL_DIR)"; $(RANLIB) libtcl${SHORT_TCL_VER}.a) 746 @chmod 555 "$(DLL_INSTALL_DIR)"/libtcl${SHORT_TCL_VER}.a 747 @echo "Installing ${TCL_EXE} as $(BIN_INSTALL_DIR)/tclsh$(VERSION)@EXEEXT@" 748 @$(INSTALL_PROGRAM) ${TCL_EXE} "$(BIN_INSTALL_DIR)/tclsh$(VERSION)@EXEEXT@" 749 @echo "Installing tclConfig.sh to $(SCRIPT_INSTALL_DIR)/" 750 @mkdir -p "$(SCRIPT_INSTALL_DIR)" 751 @$(INSTALL_DATA) tclConfig.sh "$(SCRIPT_INSTALL_DIR)"/tclConfig.sh 752 @if test "$(STUB_LIB_FILE)" != "" ; then \ 753 echo "Installing $(STUB_LIB_FILE) to $(LIB_INSTALL_DIR)/"; \ 754 @INSTALL_STUB_LIB@ ; \ 755 fi 756 @EXTRA_INSTALL_BINARIES@ 757 @echo "Installing pkg-config file to $(DESTDIR)$(prefix)/libdata/pkgconfig/" 758 @mkdir -p $(DESTDIR)$(prefix)/libdata/pkgconfig 759 @$(INSTALL_DATA) tcl.pc $(DESTDIR)$(prefix)/libdata/pkgconfig/tcl85.pc 760 761install-libraries: libraries $(INSTALL_TZDATA) install-msgs 762 @for i in "$(GENERIC_INCLUDE_INSTALL_DIR)" \ 763 "$(UNIX_INCLUDE_INSTALL_DIR)" "$(SCRIPT_INSTALL_DIR)"; \ 764 do \ 765 if [ ! -d "$$i" ] ; then \ 766 echo "Making directory $$i"; \ 767 $(INSTALL_DATA_DIR) "$$i"; \ 768 else true; \ 769 fi; \ 770 done; 771 @for i in encoding; \ 772 do \ 773 if [ ! -d "$(SCRIPT_INSTALL_DIR)"/$$i ] ; then \ 774 echo "Making directory $(SCRIPT_INSTALL_DIR)/$$i"; \ 775 $(INSTALL_DATA_DIR) "$(SCRIPT_INSTALL_DIR)"/$$i; \ 776 else true; \ 777 fi; \ 778 done; 779 @echo "Installing header files to $(INCLUDE_INSTALL_DIR)/"; 780 @for i in $(GENERIC_DIR)/*.h ; \ 781 do \ 782 $(INSTALL_DATA) $$i "$(GENERIC_INCLUDE_INSTALL_DIR)"; \ 783 done; 784 @for i in $(UNIX_DIR)/*.h ; \ 785 do \ 786 $(INSTALL_DATA) $$i "$(UNIX_INCLUDE_INSTALL_DIR)"; \ 787 done; 788 @ln -sf generic/tcl.h "$(INCLUDE_INSTALL_DIR)"/tcl.h 789 @ln -sf generic/tclDecls.h "$(INCLUDE_INSTALL_DIR)"/tclDecls.h 790 @ln -sf generic/tclPlatDecls.h "$(INCLUDE_INSTALL_DIR)"/tclPlatDecls.h 791 @ln -sf generic/tclTomMath.h "$(INCLUDE_INSTALL_DIR)"/tclTomMath.h 792 @ln -sf generic/tclTomMathDecls.h "$(INCLUDE_INSTALL_DIR)"/tclTomMathDecls.h 793 @echo "Installing library files to $(SCRIPT_INSTALL_DIR)/"; 794 @for i in $(TOP_DIR)/library/*.tcl $(TOP_DIR)/library/tclIndex \ 795 $(UNIX_DIR)/tclAppInit.c @LDAIX_SRC@ @DTRACE_SRC@; \ 796 do \ 797 $(INSTALL_DATA) $$i "$(SCRIPT_INSTALL_DIR)"; \ 798 done; 799 @echo "Installing encoding files to $(SCRIPT_INSTALL_DIR)/encoding/"; 800 @for i in $(TOP_DIR)/library/encoding/*.enc ; do \ 801 $(INSTALL_DATA) $$i "$(SCRIPT_INSTALL_DIR)"/encoding; \ 802 done; 803 @echo "Customizing tcl module path"; 804 @echo "::tcl::tm::path add {$(TCL_LIBRARY)}" >> \ 805 "$(SCRIPT_INSTALL_DIR)"/tm.tcl; 806 807install-tm: 808 @for i in opt0.4 http1.0; \ 809 do \ 810 if [ ! -d "$(SCRIPT_INSTALL_DIR)"/$$i ] ; then \ 811 echo "Making directory $(SCRIPT_INSTALL_DIR)/$$i"; \ 812 $(INSTALL_DATA_DIR) "$(SCRIPT_INSTALL_DIR)"/$$i; \ 813 else true; \ 814 fi; \ 815 done; 816 @echo "Installing package http1.0 files to $(SCRIPT_INSTALL_DIR)/http1.0/"; 817 @for i in $(TOP_DIR)/library/http1.0/*.tcl ; \ 818 do \ 819 $(INSTALL_DATA) $$i "$(SCRIPT_INSTALL_DIR)"/http1.0; \ 820 done; 821 @echo "Installing package http 2.7.13 as a Tcl Module"; 822 @$(INSTALL_DATA) $(TOP_DIR)/library/http/http.tcl "$(SCRIPT_INSTALL_DIR)"/http-2.7.13.tm; 823 @echo "Installing package opt0.4 files to $(SCRIPT_INSTALL_DIR)/opt0.4/"; 824 @for i in $(TOP_DIR)/library/opt/*.tcl ; \ 825 do \ 826 $(INSTALL_DATA) $$i "$(SCRIPT_INSTALL_DIR)"/opt0.4; \ 827 done; 828 @echo "Installing package msgcat 1.5.2 as a Tcl Module"; 829 @$(INSTALL_DATA) $(TOP_DIR)/library/msgcat/msgcat.tcl "$(SCRIPT_INSTALL_DIR)"/msgcat-1.5.2.tm; 830 @echo "Installing package tcltest 2.3.8 as a Tcl Module"; 831 @$(INSTALL_DATA) $(TOP_DIR)/library/tcltest/tcltest.tcl "$(SCRIPT_INSTALL_DIR)"/tcltest-2.3.8.tm; 832 833 @echo "Installing package platform 1.0.14 as a Tcl Module"; 834 @$(INSTALL_DATA) $(TOP_DIR)/library/platform/platform.tcl "$(SCRIPT_INSTALL_DIR)"/platform-1.0.14.tm; 835 @echo "Installing package platform::shell 1.1.4 as a Tcl Module"; 836 @$(INSTALL_DATA_DIR) "$(SCRIPT_INSTALL_DIR)"/platform; 837 @$(INSTALL_DATA) $(TOP_DIR)/library/platform/shell.tcl "$(SCRIPT_INSTALL_DIR)"/platform/shell-1.1.4.tm; 838 839install-tzdata: 840 @for i in tzdata; \ 841 do \ 842 if [ ! -d "$(SCRIPT_INSTALL_DIR)"/$$i ] ; then \ 843 echo "Making directory $(SCRIPT_INSTALL_DIR)/$$i"; \ 844 $(INSTALL_DATA_DIR) "$(SCRIPT_INSTALL_DIR)"/$$i; \ 845 else true; \ 846 fi; \ 847 done; 848 @echo "Installing time zone files to $(SCRIPT_INSTALL_DIR)/tzdata/" 849 @for i in $(TOP_DIR)/library/tzdata/* ; do \ 850 if [ -d $$i ] ; then \ 851 ii=`basename $$i`; \ 852 if [ ! -d "$(SCRIPT_INSTALL_DIR)"/tzdata/$$ii ] ; then \ 853 $(INSTALL_DATA_DIR) "$(SCRIPT_INSTALL_DIR)"/tzdata/$$ii; \ 854 fi; \ 855 for j in $$i/* ; do \ 856 if [ -d $$j ] ; then \ 857 jj=`basename $$j`; \ 858 if [ ! -d "$(SCRIPT_INSTALL_DIR)"/tzdata/$$ii/$$jj ] ; then \ 859 $(INSTALL_DATA_DIR) "$(SCRIPT_INSTALL_DIR)"/tzdata/$$ii/$$jj; \ 860 fi; \ 861 for k in $$j/* ; do \ 862 $(INSTALL_DATA) $$k "$(SCRIPT_INSTALL_DIR)"/tzdata/$$ii/$$jj; \ 863 done; \ 864 else \ 865 $(INSTALL_DATA) $$j "$(SCRIPT_INSTALL_DIR)"/tzdata/$$ii; \ 866 fi; \ 867 done; \ 868 else \ 869 $(INSTALL_DATA) $$i "$(SCRIPT_INSTALL_DIR)"/tzdata; \ 870 fi; \ 871 done; 872 873install-msgs: 874 @for i in msgs; \ 875 do \ 876 if [ ! -d "$(SCRIPT_INSTALL_DIR)"/$$i ] ; then \ 877 echo "Making directory $(SCRIPT_INSTALL_DIR)/$$i"; \ 878 $(INSTALL_DATA_DIR) "$(SCRIPT_INSTALL_DIR)"/$$i; \ 879 else true; \ 880 fi; \ 881 done; 882 @echo "Installing message catalog files to $(SCRIPT_INSTALL_DIR)/msgs/" 883 @for i in $(TOP_DIR)/library/msgs/*.msg ; do \ 884 $(INSTALL_DATA) $$i "$(SCRIPT_INSTALL_DIR)"/msgs; \ 885 done; 886 887install-doc: doc 888 @for i in "$(MAN_INSTALL_DIR)" "$(MAN1_INSTALL_DIR)" "$(MAN3_INSTALL_DIR)" "$(MANN_INSTALL_DIR)" ; \ 889 do \ 890 if [ ! -d "$$i" ] ; then \ 891 echo "Making directory $$i"; \ 892 $(INSTALL_DATA_DIR) "$$i"; \ 893 else true; \ 894 fi; \ 895 done; 896 @echo "Installing and cross-linking top-level (.1) docs to $(MAN1_INSTALL_DIR)/"; 897 @for i in $(TOP_DIR)/doc/*.1; do \ 898 $(SHELL) $(UNIX_DIR)/installManPage $(MAN_FLAGS) $$i "$(MAN1_INSTALL_DIR)"; \ 899 done 900 901 @echo "Installing and cross-linking C API (.3) docs to $(MAN3_INSTALL_DIR)/"; 902 @for i in $(TOP_DIR)/doc/*.3; do \ 903 $(SHELL) $(UNIX_DIR)/installManPage $(MAN_FLAGS) $$i "$(MAN3_INSTALL_DIR)"; \ 904 done 905 906 @echo "Installing and cross-linking command (.n) docs to $(MANN_INSTALL_DIR)/"; 907 @for i in $(TOP_DIR)/doc/*.n; do \ 908 $(SHELL) $(UNIX_DIR)/installManPage $(MAN_FLAGS) $$i "$(MANN_INSTALL_DIR)"; \ 909 done 910 911# Optional target to install private headers 912install-private-headers: libraries 913 @for i in "$(PRIVATE_INCLUDE_INSTALL_DIR)"; \ 914 do \ 915 if [ ! -d "$$i" ] ; then \ 916 echo "Making directory $$i"; \ 917 $(INSTALL_DATA_DIR) "$$i"; \ 918 else true; \ 919 fi; \ 920 done; 921 @echo "Installing private header files to $(PRIVATE_INCLUDE_INSTALL_DIR)/"; 922 @for i in $(GENERIC_DIR)/tclInt.h $(GENERIC_DIR)/tclIntDecls.h \ 923 $(GENERIC_DIR)/tclIntPlatDecls.h $(GENERIC_DIR)/tclPort.h \ 924 $(UNIX_DIR)/tclUnixPort.h; \ 925 do \ 926 $(INSTALL_DATA) $$i "$(PRIVATE_INCLUDE_INSTALL_DIR)"; \ 927 done; 928 @if test -f tclConfig.h; then\ 929 $(INSTALL_DATA) tclConfig.h "$(PRIVATE_INCLUDE_INSTALL_DIR)"; \ 930 fi; 931 932Makefile: $(UNIX_DIR)/Makefile.in $(DLTEST_DIR)/Makefile.in 933 $(SHELL) config.status 934#tclConfig.h: $(UNIX_DIR)/tclConfig.h.in 935# $(SHELL) config.status 936 937clean: 938 rm -f *.a *.o libtcl* core errs *~ \#* TAGS *.E a.out \ 939 errors ${TCL_EXE} tcltest@EXEEXT@ lib.exp Tcl @DTRACE_HDR@ 940 cd dltest ; $(MAKE) clean 941 942distclean: clean 943 rm -rf Makefile config.status config.cache config.log tclConfig.sh \ 944 $(PACKAGE).* prototype tclConfig.h *.plist Tcl.framework \ 945 tcl.pc 946 cd dltest ; $(MAKE) distclean 947 948depend: 949 makedepend -- $(DEPEND_SWITCHES) -- $(SRCS) 950 951#-------------------------------------------------------------------------- 952# Rules for how to compile C files 953#-------------------------------------------------------------------------- 954 955# Test binaries. The rules for tclTestInit.o and xtTestInit.o are complicated 956# because they are compiled from tclAppInit.c. Can't use the "-o" option 957# because this doesn't work on some strange compilers (e.g. UnixWare). 958# 959# To enable concurrent parallel make of tclsh and tcltest resp xttest, these 960# targets have to depend on tclsh, this ensures that linking of tclsh with 961# tclAppInit.o does not execute concurrently with the renaming and recompiling 962# of that same object file in the targets below. 963 964tclTestInit.o: $(UNIX_DIR)/tclAppInit.c ${TCL_EXE} 965 @if test -f tclAppInit.o ; then \ 966 rm -f tclAppInit.sav; \ 967 mv tclAppInit.o tclAppInit.sav; \ 968 fi; 969 $(CC) -c $(APP_CC_SWITCHES) \ 970 -DTCL_BUILDTIME_LIBRARY="\"${TCL_BUILDTIME_LIBRARY}\"" \ 971 -DTCL_TEST $(UNIX_DIR)/tclAppInit.c 972 rm -f tclTestInit.o 973 mv tclAppInit.o tclTestInit.o 974 @if test -f tclAppInit.sav ; then \ 975 mv tclAppInit.sav tclAppInit.o; \ 976 fi; 977 978xtTestInit.o: $(UNIX_DIR)/tclAppInit.c ${TCL_EXE} 979 @if test -f tclAppInit.o ; then \ 980 rm -f tclAppInit.sav; \ 981 mv tclAppInit.o tclAppInit.sav; \ 982 fi; 983 $(CC) -c $(APP_CC_SWITCHES) \ 984 -DTCL_BUILDTIME_LIBRARY="\"${TCL_BUILDTIME_LIBRARY}\"" \ 985 -DTCL_TEST -DTCL_XT_TEST $(UNIX_DIR)/tclAppInit.c 986 rm -f xtTestInit.o 987 mv tclAppInit.o xtTestInit.o 988 @if test -f tclAppInit.sav ; then \ 989 mv tclAppInit.sav tclAppInit.o; \ 990 fi; 991 992# Object files used on all Unix systems: 993 994REGHDRS=$(GENERIC_DIR)/regex.h $(GENERIC_DIR)/regguts.h \ 995 $(GENERIC_DIR)/regcustom.h 996TCLREHDRS=$(GENERIC_DIR)/tclRegexp.h 997COMPILEHDR=$(GENERIC_DIR)/tclCompile.h 998FSHDR=$(GENERIC_DIR)/tclFileSystem.h 999IOHDR=$(GENERIC_DIR)/tclIO.h 1000MATHHDRS=$(GENERIC_DIR)/tommath.h $(GENERIC_DIR)/tclTomMath.h 1001 1002regcomp.o: $(REGHDRS) $(GENERIC_DIR)/regcomp.c $(GENERIC_DIR)/regc_lex.c \ 1003 $(GENERIC_DIR)/regc_color.c $(GENERIC_DIR)/regc_locale.c \ 1004 $(GENERIC_DIR)/regc_nfa.c $(GENERIC_DIR)/regc_cvec.c 1005 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/regcomp.c 1006 1007regexec.o: $(REGHDRS) $(GENERIC_DIR)/regexec.c $(GENERIC_DIR)/rege_dfa.c 1008 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/regexec.c 1009 1010regfree.o: $(REGHDRS) $(GENERIC_DIR)/regfree.c 1011 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/regfree.c 1012 1013regerror.o: $(REGHDRS) $(GENERIC_DIR)/regerrs.h $(GENERIC_DIR)/regerror.c 1014 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/regerror.c 1015 1016tclAppInit.o: $(UNIX_DIR)/tclAppInit.c 1017 $(CC) -c $(APP_CC_SWITCHES) $(UNIX_DIR)/tclAppInit.c 1018 1019tclAlloc.o: $(GENERIC_DIR)/tclAlloc.c 1020 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclAlloc.c 1021 1022tclAsync.o: $(GENERIC_DIR)/tclAsync.c 1023 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclAsync.c 1024 1025tclBasic.o: $(GENERIC_DIR)/tclBasic.c $(COMPILEHDR) $(MATHHDRS) 1026 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclBasic.c 1027 1028tclBinary.o: $(GENERIC_DIR)/tclBinary.c 1029 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclBinary.c 1030 1031tclCkalloc.o: $(GENERIC_DIR)/tclCkalloc.c 1032 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclCkalloc.c 1033 1034tclClock.o: $(GENERIC_DIR)/tclClock.c 1035 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclClock.c 1036 1037tclCmdAH.o: $(GENERIC_DIR)/tclCmdAH.c 1038 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclCmdAH.c 1039 1040tclCmdIL.o: $(GENERIC_DIR)/tclCmdIL.c $(TCLREHDRS) 1041 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclCmdIL.c 1042 1043tclCmdMZ.o: $(GENERIC_DIR)/tclCmdMZ.c $(TCLREHDRS) 1044 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclCmdMZ.c 1045 1046tclDate.o: $(GENERIC_DIR)/tclDate.c 1047 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclDate.c 1048 1049tclCompCmds.o: $(GENERIC_DIR)/tclCompCmds.c $(COMPILEHDR) 1050 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclCompCmds.c 1051 1052tclCompExpr.o: $(GENERIC_DIR)/tclCompExpr.c $(COMPILEHDR) 1053 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclCompExpr.c 1054 1055tclCompile.o: $(GENERIC_DIR)/tclCompile.c $(COMPILEHDR) 1056 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclCompile.c 1057 1058tclConfig.o: $(GENERIC_DIR)/tclConfig.c 1059 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclConfig.c 1060 1061tclDictObj.o: $(GENERIC_DIR)/tclDictObj.c $(MATHHDRS) 1062 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclDictObj.c 1063 1064tclEncoding.o: $(GENERIC_DIR)/tclEncoding.c 1065 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclEncoding.c 1066 1067tclEnv.o: $(GENERIC_DIR)/tclEnv.c 1068 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclEnv.c 1069 1070tclEvent.o: $(GENERIC_DIR)/tclEvent.c 1071 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclEvent.c 1072 1073tclExecute.o: $(GENERIC_DIR)/tclExecute.c $(COMPILEHDR) $(MATHHDRS) 1074 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclExecute.c 1075 1076tclFCmd.o: $(GENERIC_DIR)/tclFCmd.c 1077 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclFCmd.c 1078 1079tclFileName.o: $(GENERIC_DIR)/tclFileName.c $(FSHDR) $(TCLREHDRS) 1080 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclFileName.c 1081 1082tclGet.o: $(GENERIC_DIR)/tclGet.c 1083 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclGet.c 1084 1085tclHash.o: $(GENERIC_DIR)/tclHash.c 1086 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclHash.c 1087 1088tclHistory.o: $(GENERIC_DIR)/tclHistory.c 1089 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclHistory.c 1090 1091tclIndexObj.o: $(GENERIC_DIR)/tclIndexObj.c 1092 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclIndexObj.c 1093 1094tclInterp.o: $(GENERIC_DIR)/tclInterp.c 1095 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclInterp.c 1096 1097tclIO.o: $(GENERIC_DIR)/tclIO.c $(IOHDR) 1098 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclIO.c 1099 1100tclIOCmd.o: $(GENERIC_DIR)/tclIOCmd.c 1101 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclIOCmd.c 1102 1103tclIOGT.o: $(GENERIC_DIR)/tclIOGT.c $(IOHDR) 1104 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclIOGT.c 1105 1106tclIOSock.o: $(GENERIC_DIR)/tclIOSock.c 1107 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclIOSock.c 1108 1109tclIOUtil.o: $(GENERIC_DIR)/tclIOUtil.c $(FSHDR) 1110 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclIOUtil.c 1111 1112tclIORChan.o: $(GENERIC_DIR)/tclIORChan.c $(IOHDR) 1113 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclIORChan.c 1114 1115tclLink.o: $(GENERIC_DIR)/tclLink.c 1116 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclLink.c 1117 1118tclListObj.o: $(GENERIC_DIR)/tclListObj.c 1119 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclListObj.c 1120 1121tclLiteral.o: $(GENERIC_DIR)/tclLiteral.c $(COMPILEHDR) 1122 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclLiteral.c 1123 1124tclObj.o: $(GENERIC_DIR)/tclObj.c $(COMPILEHDR) $(MATHHDRS) 1125 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclObj.c 1126 1127tclLoad.o: $(GENERIC_DIR)/tclLoad.c 1128 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclLoad.c 1129 1130tclLoadAix.o: $(UNIX_DIR)/tclLoadAix.c 1131 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclLoadAix.c 1132 1133tclLoadDl.o: $(UNIX_DIR)/tclLoadDl.c 1134 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclLoadDl.c 1135 1136tclLoadDl2.o: $(UNIX_DIR)/tclLoadDl2.c 1137 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclLoadDl2.c 1138 1139tclLoadDld.o: $(UNIX_DIR)/tclLoadDld.c 1140 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclLoadDld.c 1141 1142tclLoadDyld.o: $(UNIX_DIR)/tclLoadDyld.c 1143 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclLoadDyld.c 1144 1145tclLoadNone.o: $(GENERIC_DIR)/tclLoadNone.c 1146 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclLoadNone.c 1147 1148tclLoadOSF.o: $(UNIX_DIR)/tclLoadOSF.c 1149 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclLoadOSF.c 1150 1151tclLoadShl.o: $(UNIX_DIR)/tclLoadShl.c 1152 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclLoadShl.c 1153 1154tclMain.o: $(GENERIC_DIR)/tclMain.c 1155 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclMain.c 1156 1157tclNamesp.o: $(GENERIC_DIR)/tclNamesp.c 1158 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclNamesp.c 1159 1160tclNotify.o: $(GENERIC_DIR)/tclNotify.c 1161 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclNotify.c 1162 1163tclParse.o: $(GENERIC_DIR)/tclParse.c 1164 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclParse.c 1165 1166tclPanic.o: $(GENERIC_DIR)/tclPanic.c 1167 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclPanic.c 1168 1169tclPathObj.o: $(GENERIC_DIR)/tclPathObj.c $(FSHDR) 1170 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclPathObj.c 1171 1172tclPipe.o: $(GENERIC_DIR)/tclPipe.c 1173 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclPipe.c 1174 1175tclPkg.o: $(GENERIC_DIR)/tclPkg.c 1176 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclPkg.c 1177 1178# TIP #59, embedding of configuration information into the binary library. 1179# 1180# Part of Tcl's configuration information are the paths where it was installed 1181# and where it will look for its libraries (which can be different). We derive 1182# this information from the variables which can be overridden by the user. As 1183# every path can be configured separately we do not remember one general 1184# prefix/exec_prefix but all the different paths individually. 1185 1186tclPkgConfig.o: $(GENERIC_DIR)/tclPkgConfig.c 1187 $(CC) -c $(CC_SWITCHES) \ 1188 -DCFG_INSTALL_LIBDIR="\"$(LIB_INSTALL_DIR)\"" \ 1189 -DCFG_INSTALL_BINDIR="\"$(BIN_INSTALL_DIR)\"" \ 1190 -DCFG_INSTALL_SCRDIR="\"$(SCRIPT_INSTALL_DIR)\"" \ 1191 -DCFG_INSTALL_INCDIR="\"$(INCLUDE_INSTALL_DIR)\"" \ 1192 -DCFG_INSTALL_DOCDIR="\"$(MAN_INSTALL_DIR)\"" \ 1193 \ 1194 -DCFG_RUNTIME_LIBDIR="\"$(libdir)\"" \ 1195 -DCFG_RUNTIME_BINDIR="\"$(bindir)\"" \ 1196 -DCFG_RUNTIME_SCRDIR="\"$(TCL_LIBRARY)\"" \ 1197 -DCFG_RUNTIME_INCDIR="\"$(includedir)\"" \ 1198 -DCFG_RUNTIME_DOCDIR="\"$(mandir)\"" \ 1199 \ 1200 $(GENERIC_DIR)/tclPkgConfig.c 1201 1202tclPosixStr.o: $(GENERIC_DIR)/tclPosixStr.c 1203 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclPosixStr.c 1204 1205tclPreserve.o: $(GENERIC_DIR)/tclPreserve.c 1206 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclPreserve.c 1207 1208tclProc.o: $(GENERIC_DIR)/tclProc.c $(COMPILEHDR) 1209 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclProc.c 1210 1211tclRegexp.o: $(GENERIC_DIR)/tclRegexp.c $(TCLREHDRS) 1212 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclRegexp.c 1213 1214tclResolve.o: $(GENERIC_DIR)/tclResolve.c 1215 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclResolve.c 1216 1217tclResult.o: $(GENERIC_DIR)/tclResult.c 1218 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclResult.c 1219 1220tclScan.o: $(GENERIC_DIR)/tclScan.c 1221 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclScan.c 1222 1223tclStringObj.o: $(GENERIC_DIR)/tclStringObj.c $(MATHHDRS) 1224 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclStringObj.c 1225 1226tclStrToD.o: $(GENERIC_DIR)/tclStrToD.c $(MATHHDRS) 1227 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclStrToD.c 1228 1229tclStubInit.o: $(GENERIC_DIR)/tclStubInit.c 1230 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclStubInit.c 1231 1232tclTrace.o: $(GENERIC_DIR)/tclTrace.c 1233 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclTrace.c 1234 1235tclUtil.o: $(GENERIC_DIR)/tclUtil.c 1236 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclUtil.c 1237 1238tclUtf.o: $(GENERIC_DIR)/tclUtf.c $(GENERIC_DIR)/tclUniData.c 1239 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclUtf.c 1240 1241tclVar.o: $(GENERIC_DIR)/tclVar.c 1242 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclVar.c 1243 1244tclTest.o: $(GENERIC_DIR)/tclTest.c $(IOHDR) $(TCLREHDRS) 1245 $(CC) -c $(APP_CC_SWITCHES) $(GENERIC_DIR)/tclTest.c 1246 1247tclTestObj.o: $(GENERIC_DIR)/tclTestObj.c $(MATHHDRS) 1248 $(CC) -c $(APP_CC_SWITCHES) $(GENERIC_DIR)/tclTestObj.c 1249 1250tclTestProcBodyObj.o: $(GENERIC_DIR)/tclTestProcBodyObj.c 1251 $(CC) -c $(APP_CC_SWITCHES) $(GENERIC_DIR)/tclTestProcBodyObj.c 1252 1253tclTimer.o: $(GENERIC_DIR)/tclTimer.c 1254 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclTimer.c 1255 1256tclThread.o: $(GENERIC_DIR)/tclThread.c 1257 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclThread.c 1258 1259tclThreadAlloc.o: $(GENERIC_DIR)/tclThreadAlloc.c 1260 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclThreadAlloc.c 1261 1262tclThreadJoin.o: $(GENERIC_DIR)/tclThreadJoin.c 1263 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclThreadJoin.c 1264 1265tclThreadStorage.o: $(GENERIC_DIR)/tclThreadStorage.c 1266 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclThreadStorage.c 1267 1268tclThreadTest.o: $(GENERIC_DIR)/tclThreadTest.c 1269 $(CC) -c $(APP_CC_SWITCHES) $(GENERIC_DIR)/tclThreadTest.c 1270 1271tclTomMathInterface.o: $(GENERIC_DIR)/tclTomMathInterface.c $(MATHHDRS) 1272 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclTomMathInterface.c 1273 1274bncore.o: $(TOMMATH_DIR)/bncore.c $(MATHHDRS) 1275 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bncore.c 1276 1277bn_reverse.o: $(TOMMATH_DIR)/bn_reverse.c $(MATHHDRS) 1278 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_reverse.c 1279 1280bn_fast_s_mp_mul_digs.o: $(TOMMATH_DIR)/bn_fast_s_mp_mul_digs.c $(MATHHDRS) 1281 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_fast_s_mp_mul_digs.c 1282 1283bn_fast_s_mp_sqr.o: $(TOMMATH_DIR)/bn_fast_s_mp_sqr.c $(MATHHDRS) 1284 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_fast_s_mp_sqr.c 1285 1286bn_mp_add.o: $(TOMMATH_DIR)/bn_mp_add.c $(MATHHDRS) 1287 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_add.c 1288 1289bn_mp_add_d.o: $(TOMMATH_DIR)/bn_mp_add_d.c $(MATHHDRS) 1290 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_add_d.c 1291 1292bn_mp_and.o: $(TOMMATH_DIR)/bn_mp_and.c $(MATHHDRS) 1293 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_and.c 1294 1295bn_mp_clamp.o: $(TOMMATH_DIR)/bn_mp_clamp.c $(MATHHDRS) 1296 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_clamp.c 1297 1298bn_mp_clear.o: $(TOMMATH_DIR)/bn_mp_clear.c $(MATHHDRS) 1299 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_clear.c 1300 1301bn_mp_clear_multi.o: $(TOMMATH_DIR)/bn_mp_clear_multi.c $(MATHHDRS) 1302 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_clear_multi.c 1303 1304bn_mp_cmp.o: $(TOMMATH_DIR)/bn_mp_cmp.c $(MATHHDRS) 1305 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_cmp.c 1306 1307bn_mp_cmp_d.o: $(TOMMATH_DIR)/bn_mp_cmp_d.c $(MATHHDRS) 1308 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_cmp_d.c 1309 1310bn_mp_cmp_mag.o: $(TOMMATH_DIR)/bn_mp_cmp_mag.c $(MATHHDRS) 1311 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_cmp_mag.c 1312 1313bn_mp_cnt_lsb.o: $(TOMMATH_DIR)/bn_mp_cnt_lsb.c $(MATHHDRS) 1314 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_cnt_lsb.c 1315 1316bn_mp_copy.o: $(TOMMATH_DIR)/bn_mp_copy.c $(MATHHDRS) 1317 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_copy.c 1318 1319bn_mp_count_bits.o: $(TOMMATH_DIR)/bn_mp_count_bits.c $(MATHHDRS) 1320 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_count_bits.c 1321 1322bn_mp_div.o: $(TOMMATH_DIR)/bn_mp_div.c $(MATHHDRS) 1323 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_div.c 1324 1325bn_mp_div_d.o: $(TOMMATH_DIR)/bn_mp_div_d.c $(MATHHDRS) 1326 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_div_d.c 1327 1328bn_mp_div_2.o: $(TOMMATH_DIR)/bn_mp_div_2.c $(MATHHDRS) 1329 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_div_2.c 1330 1331bn_mp_div_2d.o: $(TOMMATH_DIR)/bn_mp_div_2d.c $(MATHHDRS) 1332 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_div_2d.c 1333 1334bn_mp_div_3.o: $(TOMMATH_DIR)/bn_mp_div_3.c $(MATHHDRS) 1335 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_div_3.c 1336 1337bn_mp_exch.o: $(TOMMATH_DIR)/bn_mp_exch.c $(MATHHDRS) 1338 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_exch.c 1339 1340bn_mp_expt_d.o: $(TOMMATH_DIR)/bn_mp_expt_d.c $(MATHHDRS) 1341 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_expt_d.c 1342 1343bn_mp_grow.o: $(TOMMATH_DIR)/bn_mp_grow.c $(MATHHDRS) 1344 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_grow.c 1345 1346bn_mp_init.o: $(TOMMATH_DIR)/bn_mp_init.c $(MATHHDRS) 1347 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_init.c 1348 1349bn_mp_init_copy.o: $(TOMMATH_DIR)/bn_mp_init_copy.c $(MATHHDRS) 1350 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_init_copy.c 1351 1352bn_mp_init_multi.o: $(TOMMATH_DIR)/bn_mp_init_multi.c $(MATHHDRS) 1353 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_init_multi.c 1354 1355bn_mp_init_set.o: $(TOMMATH_DIR)/bn_mp_init_set.c $(MATHHDRS) 1356 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_init_set.c 1357 1358bn_mp_init_set_int.o: $(TOMMATH_DIR)/bn_mp_init_set_int.c $(MATHHDRS) 1359 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_init_set_int.c 1360 1361bn_mp_init_size.o:$(TOMMATH_DIR)/bn_mp_init_size.c $(MATHHDRS) 1362 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_init_size.c 1363 1364bn_mp_karatsuba_mul.o: $(TOMMATH_DIR)/bn_mp_karatsuba_mul.c $(MATHHDRS) 1365 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_karatsuba_mul.c 1366 1367bn_mp_karatsuba_sqr.o: $(TOMMATH_DIR)/bn_mp_karatsuba_sqr.c $(MATHHDRS) 1368 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_karatsuba_sqr.c 1369 1370bn_mp_lshd.o: $(TOMMATH_DIR)/bn_mp_lshd.c $(MATHHDRS) 1371 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_lshd.c 1372 1373bn_mp_mod.o: $(TOMMATH_DIR)/bn_mp_mod.c $(MATHHDRS) 1374 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_mod.c 1375 1376bn_mp_mod_2d.o: $(TOMMATH_DIR)/bn_mp_mod_2d.c $(MATHHDRS) 1377 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_mod_2d.c 1378 1379bn_mp_mul.o: $(TOMMATH_DIR)/bn_mp_mul.c $(MATHHDRS) 1380 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_mul.c 1381 1382bn_mp_mul_2.o: $(TOMMATH_DIR)/bn_mp_mul_2.c $(MATHHDRS) 1383 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_mul_2.c 1384 1385bn_mp_mul_2d.o: $(TOMMATH_DIR)/bn_mp_mul_2d.c $(MATHHDRS) 1386 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_mul_2d.c 1387 1388bn_mp_mul_d.o: $(TOMMATH_DIR)/bn_mp_mul_d.c $(MATHHDRS) 1389 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_mul_d.c 1390 1391bn_mp_neg.o: $(TOMMATH_DIR)/bn_mp_neg.c $(MATHHDRS) 1392 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_neg.c 1393 1394bn_mp_or.o: $(TOMMATH_DIR)/bn_mp_or.c $(MATHHDRS) 1395 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_or.c 1396 1397bn_mp_radix_size.o: $(TOMMATH_DIR)/bn_mp_radix_size.c $(MATHHDRS) 1398 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_radix_size.c 1399 1400bn_mp_radix_smap.o: $(TOMMATH_DIR)/bn_mp_radix_smap.c $(MATHHDRS) 1401 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_radix_smap.c 1402 1403bn_mp_read_radix.o: $(TOMMATH_DIR)/bn_mp_read_radix.c $(MATHHDRS) 1404 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_read_radix.c 1405 1406bn_mp_rshd.o: $(TOMMATH_DIR)/bn_mp_rshd.c $(MATHHDRS) 1407 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_rshd.c 1408 1409bn_mp_set.o: $(TOMMATH_DIR)/bn_mp_set.c $(MATHHDRS) 1410 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_set.c 1411 1412bn_mp_set_int.o: $(TOMMATH_DIR)/bn_mp_set_int.c $(MATHHDRS) 1413 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_set_int.c 1414 1415bn_mp_shrink.o: $(TOMMATH_DIR)/bn_mp_shrink.c $(MATHHDRS) 1416 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_shrink.c 1417 1418bn_mp_sqr.o: $(TOMMATH_DIR)/bn_mp_sqr.c $(MATHHDRS) 1419 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_sqr.c 1420 1421bn_mp_sqrt.o: $(TOMMATH_DIR)/bn_mp_sqrt.c $(MATHHDRS) 1422 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_sqrt.c 1423 1424bn_mp_sub.o: $(TOMMATH_DIR)/bn_mp_sub.c $(MATHHDRS) 1425 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_sub.c 1426 1427bn_mp_sub_d.o: $(TOMMATH_DIR)/bn_mp_sub_d.c $(MATHHDRS) 1428 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_sub_d.c 1429 1430bn_mp_to_unsigned_bin.o: $(TOMMATH_DIR)/bn_mp_to_unsigned_bin.c $(MATHHDRS) 1431 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_to_unsigned_bin.c 1432 1433bn_mp_to_unsigned_bin_n.o: $(TOMMATH_DIR)/bn_mp_to_unsigned_bin_n.c $(MATHHDRS) 1434 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_to_unsigned_bin_n.c 1435 1436bn_mp_toom_mul.o: $(TOMMATH_DIR)/bn_mp_toom_mul.c $(MATHHDRS) 1437 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_toom_mul.c 1438 1439bn_mp_toom_sqr.o: $(TOMMATH_DIR)/bn_mp_toom_sqr.c $(MATHHDRS) 1440 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_toom_sqr.c 1441 1442bn_mp_toradix_n.o: $(TOMMATH_DIR)/bn_mp_toradix_n.c $(MATHHDRS) 1443 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_toradix_n.c 1444 1445bn_mp_unsigned_bin_size.o: $(TOMMATH_DIR)/bn_mp_unsigned_bin_size.c $(MATHHDRS) 1446 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_unsigned_bin_size.c 1447 1448bn_mp_xor.o: $(TOMMATH_DIR)/bn_mp_xor.c $(MATHHDRS) 1449 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_xor.c 1450 1451bn_mp_zero.o: $(TOMMATH_DIR)/bn_mp_zero.c $(MATHHDRS) 1452 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_zero.c 1453 1454bn_s_mp_add.o: $(TOMMATH_DIR)/bn_s_mp_add.c $(MATHHDRS) 1455 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_s_mp_add.c 1456 1457bn_s_mp_mul_digs.o: $(TOMMATH_DIR)/bn_s_mp_mul_digs.c $(MATHHDRS) 1458 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_s_mp_mul_digs.c 1459 1460bn_s_mp_sqr.o: $(TOMMATH_DIR)/bn_s_mp_sqr.c $(MATHHDRS) 1461 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_s_mp_sqr.c 1462 1463bn_s_mp_sub.o: $(TOMMATH_DIR)/bn_s_mp_sub.c $(MATHHDRS) 1464 $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_s_mp_sub.c 1465 1466tclUnixChan.o: $(UNIX_DIR)/tclUnixChan.c $(IOHDR) 1467 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixChan.c 1468 1469tclUnixEvent.o: $(UNIX_DIR)/tclUnixEvent.c 1470 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixEvent.c 1471 1472tclUnixFCmd.o: $(UNIX_DIR)/tclUnixFCmd.c 1473 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixFCmd.c 1474 1475tclUnixFile.o: $(UNIX_DIR)/tclUnixFile.c $(FSHDR) 1476 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixFile.c 1477 1478tclUnixNotfy.o: $(UNIX_DIR)/tclUnixNotfy.c 1479 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixNotfy.c 1480 1481tclUnixPipe.o: $(UNIX_DIR)/tclUnixPipe.c 1482 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixPipe.c 1483 1484tclUnixSock.o: $(UNIX_DIR)/tclUnixSock.c 1485 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixSock.c 1486 1487tclUnixTest.o: $(UNIX_DIR)/tclUnixTest.c 1488 $(CC) -c $(APP_CC_SWITCHES) $(UNIX_DIR)/tclUnixTest.c 1489 1490tclUnixThrd.o: $(UNIX_DIR)/tclUnixThrd.c 1491 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixThrd.c 1492 1493tclUnixTime.o: $(UNIX_DIR)/tclUnixTime.c 1494 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixTime.c 1495 1496tclUnixInit.o: $(UNIX_DIR)/tclUnixInit.c tclConfig.sh 1497 $(CC) -c $(CC_SWITCHES) -DTCL_LIBRARY=\"${TCL_LIBRARY}\" \ 1498 -DTCL_PACKAGE_PATH="\"${TCL_PACKAGE_PATH}\"" \ 1499 $(UNIX_DIR)/tclUnixInit.c 1500 1501tclUnixCompat.o: $(UNIX_DIR)/tclUnixCompat.c 1502 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixCompat.c 1503 1504# The following are Mac OS X only sources: 1505tclMacOSXBundle.o: $(MAC_OSX_DIR)/tclMacOSXBundle.c 1506 $(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tclMacOSXBundle.c 1507 1508tclMacOSXFCmd.o: $(MAC_OSX_DIR)/tclMacOSXFCmd.c 1509 $(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tclMacOSXFCmd.c 1510 1511tclMacOSXNotify.o: $(MAC_OSX_DIR)/tclMacOSXNotify.c 1512 $(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tclMacOSXNotify.c 1513 1514# The following is a CYGWIN only source: 1515tclWinError.o: $(TOP_DIR)/win/tclWinError.c 1516 $(CC) -c $(CC_SWITCHES) $(TOP_DIR)/win/tclWinError.c 1517 1518# DTrace support 1519 1520$(TCL_OBJS) $(STUB_LIB_OBJS) $(TCLSH_OBJS) $(TCLTEST_OBJS) $(XTTEST_OBJS): @DTRACE_HDR@ 1521 1522$(DTRACE_HDR): $(DTRACE_SRC) 1523 $(DTRACE) -h $(DTRACE_SWITCHES) -o $@ -s $(DTRACE_SRC) 1524 1525$(DTRACE_OBJ): $(DTRACE_SRC) $(TCL_OBJS) 1526 $(DTRACE) -G $(DTRACE_SWITCHES) -o $@ -s $(DTRACE_SRC) $(TCL_OBJS) 1527 1528#-------------------------------------------------------------------------- 1529# The following targets are not completely general. They are provide purely 1530# for documentation purposes so people who are interested in the Xt based 1531# notifier can modify them to suit their own installation. 1532#-------------------------------------------------------------------------- 1533 1534xttest: ${XTTEST_OBJS} ${GENERIC_OBJS} ${UNIX_OBJS} ${COMPAT_OBJS} \ 1535 @DL_OBJS@ ${BUILD_DLTEST} 1536 ${CC} ${XTTEST_OBJS} ${GENERIC_OBJS} ${UNIX_OBJS} ${COMPAT_OBJS} \ 1537 @DL_OBJS@ @TCL_BUILD_LIB_SPEC@ ${LIBS} \ 1538 ${CC_SEARCH_FLAGS} -L/usr/openwin/lib -lXt -o xttest 1539 1540tclXtNotify.o: $(UNIX_DIR)/tclXtNotify.c 1541 $(CC) -c $(APP_CC_SWITCHES) -I/usr/openwin/include \ 1542 $(UNIX_DIR)/tclXtNotify.c 1543 1544tclXtTest.o: $(UNIX_DIR)/tclXtTest.c 1545 $(CC) -c $(APP_CC_SWITCHES) -I/usr/openwin/include \ 1546 $(UNIX_DIR)/tclXtTest.c 1547 1548#-------------------------------------------------------------------------- 1549# Compat binaries, these must be compiled for use in a shared library even 1550# though they may be placed in a static executable or library. Since they are 1551# included in both the tcl library and the stub library, they need to be 1552# relocatable. 1553#-------------------------------------------------------------------------- 1554 1555fixstrtod.o: $(COMPAT_DIR)/fixstrtod.c 1556 $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/fixstrtod.c 1557 1558opendir.o: $(COMPAT_DIR)/opendir.c 1559 $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/opendir.c 1560 1561memcmp.o: $(COMPAT_DIR)/memcmp.c 1562 $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/memcmp.c 1563 1564strncasecmp.o: $(COMPAT_DIR)/strncasecmp.c 1565 $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/strncasecmp.c 1566 1567strstr.o: $(COMPAT_DIR)/strstr.c 1568 $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/strstr.c 1569 1570strtod.o: $(COMPAT_DIR)/strtod.c 1571 $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/strtod.c 1572 1573strtol.o: $(COMPAT_DIR)/strtol.c 1574 $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/strtol.c 1575 1576strtoul.o: $(COMPAT_DIR)/strtoul.c 1577 $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/strtoul.c 1578 1579waitpid.o: $(COMPAT_DIR)/waitpid.c 1580 $(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/waitpid.c 1581 1582#-------------------------------------------------------------------------- 1583# Stub library binaries, these must be compiled for use in a shared library 1584# even though they will be placed in a static archive 1585#-------------------------------------------------------------------------- 1586 1587tclStubLib.o: $(GENERIC_DIR)/tclStubLib.c 1588 $(CC) -c $(STUB_CC_SWITCHES) -DSTATIC_BUILD $(GENERIC_DIR)/tclStubLib.c 1589 1590.c.o: 1591 $(CC) -c $(CC_SWITCHES) $< 1592 1593# 1594# Target to regenerate header files and stub files from the *.decls tables. 1595# 1596 1597$(GENERIC_DIR)/tclStubInit.c: $(GENERIC_DIR)/tcl.decls \ 1598 $(GENERIC_DIR)/tclInt.decls $(GENERIC_DIR)/tclTomMath.decls 1599 @echo "Warning: tclStubInit.c may be out of date." 1600 @echo "Developers may want to run \"make genstubs\" to regenerate." 1601 @echo "This warning can be safely ignored, do not report as a bug!" 1602 1603genstubs: 1604 $(TCL_EXE) $(TOOL_DIR)/genStubs.tcl $(GENERIC_DIR) \ 1605 $(GENERIC_DIR)/tcl.decls $(GENERIC_DIR)/tclInt.decls \ 1606 $(GENERIC_DIR)/tclTomMath.decls 1607 1608# 1609# Target to check that all exported functions have an entry in the stubs 1610# tables. 1611# 1612 1613checkstubs: $(TCL_LIB_FILE) 1614 -@for i in `nm -p $(TCL_LIB_FILE) \ 1615 | awk '$$2 ~ /^[TDBCS]$$/ { sub("^_", "", $$3); print $$3 }' \ 1616 | sort -n`; do \ 1617 match=0; \ 1618 for j in $(TCL_DECLS); do \ 1619 if [ `grep -c "$$i *(" $$j` -gt 0 ]; then \ 1620 match=1; \ 1621 fi; \ 1622 done; \ 1623 if [ $$match -eq 0 ]; then echo $$i; fi \ 1624 done 1625 1626# 1627# Target to check that all public APIs which are not command implementations 1628# have an entry in section three of the distributed manpages. 1629# 1630 1631checkdoc: $(TCL_LIB_FILE) 1632 -@for i in `nm -p $(TCL_LIB_FILE) | awk '$$3 ~ /Tcl_/ { print $$3 }' \ 1633 | grep -v 'Cmd$$' | sort -n`; do \ 1634 match=0; \ 1635 for j in $(TOP_DIR)/doc/*.3; do \ 1636 if [ `grep '\-' $$j | grep -c $$i` -gt 0 ]; then \ 1637 match=1; \ 1638 fi; \ 1639 done; \ 1640 if [ $$match -eq 0 ]; then echo $$i; fi \ 1641 done 1642 1643# 1644# Target to check for proper usage of UCHAR macro. 1645# 1646 1647checkuchar: 1648 -egrep isalnum\|isalpha\|iscntrl\|isdigit\|islower\|isprint\|ispunct\|isspace\|isupper\|isxdigit\|toupper\|tolower $(SRCS) | grep -v UCHAR 1649 1650# 1651# Target to make sure that only symbols with "Tcl" prefixes are exported. 1652# 1653 1654checkexports: $(TCL_LIB_FILE) 1655 -@nm -p $(TCL_LIB_FILE) \ 1656 | awk '$$2 ~ /^[TDBCS]$$/ { sub("^_", "", $$3); print $$3 }' \ 1657 | sort -n | grep -E -v '^[Tt]cl' || true 1658 1659#-------------------------------------------------------------------------- 1660# Distribution building rules 1661#-------------------------------------------------------------------------- 1662 1663# 1664# Target to create a Tcl RPM for Linux. Requires that you be on a Linux 1665# system. 1666# 1667 1668rpm: all 1669 rm -f THIS.TCL.SPEC 1670 echo "%define _builddir `pwd`" > THIS.TCL.SPEC 1671 echo "%define _rpmdir `pwd`/RPMS" >> THIS.TCL.SPEC 1672 cat tcl.spec >> THIS.TCL.SPEC 1673 mkdir -p RPMS/i386 1674 rpmbuild -bb THIS.TCL.SPEC 1675 mv RPMS/i386/*.rpm . 1676 rm -rf RPMS THIS.TCL.SPEC 1677 1678# 1679# Target to create a proper Tcl distribution from information in the master 1680# source directory. DISTDIR must be defined to indicate where to put the 1681# distribution. DISTDIR must be an absolute path name. 1682# 1683 1684DISTROOT = /tmp/dist 1685DISTNAME = tcl${VERSION}${PATCH_LEVEL} 1686ZIPNAME = tcl${MAJOR_VERSION}${MINOR_VERSION}${PATCH_LEVEL}-src.zip 1687DISTDIR = $(DISTROOT)/$(DISTNAME) 1688$(UNIX_DIR)/configure: $(UNIX_DIR)/configure.in $(UNIX_DIR)/tcl.m4 \ 1689 $(UNIX_DIR)/aclocal.m4 1690 cd $(UNIX_DIR); autoconf 1691$(MAC_OSX_DIR)/configure: $(MAC_OSX_DIR)/configure.ac $(UNIX_DIR)/configure 1692 cd $(MAC_OSX_DIR); autoconf 1693$(UNIX_DIR)/tclConfig.h.in: $(MAC_OSX_DIR)/configure 1694 cd $(MAC_OSX_DIR); autoheader; touch $@ 1695 1696dist: $(UNIX_DIR)/configure $(UNIX_DIR)/tclConfig.h.in $(UNIX_DIR)/tcl.pc.in $(MAC_OSX_DIR)/configure genstubs 1697 rm -rf $(DISTDIR) 1698 mkdir -p $(DISTDIR)/unix 1699 cp -p $(UNIX_DIR)/*.[ch] $(DISTDIR)/unix 1700 cp $(UNIX_DIR)/Makefile.in $(DISTDIR)/unix 1701 chmod 664 $(DISTDIR)/unix/Makefile.in 1702 cp $(UNIX_DIR)/configure $(UNIX_DIR)/configure.in \ 1703 $(UNIX_DIR)/tcl.m4 $(UNIX_DIR)/aclocal.m4 \ 1704 $(UNIX_DIR)/tclConfig.sh.in $(UNIX_DIR)/install-sh \ 1705 $(UNIX_DIR)/README $(UNIX_DIR)/ldAix $(UNIX_DIR)/tcl.spec \ 1706 $(UNIX_DIR)/installManPage $(UNIX_DIR)/tclConfig.h.in \ 1707 $(UNIX_DIR)/tcl.pc.in $(DISTDIR)/unix 1708 chmod 775 $(DISTDIR)/unix/configure $(DISTDIR)/unix/configure.in 1709 chmod 775 $(DISTDIR)/unix/ldAix 1710 @mkdir $(DISTDIR)/generic 1711 cp -p $(GENERIC_DIR)/*.[cdh] $(DISTDIR)/generic 1712 cp -p $(GENERIC_DIR)/*.decls $(DISTDIR)/generic 1713 cp -p $(GENERIC_DIR)/README $(DISTDIR)/generic 1714 cp -p $(GENERIC_DIR)/tclGetDate.y $(DISTDIR)/generic 1715 cp -p $(TOP_DIR)/changes $(TOP_DIR)/ChangeLog $(TOP_DIR)/README \ 1716 $(TOP_DIR)/ChangeLog.[12]??? $(TOP_DIR)/license.terms \ 1717 $(DISTDIR) 1718 @mkdir $(DISTDIR)/library 1719 cp -p $(TOP_DIR)/license.terms $(TOP_DIR)/library/*.tcl \ 1720 $(TOP_DIR)/library/tclIndex $(DISTDIR)/library 1721 for i in http1.0 http opt msgcat reg dde tcltest platform; \ 1722 do \ 1723 mkdir $(DISTDIR)/library/$$i ;\ 1724 cp -p $(TOP_DIR)/library/$$i/*.tcl $(DISTDIR)/library/$$i; \ 1725 done; 1726 @mkdir $(DISTDIR)/library/encoding 1727 cp -p $(TOP_DIR)/library/encoding/*.enc $(DISTDIR)/library/encoding 1728 @mkdir $(DISTDIR)/library/msgs 1729 cp -p $(TOP_DIR)/library/msgs/*.msg $(DISTDIR)/library/msgs 1730 @echo cp -r $(TOP_DIR)/library/tzdata $(DISTDIR)/library/tzdata 1731 @( cd $(TOP_DIR); \ 1732 find library/tzdata -name CVS -prune -o -type f -print ) \ 1733 | ( cd $(TOP_DIR) ; xargs tar cf - ) \ 1734 | ( cd $(DISTDIR) ; tar xfp - ) 1735 @mkdir $(DISTDIR)/doc 1736 cp -p $(TOP_DIR)/license.terms $(TOP_DIR)/doc/*.[13n] \ 1737 $(TOP_DIR)/doc/man.macros $(DISTDIR)/doc 1738 @mkdir $(DISTDIR)/compat 1739 cp -p $(TOP_DIR)/license.terms $(COMPAT_DIR)/*.[ch] \ 1740 $(COMPAT_DIR)/README $(DISTDIR)/compat 1741 @mkdir $(DISTDIR)/tests 1742 cp -p $(TOP_DIR)/license.terms $(DISTDIR)/tests 1743 cp -p $(TOP_DIR)/tests/*.test $(TOP_DIR)/tests/README \ 1744 $(TOP_DIR)/tests/httpd $(TOP_DIR)/tests/*.tcl \ 1745 $(DISTDIR)/tests 1746 @mkdir $(DISTDIR)/win 1747 cp $(TOP_DIR)/win/Makefile.in $(DISTDIR)/win 1748 cp $(TOP_DIR)/win/configure.in $(TOP_DIR)/win/configure \ 1749 $(TOP_DIR)/win/tclConfig.sh.in \ 1750 $(TOP_DIR)/win/tcl.m4 $(TOP_DIR)/win/aclocal.m4 \ 1751 $(TOP_DIR)/win/tclsh.exe.manifest.in \ 1752 $(DISTDIR)/win 1753 cp -p $(TOP_DIR)/win/*.[ch] $(TOP_DIR)/win/*.ico $(TOP_DIR)/win/*.rc \ 1754 $(DISTDIR)/win 1755 cp -p $(TOP_DIR)/win/*.bat $(DISTDIR)/win 1756 cp -p $(TOP_DIR)/win/makefile.* $(DISTDIR)/win 1757 cp -p $(TOP_DIR)/win/rules.vc $(DISTDIR)/win 1758 cp -p $(TOP_DIR)/win/coffbase.txt $(DISTDIR)/win 1759 cp -p $(TOP_DIR)/win/tcl.hpj.in $(DISTDIR)/win 1760 cp -p $(TOP_DIR)/win/tcl.ds* $(DISTDIR)/win 1761 cp -p $(TOP_DIR)/win/README $(DISTDIR)/win 1762 cp -p $(TOP_DIR)/license.terms $(DISTDIR)/win 1763 @mkdir $(DISTDIR)/macosx 1764 cp -p $(MAC_OSX_DIR)/GNUmakefile $(MAC_OSX_DIR)/README \ 1765 $(MAC_OSX_DIR)/*.c $(MAC_OSX_DIR)/*.in \ 1766 $(MAC_OSX_DIR)/*.ac $(MAC_OSX_DIR)/*.xcconfig \ 1767 $(MAC_OSX_DIR)/configure $(DISTDIR)/macosx 1768 cp -p $(TOP_DIR)/license.terms $(DISTDIR)/macosx 1769 @mkdir $(DISTDIR)/macosx/Tcl.pbproj 1770 cp -p $(MAC_OSX_DIR)/Tcl.pbproj/*.pbx* $(DISTDIR)/macosx/Tcl.pbproj 1771 @mkdir $(DISTDIR)/macosx/Tcl.xcode 1772 cp -p $(MAC_OSX_DIR)/Tcl.xcode/*.pbx* $(DISTDIR)/macosx/Tcl.xcode 1773 @mkdir $(DISTDIR)/macosx/Tcl.xcodeproj 1774 cp -p $(TOP_DIR)/macosx/Tcl.xcodeproj/*.pbx* $(DISTDIR)/macosx/Tcl.xcodeproj 1775 @mkdir $(DISTDIR)/unix/dltest 1776 cp -p $(UNIX_DIR)/dltest/*.c $(UNIX_DIR)/dltest/Makefile.in \ 1777 $(UNIX_DIR)/dltest/README \ 1778 $(DISTDIR)/unix/dltest 1779 @mkdir $(DISTDIR)/tools 1780 cp -p $(TOOL_DIR)/Makefile.in $(TOOL_DIR)/README \ 1781 $(TOOL_DIR)/configure $(TOOL_DIR)/configure.in \ 1782 $(TOOL_DIR)/*.tcl $(TOOL_DIR)/man2tcl.c \ 1783 $(TOOL_DIR)/tcl.wse.in $(TOOL_DIR)/*.bmp \ 1784 $(TOOL_DIR)/tcl.hpj.in \ 1785 $(DISTDIR)/tools 1786 @mkdir $(DISTDIR)/libtommath 1787 cp -p $(TOMMATH_SRCS) $(TOMMATH_DIR)/*.h \ 1788 $(DISTDIR)/libtommath 1789 1790alldist: dist 1791 rm -f $(DISTROOT)/$(DISTNAME)-src.tar.gz $(DISTROOT)/$(ZIPNAME) 1792 cd $(DISTROOT); tar cf $(DISTNAME)-src.tar $(DISTNAME); \ 1793 gzip -9 $(DISTNAME)-src.tar; zip -qr8 $(ZIPNAME) $(DISTNAME) 1794 1795#-------------------------------------------------------------------------- 1796# This target creates the HTML folder for Tcl & Tk and places it in 1797# DISTDIR/html. It uses the tcltk-man2html.tcl tool from the Tcl group's tool 1798# workspace. It depends on the Tcl & Tk being in directories called tcl8.* & 1799# tk8.* up two directories from the TOOL_DIR. 1800#-------------------------------------------------------------------------- 1801 1802html: ${TCL_EXE} 1803 $(BUILD_HTML) 1804 @EXTRA_BUILD_HTML@ 1805html-tcl: ${TCL_EXE} 1806 $(BUILD_HTML) --tcl 1807 @EXTRA_BUILD_HTML@ 1808html-tk: ${TCL_EXE} 1809 $(BUILD_HTML) --tk 1810 @EXTRA_BUILD_HTML@ 1811 1812BUILD_HTML = \ 1813 @@LD_LIBRARY_PATH_VAR@="`pwd`:$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \ 1814 TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \ 1815 ./${TCL_EXE} $(TOOL_DIR)/tcltk-man2html.tcl --htmldir="$(HTML_INSTALL_DIR)" \ 1816 --srcdir=$(TOP_DIR)/.. $(BUILD_HTML_FLAGS) 1817 1818# 1819# Targets to build Solaris package of the distribution for the current 1820# architecture. To build stream packages for both sun4 and i86pc 1821# architectures: 1822# 1823# On the sun4 machine, execute the following: 1824# make distclean; ./configure 1825# make DISTDIR=<distdir> package 1826# 1827# Once the build is complete, execute the following on the i86pc machine: 1828# make DISTDIR=<distdir> package-quick 1829# 1830# <distdir> is the absolute path to a directory where the build should take 1831# place. These steps will generate the $(PACKAGE).sun4 and $(PACKAGE).i86pc 1832# stream packages. It is important that the packages be built in this fashion 1833# in order to ensure that the architecture independent files are exactly the 1834# same, including timestamps, in both packages. 1835# 1836 1837PACKAGE=SCRPtcl 1838 1839package: dist package-config package-common package-binaries package-generate 1840package-quick: package-config package-binaries package-generate 1841 1842# 1843# Configure for the current architecture in the dist directory. 1844# 1845package-config: 1846 mkdir -p $(DISTDIR)/unix/`arch` 1847 cd $(DISTDIR)/unix/`arch`; \ 1848 ../configure --prefix=/opt/$(PACKAGE)/$(VERSION) \ 1849 --exec_prefix=/opt/$(PACKAGE)/$(VERSION)/`arch` \ 1850 --enable-shared 1851 mkdir -p $(DISTDIR)/$(PACKAGE)/$(VERSION) 1852 mkdir -p $(DISTDIR)/$(PACKAGE)/$(VERSION)/`arch` 1853 1854# 1855# Build and install the architecture independent files in the dist directory. 1856# 1857 1858package-common: 1859 cd $(DISTDIR)/unix/`arch`;\ 1860 $(MAKE); \ 1861 $(MAKE) prefix=$(DISTDIR)/$(PACKAGE)/$(VERSION) \ 1862 exec_prefix=$(DISTDIR)/$(PACKAGE)/$(VERSION)/`arch` \ 1863 install-libraries install-man 1864 mkdir -p $(DISTDIR)/$(PACKAGE)/$(VERSION)/bin 1865 sed -e "s/TCLVERSION/$(VERSION)/g" < $(UNIX_DIR)/tclsh.sh \ 1866 > $(DISTDIR)/$(PACKAGE)/$(VERSION)/bin/tclsh$(VERSION) 1867 chmod 755 $(DISTDIR)/$(PACKAGE)/$(VERSION)/bin/tclsh$(VERSION) 1868 1869# 1870# Build and install the architecture specific files in the dist directory. 1871# 1872 1873package-binaries: 1874 cd $(DISTDIR)/unix/`arch`; \ 1875 $(MAKE); \ 1876 $(MAKE) install-binaries prefix=$(DISTDIR)/$(PACKAGE)/$(VERSION) \ 1877 exec_prefix=$(DISTDIR)/$(PACKAGE)/$(VERSION)/`arch` 1878 1879# 1880# Generate a package from the installed files in the dist directory for the 1881# current architecture. 1882# 1883 1884package-generate: 1885 pkgproto $(DISTDIR)/$(PACKAGE)/$(VERSION)/bin=bin \ 1886 $(DISTDIR)/$(PACKAGE)/$(VERSION)/include=include \ 1887 $(DISTDIR)/$(PACKAGE)/$(VERSION)/lib=lib \ 1888 $(DISTDIR)/$(PACKAGE)/$(VERSION)/man=man \ 1889 $(DISTDIR)/$(PACKAGE)/$(VERSION)/`arch`=`arch` \ 1890 | $(TCL_EXE) $(UNIX_DIR)/mkProto.tcl \ 1891 $(VERSION) $(UNIX_DIR) > prototype 1892 pkgmk -o -d . -f prototype -a `arch` 1893 pkgtrans -s . $(PACKAGE).`arch` $(PACKAGE) 1894 rm -rf $(PACKAGE) 1895 1896#-------------------------------------------------------------------------- 1897# DO NOT DELETE THIS LINE -- make depend depends on it. 1898