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