974 lines
32 KiB
Makefile
974 lines
32 KiB
Makefile
#
|
|
# This file is a Makefile for Tcl. If it has the name "Makefile.in"
|
|
# then it is a template for a Makefile; to generate the actual Makefile,
|
|
# run "./configure", which is a configuration script generated by the
|
|
# "autoconf" program (constructs like "@foo@" will get replaced in the
|
|
# actual Makefile.
|
|
#
|
|
# SCCS: @(#) Makefile.in 1.174 97/06/26 17:58:32
|
|
|
|
# Current Tcl version; used in various names.
|
|
|
|
VERSION = @TCL_VERSION@
|
|
|
|
#----------------------------------------------------------------
|
|
# Things you can change to personalize the Makefile for your own
|
|
# site (you can make these changes in either Makefile.in or
|
|
# Makefile, but changes to Makefile will get lost if you re-run
|
|
# the configuration script).
|
|
#----------------------------------------------------------------
|
|
|
|
# Default top-level directories in which to install architecture-
|
|
# specific files (exec_prefix) and machine-independent files such
|
|
# as scripts (prefix). The values specified here may be overridden
|
|
# at configure-time with the --exec-prefix and --prefix options
|
|
# to the "configure" script.
|
|
|
|
prefix = @prefix@
|
|
exec_prefix = @exec_prefix@
|
|
|
|
# The following definition can be set to non-null for special systems
|
|
# like AFS with replication. It allows the pathnames used for installation
|
|
# to be different than those used for actually reference files at
|
|
# run-time. INSTALL_ROOT is prepended to $prefix and $exec_prefix
|
|
# when installing files.
|
|
INSTALL_ROOT =
|
|
|
|
# Directory from which applications will reference the library of Tcl
|
|
# scripts (note: you can set the TCL_LIBRARY environment variable at
|
|
# run-time to override this value):
|
|
TCL_LIBRARY = $(prefix)/lib/tcl$(VERSION)
|
|
|
|
# Package search path.
|
|
TCL_PACKAGE_PATH = @TCL_PACKAGE_PATH@
|
|
|
|
# Path name to use when installing library scripts:
|
|
SCRIPT_INSTALL_DIR = $(INSTALL_ROOT)$(TCL_LIBRARY)
|
|
|
|
# Directory in which to install libtcl.so or libtcl.a:
|
|
LIB_INSTALL_DIR = $(INSTALL_ROOT)$(exec_prefix)/lib
|
|
|
|
# Path to use at runtime to refer to LIB_INSTALL_DIR:
|
|
LIB_RUNTIME_DIR = $(exec_prefix)/lib
|
|
|
|
# Directory in which to install the program tclsh:
|
|
BIN_INSTALL_DIR = $(INSTALL_ROOT)$(exec_prefix)/bin
|
|
|
|
# Directory in which to install the include file tcl.h:
|
|
INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/include
|
|
|
|
# Top-level directory in which to install manual entries:
|
|
MAN_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/man
|
|
|
|
# Directory in which to install manual entry for tclsh:
|
|
MAN1_INSTALL_DIR = $(MAN_INSTALL_DIR)/man1
|
|
|
|
# Directory in which to install manual entries for Tcl's C library
|
|
# procedures:
|
|
MAN3_INSTALL_DIR = $(MAN_INSTALL_DIR)/man3
|
|
|
|
# Directory in which to install manual entries for the built-in
|
|
# Tcl commands:
|
|
MANN_INSTALL_DIR = $(MAN_INSTALL_DIR)/mann
|
|
|
|
# To change the compiler switches, for example to change from -O
|
|
# to -g, change the following line:
|
|
CFLAGS = -O
|
|
|
|
# To disable ANSI-C procedure prototypes reverse the comment characters
|
|
# on the following lines:
|
|
PROTO_FLAGS =
|
|
#PROTO_FLAGS = -DNO_PROTOTYPE
|
|
|
|
# Mathematical functions like sin and atan2 are enabled for expressions
|
|
# by default. To disable them, reverse the comment characters on the
|
|
# following pairs of lines:
|
|
MATH_FLAGS =
|
|
#MATH_FLAGS = -DTCL_NO_MATH
|
|
MATH_LIBS = @MATH_LIBS@
|
|
#MATH_LIBS =
|
|
|
|
# If you use the setenv, putenv, or unsetenv procedures to modify
|
|
# environment variables in your application and you'd like those
|
|
# modifications to appear in the "env" Tcl variable, switch the
|
|
# comments on the two lines below so that Tcl provides these
|
|
# procedures instead of your standard C library.
|
|
|
|
ENV_FLAGS =
|
|
#ENV_FLAGS = -DTclSetEnv=setenv -DTcl_PutEnv=putenv -DTclUnsetEnv=unsetenv
|
|
|
|
# To compile for non-UNIX systems (so that only the non-UNIX-specific
|
|
# commands are available), reverse the comment characters on the
|
|
# following pairs of lines. In addition, you'll have to provide your
|
|
# own replacement for the "panic" procedure (see panic.c for what
|
|
# the current one does).
|
|
GENERIC_FLAGS =
|
|
#GENERIC_FLAGS = -DTCL_GENERIC_ONLY
|
|
UNIX_OBJS = tclMtherr.o tclUnixChan.o tclUnixEvent.o tclUnixFCmd.o \
|
|
tclUnixFile.o tclUnixPipe.o tclUnixSock.o \
|
|
tclUnixTime.o tclUnixInit.o
|
|
#UNIX_OBJS =
|
|
NOTIFY_OBJS = tclUnixNotfy.o
|
|
#NOTIFY_OBJS =
|
|
|
|
# To enable memory debugging reverse the comment characters on the following
|
|
# lines. Warning: if you enable memory debugging, you must do it
|
|
# *everywhere*, including all the code that calls Tcl, and you must use
|
|
# ckalloc and ckfree everywhere instead of malloc and free.
|
|
MEM_DEBUG_FLAGS =
|
|
#MEM_DEBUG_FLAGS = -DTCL_MEM_DEBUG
|
|
|
|
# To enable compilation debugging reverse the comment characters on
|
|
# one of the following lines.
|
|
COMPILE_DEBUG_FLAGS =
|
|
#COMPILE_DEBUG_FLAGS = -DTCL_COMPILE_STATS
|
|
#COMPILE_DEBUG_FLAGS = -DTCL_COMPILE_DEBUG -DTCL_COMPILE_STATS
|
|
|
|
# Some versions of make, like SGI's, use the following variable to
|
|
# determine which shell to use for executing commands:
|
|
SHELL = /bin/sh
|
|
|
|
# Tcl used to let the configure script choose which program to use
|
|
# for installing, but there are just too many different versions of
|
|
# "install" around; better to use the install-sh script that comes
|
|
# with the distribution, which is slower but guaranteed to work.
|
|
|
|
INSTALL = @srcdir@/install-sh -c
|
|
INSTALL_PROGRAM = ${INSTALL}
|
|
INSTALL_DATA = ${INSTALL} -m 644
|
|
|
|
# The following symbol defines additional compiler flags to enable
|
|
# Tcl itself to be a shared library. If Tcl isn't going to be a
|
|
# shared library then the symbol has an empty definition.
|
|
|
|
TCL_SHLIB_CFLAGS = @TCL_SHLIB_CFLAGS@
|
|
#TCL_SHLIB_CFLAGS =
|
|
|
|
# The symbols below provide support for dynamic loading and shared
|
|
# libraries. See configure.in for a description of what the
|
|
# symbols mean. The values of the symbols are normally set by the
|
|
# configure script. You shouldn't normally need to modify any of
|
|
# these definitions by hand.
|
|
|
|
SHLIB_LD = @SHLIB_LD@
|
|
|
|
SHLIB_SUFFIX = @SHLIB_SUFFIX@
|
|
#SHLIB_SUFFIX =
|
|
|
|
DLTEST_TARGETS = dltest/pkg5${SHLIB_SUFFIX} dltest/Makefile
|
|
|
|
# The following symbol is defined to "$(DLTEST_TARGETS)" if dynamic
|
|
# loading is available; this causes everything in the "dltest"
|
|
# subdirectory to be built when making "tcltest. If dynamic loading
|
|
# isn't available, configure defines this symbol to an empty string,
|
|
# in which case the shared libraries aren't built.
|
|
BUILD_DLTEST = @BUILD_DLTEST@
|
|
#BUILD_DLTEST =
|
|
|
|
TCL_LIB_FILE = @TCL_LIB_FILE@
|
|
#TCL_LIB_FILE = libtcl.a
|
|
|
|
#----------------------------------------------------------------
|
|
# The information below is modified by the configure script when
|
|
# Makefile is generated from Makefile.in. You shouldn't normally
|
|
# modify any of this stuff by hand.
|
|
#----------------------------------------------------------------
|
|
|
|
COMPAT_OBJS = @LIBOBJS@
|
|
|
|
AC_FLAGS = @DEFS@
|
|
RANLIB = @RANLIB@
|
|
SRC_DIR = @srcdir@
|
|
TOP_DIR = @srcdir@/..
|
|
GENERIC_DIR = $(TOP_DIR)/generic
|
|
COMPAT_DIR = $(TOP_DIR)/compat
|
|
TOOL_DIR = $(TOP_DIR)/tools
|
|
DLTEST_DIR = @srcdir@/dltest
|
|
UNIX_DIR = @srcdir@
|
|
CC = @CC@
|
|
|
|
#----------------------------------------------------------------
|
|
# The information below should be usable as is. The configure
|
|
# script won't modify it and you shouldn't need to modify it
|
|
# either.
|
|
#----------------------------------------------------------------
|
|
|
|
|
|
CC_SWITCHES = ${CFLAGS} ${TCL_SHLIB_CFLAGS} -I${GENERIC_DIR} -I${SRC_DIR} \
|
|
${AC_FLAGS} ${MATH_FLAGS} ${GENERIC_FLAGS} ${PROTO_FLAGS} ${MEM_DEBUG_FLAGS} \
|
|
${COMPILE_DEBUG_FLAGS} ${ENV_FLAGS} -DTCL_SHLIB_EXT=\"${SHLIB_SUFFIX}\"
|
|
|
|
LIBS = @DL_LIBS@ @LIBS@ $(MATH_LIBS) -lc
|
|
|
|
DEPEND_SWITCHES = ${CFLAGS} -I${GENERIC_DIR} -I${SRC_DIR} \
|
|
${AC_FLAGS} ${MATH_FLAGS} \
|
|
${GENERIC_FLAGS} ${PROTO_FLAGS} ${MEM_DEBUG_FLAGS} \
|
|
-DTCL_SHLIB_EXT=\"${SHLIB_SUFFIX}\"
|
|
|
|
TCLSH_OBJS = tclAppInit.o
|
|
|
|
TCLTEST_OBJS = tclTestInit.o tclTest.o tclTestObj.o tclUnixTest.o
|
|
|
|
XTTEST_OBJS = tclTest.o tclTestObj.o tclUnixTest.o tclXtNotify.o \
|
|
tclXtTest.o xtTestInit.o
|
|
|
|
GENERIC_OBJS = panic.o regexp.o tclAsync.o tclBasic.o tclBinary.o tclCkalloc.o \
|
|
tclClock.o tclCmdAH.o tclCmdIL.o tclCmdMZ.o tclCompExpr.o \
|
|
tclCompile.o tclDate.o tclEnv.o tclEvent.o tclExecute.o \
|
|
tclFCmd.o tclFileName.o tclGet.o tclHash.o tclHistory.o \
|
|
tclIndexObj.o tclInterp.o tclIO.o tclIOCmd.o tclIOSock.o \
|
|
tclIOUtil.o tclLink.o tclListObj.o tclLoad.o tclMain.o tclNamesp.o \
|
|
tclNotify.o tclObj.o tclParse.o tclPipe.o tclPkg.o tclPosixStr.o \
|
|
tclPreserve.o tclProc.o tclStringObj.o tclTimer.o tclUtil.o tclVar.o
|
|
|
|
OBJS = ${GENERIC_OBJS} ${UNIX_OBJS} ${NOTIFY_OBJS} ${COMPAT_OBJS} @DL_OBJS@
|
|
|
|
GENERIC_HDRS = \
|
|
$(GENERIC_DIR)/tclRegexp.h \
|
|
$(GENERIC_DIR)/tcl.h \
|
|
$(GENERIC_DIR)/tclInt.h \
|
|
$(GENERIC_DIR)/tclPort.h \
|
|
$(GENERIC_DIR)/tclPatch.h
|
|
|
|
GENERIC_SRCS = \
|
|
$(GENERIC_DIR)/regexp.c \
|
|
$(GENERIC_DIR)/tclAsync.c \
|
|
$(GENERIC_DIR)/tclBasic.c \
|
|
$(GENERIC_DIR)/tclBinary.c \
|
|
$(GENERIC_DIR)/tclCkalloc.c \
|
|
$(GENERIC_DIR)/tclClock.c \
|
|
$(GENERIC_DIR)/tclCmdAH.c \
|
|
$(GENERIC_DIR)/tclCmdIL.c \
|
|
$(GENERIC_DIR)/tclCmdMZ.c \
|
|
$(GENERIC_DIR)/tclCompExpr.c \
|
|
$(GENERIC_DIR)/tclCompile.c \
|
|
$(GENERIC_DIR)/tclDate.c \
|
|
$(GENERIC_DIR)/tclEnv.c \
|
|
$(GENERIC_DIR)/tclEvent.c \
|
|
$(GENERIC_DIR)/tclExecute.c \
|
|
$(GENERIC_DIR)/tclFCmd.c \
|
|
$(GENERIC_DIR)/tclFileName.c \
|
|
$(GENERIC_DIR)/tclGet.c \
|
|
$(GENERIC_DIR)/tclHash.c \
|
|
$(GENERIC_DIR)/tclHistory.c \
|
|
$(GENERIC_DIR)/tclIndexObj.c \
|
|
$(GENERIC_DIR)/tclInterp.c \
|
|
$(GENERIC_DIR)/tclIO.c \
|
|
$(GENERIC_DIR)/tclIOCmd.c \
|
|
$(GENERIC_DIR)/tclIOSock.c \
|
|
$(GENERIC_DIR)/tclIOUtil.c \
|
|
$(GENERIC_DIR)/tclLink.c \
|
|
$(GENERIC_DIR)/tclListObj.c \
|
|
$(GENERIC_DIR)/tclLoad.c \
|
|
$(GENERIC_DIR)/tclMain.c \
|
|
$(GENERIC_DIR)/tclNamesp.c \
|
|
$(GENERIC_DIR)/tclNotify.c \
|
|
$(GENERIC_DIR)/tclObj.c \
|
|
$(GENERIC_DIR)/tclParse.c \
|
|
$(GENERIC_DIR)/tclPipe.c \
|
|
$(GENERIC_DIR)/tclPkg.c \
|
|
$(GENERIC_DIR)/tclPosixStr.c \
|
|
$(GENERIC_DIR)/tclPreserve.c \
|
|
$(GENERIC_DIR)/tclProc.c \
|
|
$(GENERIC_DIR)/tclStringObj.c \
|
|
$(GENERIC_DIR)/tclTest.c \
|
|
$(GENERIC_DIR)/tclTestObj.c \
|
|
$(GENERIC_DIR)/tclTimer.c \
|
|
$(GENERIC_DIR)/tclUtil.c \
|
|
$(GENERIC_DIR)/tclVar.c
|
|
|
|
UNIX_HDRS = \
|
|
$(UNIX_DIR)/tclUnixPort.h
|
|
|
|
UNIX_SRCS = \
|
|
$(UNIX_DIR)/tclAppInit.c \
|
|
$(UNIX_DIR)/tclMtherr.c \
|
|
$(UNIX_DIR)/tclUnixChan.c \
|
|
$(UNIX_DIR)/tclUnixEvent.c \
|
|
$(UNIX_DIR)/tclUnixFCmd.c \
|
|
$(UNIX_DIR)/tclUnixFile.c \
|
|
$(UNIX_DIR)/tclUnixNotfy.c \
|
|
$(UNIX_DIR)/tclUnixPipe.c \
|
|
$(UNIX_DIR)/tclUnixSock.c \
|
|
$(UNIX_DIR)/tclUnixTest.c \
|
|
$(UNIX_DIR)/tclUnixTime.c \
|
|
$(UNIX_DIR)/tclUnixInit.c
|
|
|
|
DL_SRCS = \
|
|
$(UNIX_DIR)/tclLoadAix.c \
|
|
$(UNIX_DIR)/tclLoadAout.c \
|
|
$(UNIX_DIR)/tclLoadDl.c \
|
|
$(UNIX_DIR)/tclLoadDl2.c \
|
|
$(UNIX_DIR)/tclLoadDld.c \
|
|
$(GENERIC_DIR)/tclLoadNone.c \
|
|
$(UNIX_DIR)/tclLoadOSF.c \
|
|
$(UNIX_DIR)/tclLoadShl.c
|
|
|
|
# Note: don't include DL_SRCS in SRCS: most of those files won't
|
|
# compile on the current machine, and they will cause problems for
|
|
# things like "make depend".
|
|
|
|
SRCS = $(GENERIC_SRCS) $(UNIX_SRCS)
|
|
|
|
all: ${TCL_LIB_FILE} tclsh
|
|
|
|
# The following target is configured by autoconf to generate either
|
|
# a shared library or non-shared library for Tcl.
|
|
|
|
${TCL_LIB_FILE}: ${OBJS}
|
|
rm -f ${TCL_LIB_FILE}
|
|
@MAKE_LIB@
|
|
$(RANLIB) ${TCL_LIB_FILE}
|
|
|
|
tclsh: ${TCLSH_OBJS} ${TCL_LIB_FILE}
|
|
${CC} @LD_FLAGS@ ${TCLSH_OBJS} @TCL_BUILD_LIB_SPEC@ ${LIBS} \
|
|
@TCL_LD_SEARCH_FLAGS@ -o tclsh
|
|
|
|
tcltest: ${TCLTEST_OBJS} ${TCL_LIB_FILE} ${BUILD_DLTEST}
|
|
${CC} @LD_FLAGS@ ${TCLTEST_OBJS} @TCL_BUILD_LIB_SPEC@ ${LIBS} \
|
|
@TCL_LD_SEARCH_FLAGS@ -o tcltest
|
|
|
|
xttest: ${XTTEST_OBJS} ${GENERIC_OBJS} ${UNIX_OBJS} ${COMPAT_OBJS} \
|
|
@DL_OBJS@ ${BUILD_DLTEST}
|
|
${CC} ${XTTEST_OBJS} ${GENERIC_OBJS} ${UNIX_OBJS} ${COMPAT_OBJS} \
|
|
@DL_OBJS@ @TCL_BUILD_LIB_SPEC@ ${LIBS} \
|
|
@TCL_LD_SEARCH_FLAGS@ -lXt -o xttest
|
|
|
|
|
|
# Note, in the target below TCL_LIBRARY needs to be set or else
|
|
# "make test" won't work in the case where the compilation directory
|
|
# isn't the same as the source directory.
|
|
|
|
test: tcltest
|
|
LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}; export LD_LIBRARY_PATH; \
|
|
TCL_LIBRARY=${TOP_DIR}/library; export TCL_LIBRARY; \
|
|
( echo cd $(TOP_DIR)/tests\; source all ) | ./tcltest
|
|
|
|
# The following target outputs the name of the top-level source directory
|
|
# for Tcl (it is used by Tk's configure script, for example). The
|
|
# .NO_PARALLEL line is needed to avoid problems under Sun's "pmake".
|
|
# Note: this target is now obsolete (use the autoconf variable
|
|
# TCL_SRC_DIR from tclConfig.sh instead).
|
|
|
|
.NO_PARALLEL: topDirName
|
|
topDirName:
|
|
@cd $(TOP_DIR); pwd
|
|
|
|
# The following target generates the file generic/tclDate.c
|
|
# from the yacc grammar found in generic/tclGetDate.y. This is
|
|
# only run by hand as yacc is not available in all environments.
|
|
# The name of the .c file is different than the name of the .y file
|
|
# so that make doesn't try to automatically regenerate the .c file.
|
|
|
|
gendate:
|
|
yacc -l $(GENERIC_DIR)/tclGetDate.y
|
|
sed -e 's/yy/TclDate/g' -e '/^#include <values.h>/d' \
|
|
-e 's/SCCSID/%Z\% %M\% %I\% %E\% %U\%/g' \
|
|
-e '/#ifdef __STDC__/,/#endif/d' -e '/TclDateerrlab:/d' \
|
|
-e '/TclDatenewstate:/d' -e '/#pragma/d' \
|
|
<y.tab.c >$(GENERIC_DIR)/tclDate.c
|
|
rm y.tab.c
|
|
|
|
# The following targets generate the shared libraries in dltest that
|
|
# are used for testing; they are included as part of the "tcltest"
|
|
# target (via the BUILD_DLTEST variable) if dynamic loading is supported
|
|
# on this platform. The ".." environment variable stuff is needed
|
|
# because on some platforms tclsh scripts will be executed as part of
|
|
# building the shared libraries, and they need to be able to use the
|
|
# uninstalled tclsh that is present in this directory. The "make tclsh"
|
|
# command is needed for the same reason (must make sure that it exists).
|
|
|
|
dltest/pkg5${SHLIB_SUFFIX}: dltest/Makefile
|
|
if test ! -f tclsh; then $(MAKE) tclsh; else true; fi
|
|
cd dltest; PATH=..:${PATH} TCL_LIBRARY=../../library $(MAKE)
|
|
|
|
dltest/Makefile: $(DLTEST_DIR)/configure $(DLTEST_DIR)/Makefile.in tclConfig.sh
|
|
if test ! -d dltest; then mkdir dltest; else true; fi
|
|
cd dltest; if test -f configure; then ./configure; else \
|
|
$(DLTEST_DIR)/configure; fi
|
|
|
|
install: install-binaries install-libraries install-man
|
|
|
|
# Note: before running ranlib below, must cd to target directory because
|
|
# some ranlibs write to current directory, and this might not always be
|
|
# possible (e.g. if installing as root).
|
|
|
|
install-binaries: $(TCL_LIB_FILE) tclsh
|
|
@for i in $(LIB_INSTALL_DIR) $(BIN_INSTALL_DIR) ; \
|
|
do \
|
|
if [ ! -d $$i ] ; then \
|
|
echo "Making directory $$i"; \
|
|
mkdir $$i; \
|
|
chmod 755 $$i; \
|
|
else true; \
|
|
fi; \
|
|
done;
|
|
@echo "Installing $(TCL_LIB_FILE)"
|
|
@$(INSTALL_DATA) $(TCL_LIB_FILE) $(LIB_INSTALL_DIR)/$(TCL_LIB_FILE)
|
|
@(cd $(LIB_INSTALL_DIR); $(RANLIB) $(TCL_LIB_FILE))
|
|
@chmod 555 $(LIB_INSTALL_DIR)/$(TCL_LIB_FILE)
|
|
@echo "Installing tclsh"
|
|
@$(INSTALL_PROGRAM) tclsh $(BIN_INSTALL_DIR)/tclsh$(VERSION)
|
|
@echo "Installing tclConfig.sh"
|
|
@$(INSTALL_DATA) tclConfig.sh $(LIB_INSTALL_DIR)/tclConfig.sh
|
|
|
|
install-libraries:
|
|
@for i in $(INSTALL_ROOT)$(prefix)/lib $(INCLUDE_INSTALL_DIR) \
|
|
$(SCRIPT_INSTALL_DIR); \
|
|
do \
|
|
if [ ! -d $$i ] ; then \
|
|
echo "Making directory $$i"; \
|
|
mkdir $$i; \
|
|
chmod 755 $$i; \
|
|
else true; \
|
|
fi; \
|
|
done;
|
|
@for i in http1.0 ; \
|
|
do \
|
|
if [ ! -d $(SCRIPT_INSTALL_DIR)/$$i ] ; then \
|
|
echo "Making directory $(SCRIPT_INSTALL_DIR)/$$i"; \
|
|
mkdir $(SCRIPT_INSTALL_DIR)/$$i; \
|
|
chmod 755 $(SCRIPT_INSTALL_DIR)/$$i; \
|
|
else true; \
|
|
fi; \
|
|
done;
|
|
@echo "Installing tcl.h"
|
|
@$(INSTALL_DATA) $(GENERIC_DIR)/tcl.h $(INCLUDE_INSTALL_DIR)/tcl.h
|
|
@for i in $(TOP_DIR)/library/*.tcl $(TOP_DIR)/library/tclIndex $(UNIX_DIR)/tclAppInit.c $(UNIX_DIR)/ldAix; \
|
|
do \
|
|
echo "Installing $$i"; \
|
|
$(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR); \
|
|
done;
|
|
@for i in http1.0 ; \
|
|
do \
|
|
for j in $(TOP_DIR)/library/$$i/*.tcl ; \
|
|
do \
|
|
echo "Installing $$j"; \
|
|
$(INSTALL_DATA) $$j $(SCRIPT_INSTALL_DIR)/$$i; \
|
|
done; \
|
|
done;
|
|
|
|
install-man:
|
|
@for i in $(MAN_INSTALL_DIR) $(MAN1_INSTALL_DIR) $(MAN3_INSTALL_DIR) $(MANN_INSTALL_DIR) ; \
|
|
do \
|
|
if [ ! -d $$i ] ; then \
|
|
echo "Making directory $$i"; \
|
|
mkdir $$i; \
|
|
chmod 755 $$i; \
|
|
else true; \
|
|
fi; \
|
|
done;
|
|
@cd $(TOP_DIR)/doc; for i in *.1; \
|
|
do \
|
|
echo "Installing doc/$$i"; \
|
|
rm -f $(MAN1_INSTALL_DIR)/$$i; \
|
|
sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \
|
|
$$i > $(MAN1_INSTALL_DIR)/$$i; \
|
|
chmod 444 $(MAN1_INSTALL_DIR)/$$i; \
|
|
done;
|
|
$(UNIX_DIR)/mkLinks $(MAN1_INSTALL_DIR)
|
|
@cd $(TOP_DIR)/doc; for i in *.3; \
|
|
do \
|
|
echo "Installing doc/$$i"; \
|
|
rm -f $(MAN3_INSTALL_DIR)/$$i; \
|
|
sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \
|
|
$$i > $(MAN3_INSTALL_DIR)/$$i; \
|
|
chmod 444 $(MAN3_INSTALL_DIR)/$$i; \
|
|
done;
|
|
$(UNIX_DIR)/mkLinks $(MAN3_INSTALL_DIR)
|
|
@cd $(TOP_DIR)/doc; for i in *.n; \
|
|
do \
|
|
echo "Installing doc/$$i"; \
|
|
rm -f $(MANN_INSTALL_DIR)/$$i; \
|
|
sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \
|
|
$$i > $(MANN_INSTALL_DIR)/$$i; \
|
|
chmod 444 $(MANN_INSTALL_DIR)/$$i; \
|
|
done;
|
|
$(UNIX_DIR)/mkLinks $(MANN_INSTALL_DIR)
|
|
|
|
Makefile: $(UNIX_DIR)/Makefile.in
|
|
$(SHELL) config.status
|
|
|
|
clean:
|
|
rm -f *.a *.o libtcl* core errs *~ \#* TAGS *.E a.out \
|
|
errors tclsh tcltest lib.exp
|
|
if test -f dltest/Makefile; then cd dltest; $(MAKE) clean; fi
|
|
|
|
distclean: clean
|
|
rm -rf Makefile config.status config.cache config.log tclConfig.sh \
|
|
SUNWtcl.* prototype
|
|
if test -f dltest/Makefile; then cd dltest; $(MAKE) distclean; fi
|
|
|
|
depend:
|
|
makedepend -- $(DEPEND_SWITCHES) -- $(SRCS)
|
|
|
|
bp: $(UNIX_DIR)/bp.c
|
|
$(CC) $(CC_SWITCHES) $(UNIX_DIR)/bp.c -o bp
|
|
|
|
# Test binaries. The rules for tclTestInit.o and xtTestInit.o are
|
|
# complicated because they are compiled from tclAppInit.c. Can't use
|
|
# the "-o" option because this doesn't work on some strange compilers
|
|
# (e.g. UnixWare).
|
|
|
|
tclTestInit.o: $(UNIX_DIR)/tclAppInit.c
|
|
@if test -f tclAppInit.o ; then \
|
|
rm -f tclAppInit.sav; \
|
|
mv tclAppInit.o tclAppInit.sav; \
|
|
fi;
|
|
$(CC) -c $(CC_SWITCHES) -DTCL_TEST $(UNIX_DIR)/tclAppInit.c
|
|
rm -f tclTestInit.o
|
|
mv tclAppInit.o tclTestInit.o
|
|
@if test -f tclAppInit.sav ; then \
|
|
mv tclAppInit.sav tclAppInit.o; \
|
|
fi;
|
|
|
|
xtTestInit.o: $(UNIX_DIR)/tclAppInit.c
|
|
@if test -f tclAppInit.o ; then \
|
|
rm -f tclAppInit.sav; \
|
|
mv tclAppInit.o tclAppInit.sav; \
|
|
fi;
|
|
$(CC) -c $(CC_SWITCHES) -DTCL_TEST -DTCL_XT_TEST \
|
|
$(UNIX_DIR)/tclAppInit.c
|
|
rm -f xtTestInit.o
|
|
mv tclAppInit.o xtTestInit.o
|
|
@if test -f tclAppInit.sav ; then \
|
|
mv tclAppInit.sav tclAppInit.o; \
|
|
fi;
|
|
|
|
# Object files used on all Unix systems:
|
|
|
|
panic.o: $(GENERIC_DIR)/panic.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/panic.c
|
|
|
|
regexp.o: $(GENERIC_DIR)/regexp.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/regexp.c
|
|
|
|
tclAppInit.o: $(UNIX_DIR)/tclAppInit.c
|
|
$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclAppInit.c
|
|
|
|
tclAsync.o: $(GENERIC_DIR)/tclAsync.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclAsync.c
|
|
|
|
tclBasic.o: $(GENERIC_DIR)/tclBasic.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclBasic.c
|
|
|
|
tclBinary.o: $(GENERIC_DIR)/tclBinary.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclBinary.c
|
|
|
|
tclCkalloc.o: $(GENERIC_DIR)/tclCkalloc.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclCkalloc.c
|
|
|
|
tclClock.o: $(GENERIC_DIR)/tclClock.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclClock.c
|
|
|
|
tclCmdAH.o: $(GENERIC_DIR)/tclCmdAH.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclCmdAH.c
|
|
|
|
tclCmdIL.o: $(GENERIC_DIR)/tclCmdIL.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclCmdIL.c
|
|
|
|
tclCmdMZ.o: $(GENERIC_DIR)/tclCmdMZ.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclCmdMZ.c
|
|
|
|
tclDate.o: $(GENERIC_DIR)/tclDate.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclDate.c
|
|
|
|
tclCompExpr.o: $(GENERIC_DIR)/tclCompExpr.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclCompExpr.c
|
|
|
|
tclCompile.o: $(GENERIC_DIR)/tclCompile.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclCompile.c
|
|
|
|
tclEnv.o: $(GENERIC_DIR)/tclEnv.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclEnv.c
|
|
|
|
tclEvent.o: $(GENERIC_DIR)/tclEvent.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclEvent.c
|
|
|
|
tclExecute.o: $(GENERIC_DIR)/tclExecute.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclExecute.c
|
|
|
|
tclFCmd.o: $(GENERIC_DIR)/tclFCmd.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclFCmd.c
|
|
|
|
tclFileName.o: $(GENERIC_DIR)/tclFileName.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclFileName.c
|
|
|
|
tclGet.o: $(GENERIC_DIR)/tclGet.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclGet.c
|
|
|
|
tclHash.o: $(GENERIC_DIR)/tclHash.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclHash.c
|
|
|
|
tclHistory.o: $(GENERIC_DIR)/tclHistory.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclHistory.c
|
|
|
|
tclIndexObj.o: $(GENERIC_DIR)/tclIndexObj.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclIndexObj.c
|
|
|
|
tclInterp.o: $(GENERIC_DIR)/tclInterp.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclInterp.c
|
|
|
|
tclIO.o: $(GENERIC_DIR)/tclIO.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclIO.c
|
|
|
|
tclIOCmd.o: $(GENERIC_DIR)/tclIOCmd.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclIOCmd.c
|
|
|
|
tclIOSock.o: $(GENERIC_DIR)/tclIOSock.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclIOSock.c
|
|
|
|
tclIOUtil.o: $(GENERIC_DIR)/tclIOUtil.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclIOUtil.c
|
|
|
|
tclLink.o: $(GENERIC_DIR)/tclLink.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclLink.c
|
|
|
|
tclListObj.o: $(GENERIC_DIR)/tclListObj.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclListObj.c
|
|
|
|
tclObj.o: $(GENERIC_DIR)/tclObj.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclObj.c
|
|
|
|
tclLoad.o: $(GENERIC_DIR)/tclLoad.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclLoad.c
|
|
|
|
tclLoadAix.o: $(UNIX_DIR)/tclLoadAix.c
|
|
$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclLoadAix.c
|
|
|
|
tclLoadAout.o: $(UNIX_DIR)/tclLoadAout.c
|
|
$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclLoadAout.c
|
|
|
|
tclLoadDl.o: $(UNIX_DIR)/tclLoadDl.c
|
|
$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclLoadDl.c
|
|
|
|
tclLoadDl2.o: $(UNIX_DIR)/tclLoadDl2.c
|
|
$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclLoadDl2.c
|
|
|
|
tclLoadDld.o: $(UNIX_DIR)/tclLoadDld.c
|
|
$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclLoadDld.c
|
|
|
|
tclLoadNone.o: $(GENERIC_DIR)/tclLoadNone.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclLoadNone.c
|
|
|
|
tclLoadOSF.o: $(UNIX_DIR)/tclLoadOSF.c
|
|
$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclLoadOSF.c
|
|
|
|
tclLoadShl.o: $(UNIX_DIR)/tclLoadShl.c
|
|
$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclLoadShl.c
|
|
|
|
tclMain.o: $(GENERIC_DIR)/tclMain.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclMain.c
|
|
|
|
tclMtherr.o: $(UNIX_DIR)/tclMtherr.c
|
|
$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclMtherr.c
|
|
|
|
tclNamesp.o: $(GENERIC_DIR)/tclNamesp.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclNamesp.c
|
|
|
|
tclNotify.o: $(GENERIC_DIR)/tclNotify.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclNotify.c
|
|
|
|
tclParse.o: $(GENERIC_DIR)/tclParse.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclParse.c
|
|
|
|
tclPipe.o: $(GENERIC_DIR)/tclPipe.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclPipe.c
|
|
|
|
tclPkg.o: $(GENERIC_DIR)/tclPkg.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclPkg.c
|
|
|
|
tclPosixStr.o: $(GENERIC_DIR)/tclPosixStr.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclPosixStr.c
|
|
|
|
tclPreserve.o: $(GENERIC_DIR)/tclPreserve.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclPreserve.c
|
|
|
|
tclProc.o: $(GENERIC_DIR)/tclProc.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclProc.c
|
|
|
|
tclStringObj.o: $(GENERIC_DIR)/tclStringObj.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclStringObj.c
|
|
|
|
tclUtil.o: $(GENERIC_DIR)/tclUtil.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclUtil.c
|
|
|
|
tclVar.o: $(GENERIC_DIR)/tclVar.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclVar.c
|
|
|
|
tclTest.o: $(GENERIC_DIR)/tclTest.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclTest.c
|
|
|
|
tclTestObj.o: $(GENERIC_DIR)/tclTestObj.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclTestObj.c
|
|
|
|
tclTimer.o: $(GENERIC_DIR)/tclTimer.c
|
|
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclTimer.c
|
|
|
|
tclUnixChan.o: $(UNIX_DIR)/tclUnixChan.c
|
|
$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixChan.c
|
|
|
|
tclUnixEvent.o: $(UNIX_DIR)/tclUnixEvent.c
|
|
$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixEvent.c
|
|
|
|
tclUnixFCmd.o: $(UNIX_DIR)/tclUnixFCmd.c
|
|
$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixFCmd.c
|
|
|
|
tclUnixFile.o: $(UNIX_DIR)/tclUnixFile.c
|
|
$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixFile.c
|
|
|
|
tclUnixNotfy.o: $(UNIX_DIR)/tclUnixNotfy.c
|
|
$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixNotfy.c
|
|
|
|
tclUnixPipe.o: $(UNIX_DIR)/tclUnixPipe.c
|
|
$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixPipe.c
|
|
|
|
tclUnixSock.o: $(UNIX_DIR)/tclUnixSock.c
|
|
$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixSock.c
|
|
|
|
tclUnixTest.o: $(UNIX_DIR)/tclUnixTest.c
|
|
$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixTest.c
|
|
|
|
tclUnixTime.o: $(UNIX_DIR)/tclUnixTime.c
|
|
$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixTime.c
|
|
|
|
tclUnixInit.o: $(UNIX_DIR)/tclUnixInit.c tclConfig.sh
|
|
$(CC) -c $(CC_SWITCHES) -DTCL_LIBRARY=\"${TCL_LIBRARY}\" \
|
|
-DTCL_PACKAGE_PATH="\"${TCL_PACKAGE_PATH}\"" \
|
|
$(UNIX_DIR)/tclUnixInit.c
|
|
|
|
# compat binaries
|
|
|
|
fixstrtod.o: $(COMPAT_DIR)/fixstrtod.c
|
|
$(CC) -c $(CC_SWITCHES) $(COMPAT_DIR)/fixstrtod.c
|
|
|
|
getcwd.o: $(COMPAT_DIR)/getcwd.c
|
|
$(CC) -c $(CC_SWITCHES) $(COMPAT_DIR)/getcwd.c
|
|
|
|
opendir.o: $(COMPAT_DIR)/opendir.c
|
|
$(CC) -c $(CC_SWITCHES) $(COMPAT_DIR)/opendir.c
|
|
|
|
strncasecmp.o: $(COMPAT_DIR)/strncasecmp.c
|
|
$(CC) -c $(CC_SWITCHES) $(COMPAT_DIR)/strncasecmp.c
|
|
|
|
strstr.o: $(COMPAT_DIR)/strstr.c
|
|
$(CC) -c $(CC_SWITCHES) $(COMPAT_DIR)/strstr.c
|
|
|
|
strtod.o: $(COMPAT_DIR)/strtod.c
|
|
$(CC) -c $(CC_SWITCHES) $(COMPAT_DIR)/strtod.c
|
|
|
|
strtol.o: $(COMPAT_DIR)/strtol.c
|
|
$(CC) -c $(CC_SWITCHES) $(COMPAT_DIR)/strtol.c
|
|
|
|
strtoul.o: $(COMPAT_DIR)/strtoul.c
|
|
$(CC) -c $(CC_SWITCHES) $(COMPAT_DIR)/strtoul.c
|
|
|
|
tmpnam.o: $(COMPAT_DIR)/tmpnam.c
|
|
$(CC) -c $(CC_SWITCHES) $(COMPAT_DIR)/tmpnam.c
|
|
|
|
waitpid.o: $(COMPAT_DIR)/waitpid.c
|
|
$(CC) -c $(CC_SWITCHES) $(COMPAT_DIR)/waitpid.c
|
|
|
|
.c.o:
|
|
$(CC) -c $(CC_SWITCHES) $<
|
|
|
|
#
|
|
# Target to check for proper usage of UCHAR macro.
|
|
#
|
|
|
|
checkuchar:
|
|
-egrep isalnum\|isalpha\|iscntrl\|isdigit\|islower\|isprint\|ispunct\|isspace\|isupper\|isxdigit\|toupper\|tolower $(SRCS) | grep -v UCHAR
|
|
|
|
#
|
|
# Target to make sure that only symbols with "Tcl" prefixes are
|
|
# exported.
|
|
#
|
|
|
|
checkexports: $(TCL_LIB_FILE)
|
|
-nm -p $(TCL_LIB_FILE) | awk '$$2 ~ /[TDB]/ { print $$3 }' | sort -n | grep -v '^[Tt]cl'
|
|
|
|
#
|
|
# Target to create a proper Tcl distribution from information in the
|
|
# master source directory. DISTDIR must be defined to indicate where
|
|
# to put the distribution.
|
|
#
|
|
|
|
DISTNAME = tcl@TCL_VERSION@@TCL_PATCH_LEVEL@
|
|
ZIPNAME = tcl@TCL_MAJOR_VERSION@@TCL_MINOR_VERSION@@TCL_PATCH_LEVEL@.zip
|
|
DISTDIR = /proj/tcl/dist/$(DISTNAME)
|
|
$(UNIX_DIR)/configure: $(UNIX_DIR)/configure.in
|
|
autoconf $(UNIX_DIR)/configure.in > $(UNIX_DIR)/configure
|
|
dist: $(UNIX_DIR)/configure
|
|
rm -rf $(DISTDIR)
|
|
mkdir $(DISTDIR)
|
|
mkdir $(DISTDIR)/unix
|
|
cp -p $(UNIX_DIR)/*.c $(UNIX_DIR)/*.h $(DISTDIR)/unix
|
|
rm -f $(DISTDIR)/unix/bp.c $(DISTDIR)/unix/tclXtNotify.c
|
|
cp $(UNIX_DIR)/Makefile.in $(DISTDIR)/unix
|
|
chmod 664 $(DISTDIR)/unix/Makefile.in
|
|
cp $(UNIX_DIR)/configure $(UNIX_DIR)/configure.in \
|
|
$(UNIX_DIR)/tclConfig.sh.in $(UNIX_DIR)/install-sh \
|
|
$(UNIX_DIR)/porting.notes $(UNIX_DIR)/porting.old \
|
|
$(UNIX_DIR)/README $(UNIX_DIR)/ldAix \
|
|
$(DISTDIR)/unix
|
|
chmod 775 $(DISTDIR)/unix/configure $(DISTDIR)/unix/configure.in
|
|
chmod 775 $(DISTDIR)/unix/ldAix
|
|
chmod +x $(DISTDIR)/unix/install-sh
|
|
tclsh $(UNIX_DIR)/mkLinks.tcl \
|
|
$(UNIX_DIR)/../doc/*.[13n] > $(DISTDIR)/unix/mkLinks
|
|
chmod +x $(DISTDIR)/unix/mkLinks
|
|
mkdir $(DISTDIR)/generic
|
|
cp -p $(GENERIC_DIR)/*.c $(GENERIC_DIR)/*.h $(DISTDIR)/generic
|
|
cp -p $(GENERIC_DIR)/README $(DISTDIR)/generic
|
|
cp -p $(GENERIC_DIR)/tclGetDate.y $(DISTDIR)/generic
|
|
cp -p $(TOP_DIR)/changes $(TOP_DIR)/README $(TOP_DIR)/license.terms \
|
|
$(DISTDIR)
|
|
mkdir $(DISTDIR)/library
|
|
cp -p $(TOP_DIR)/license.terms $(TOP_DIR)/library/*.tcl \
|
|
$(TOP_DIR)/library/tclIndex $(DISTDIR)/library
|
|
for i in http1.0; \
|
|
do \
|
|
mkdir $(DISTDIR)/library/$$i ;\
|
|
cp -p $(TOP_DIR)/library/$$i/*.tcl $(DISTDIR)/library/$$i; \
|
|
done;
|
|
mkdir $(DISTDIR)/doc
|
|
cp -p $(TOP_DIR)/license.terms $(TOP_DIR)/doc/*.[13n] \
|
|
$(TOP_DIR)/doc/man.macros $(DISTDIR)/doc
|
|
mkdir $(DISTDIR)/compat
|
|
cp -p $(TOP_DIR)/license.terms $(TOP_DIR)/compat/*.c \
|
|
$(TOP_DIR)/compat/*.h $(TOP_DIR)/compat/README \
|
|
$(DISTDIR)/compat
|
|
mkdir $(DISTDIR)/tests
|
|
cp -p $(TOP_DIR)/license.terms $(DISTDIR)/tests
|
|
cp -p $(TOP_DIR)/tests/*.test $(TOP_DIR)/tests/README \
|
|
$(TOP_DIR)/tests/all $(TOP_DIR)/tests/remote.tcl \
|
|
$(TOP_DIR)/tests/defs $(DISTDIR)/tests
|
|
cp -r -p $(TOP_DIR)/tests/policies $(DISTDIR)/tests/policies
|
|
find $(DISTDIR)/tests/policies -name SCCS -exec rm -rf {} \;
|
|
mkdir $(DISTDIR)/win
|
|
cp -p $(TOP_DIR)/win/*.c $(TOP_DIR)/win/*.h $(TOP_DIR)/win/*.rc \
|
|
$(DISTDIR)/win
|
|
cp -p $(TOP_DIR)/win/makefile.* $(DISTDIR)/win
|
|
cp -p $(TOP_DIR)/win/README $(DISTDIR)/win
|
|
cp -p $(TOP_DIR)/win/pkgIndex.tcl $(DISTDIR)/win
|
|
cp -p $(TOP_DIR)/license.terms $(DISTDIR)/win
|
|
mkdir $(DISTDIR)/mac
|
|
sccs edit -s $(TOP_DIR)/mac/tclMacProjects.sit.hqx
|
|
cp -p tclMacProjects.sit.hqx $(DISTDIR)/mac
|
|
sccs unedit $(TOP_DIR)/mac/tclMacProjects.sit.hqx
|
|
rm -f tclMacProjects.sit.hqx
|
|
cp -p $(TOP_DIR)/mac/*.c $(TOP_DIR)/mac/*.h $(TOP_DIR)/mac/*.r \
|
|
$(DISTDIR)/mac
|
|
cp -p $(TOP_DIR)/mac/porting.notes $(TOP_DIR)/mac/README $(DISTDIR)/mac
|
|
cp -p $(TOP_DIR)/mac/*.exp $(TOP_DIR)/mac/*.pch $(DISTDIR)/mac
|
|
cp -p $(TOP_DIR)/mac/*.doc $(DISTDIR)/mac
|
|
cp -p $(TOP_DIR)/license.terms $(DISTDIR)/mac
|
|
mkdir $(DISTDIR)/unix/dltest
|
|
cp -p $(UNIX_DIR)/dltest/*.c $(UNIX_DIR)/dltest/Makefile.in \
|
|
$(DISTDIR)/unix/dltest
|
|
cp -p $(UNIX_DIR)/dltest/configure.in $(UNIX_DIR)/dltest/configure \
|
|
$(UNIX_DIR)/dltest/README $(DISTDIR)/unix/dltest
|
|
|
|
alldist: dist
|
|
rm -f /proj/tcl/dist/$(DISTNAME).tar.Z \
|
|
/proj/tcl/dist/$(DISTNAME).tar.gz \
|
|
/proj/tcl/dist/$(ZIPNAME)
|
|
cd /proj/tcl/dist; tar cf $(DISTNAME).tar $(DISTNAME); \
|
|
gzip -c $(DISTNAME).tar > $(DISTNAME).tar.gz; \
|
|
compress $(DISTNAME).tar; zip -r8 $(ZIPNAME) $(DISTNAME)
|
|
|
|
#
|
|
# Target to create a Macintosh version of the distribution. This will
|
|
# do a normal distribution and then massage the output to prepare it
|
|
# for moving to the Mac platform. This requires a few scripts and
|
|
# programs found only in the Tcl group's tool workspace.
|
|
#
|
|
|
|
macdist: dist
|
|
rm -f $(DISTDIR)/mac/tclMacProjects.sit.hqx
|
|
tclsh $(TOOL_DIR)/man2html.tcl $(DISTDIR)/tmp ../.. tcl$(VERSION)
|
|
mv $(DISTDIR)/tmp/tcl$(VERSION) $(DISTDIR)/html
|
|
rm -rf $(DISTDIR)/doc
|
|
rm -rf $(DISTDIR)/tmp
|
|
tclsh $(TOOL_DIR)/cvtEOL.tcl $(DISTDIR)
|
|
|
|
#
|
|
# Targets to build Solaris package of the distribution for the current
|
|
# architecture. To build stream packages for both sun4 and i86pc
|
|
# architectures:
|
|
#
|
|
# On the sun4 machine, execute the following:
|
|
# make distclean; ./configure
|
|
# make DISTDIR=<distdir> package
|
|
#
|
|
# Once the build is complete, execute the following on the i86pc
|
|
# machine:
|
|
# make DISTDIR=<distdir> package-quick
|
|
#
|
|
# <distdir> is the absolute path to a directory where the build should
|
|
# take place. These steps will generate the SUNWtcl.sun4 and
|
|
# SUNWtcl.i86pc stream packages. It is important that the packages be
|
|
# built in this fashion in order to ensure that the architecture
|
|
# independent files are exactly the same, including timestamps, in
|
|
# both packages.
|
|
#
|
|
|
|
package: dist package-config package-common package-binaries package-generate
|
|
package-quick: package-config package-binaries package-generate
|
|
|
|
#
|
|
# Configure for the current architecture in the dist directory.
|
|
#
|
|
package-config:
|
|
mkdir -p $(DISTDIR)/unix/`arch`
|
|
cd $(DISTDIR)/unix/`arch`; \
|
|
../configure --prefix=/opt/SUNWtcl/$(VERSION) \
|
|
--exec_prefix=/opt/SUNWtcl/$(VERSION)/`arch` \
|
|
--enable-shared
|
|
mkdir -p $(DISTDIR)/SUNWtcl/$(VERSION)
|
|
mkdir -p $(DISTDIR)/SUNWtcl/$(VERSION)/`arch`
|
|
|
|
#
|
|
# Build and install the architecture independent files in the dist directory.
|
|
#
|
|
|
|
package-common:
|
|
cd $(DISTDIR)/unix/`arch`;\
|
|
$(MAKE); \
|
|
$(MAKE) prefix=$(DISTDIR)/SUNWtcl/$(VERSION) \
|
|
exec_prefix=$(DISTDIR)/SUNWtcl/$(VERSION)/`arch` \
|
|
install-libraries install-man
|
|
mkdir -p $(DISTDIR)/SUNWtcl/$(VERSION)/bin
|
|
sed -e "s/TCLVERSION/$(VERSION)/g" < $(UNIX_DIR)/tclsh.sh \
|
|
> $(DISTDIR)/SUNWtcl/$(VERSION)/bin/tclsh$(VERSION)
|
|
chmod 755 $(DISTDIR)/SUNWtcl/$(VERSION)/bin/tclsh$(VERSION)
|
|
|
|
#
|
|
# Build and install the architecture specific files in the dist directory.
|
|
#
|
|
|
|
package-binaries:
|
|
cd $(DISTDIR)/unix/`arch`; \
|
|
$(MAKE); \
|
|
$(MAKE) install-binaries prefix=$(DISTDIR)/SUNWtcl/$(VERSION) \
|
|
exec_prefix=$(DISTDIR)/SUNWtcl/$(VERSION)/`arch`
|
|
|
|
#
|
|
# Generate a package from the installed files in the dist directory for the
|
|
# current architecture.
|
|
#
|
|
|
|
package-generate:
|
|
pkgproto $(DISTDIR)/SUNWtcl/$(VERSION)/bin=bin \
|
|
$(DISTDIR)/SUNWtcl/$(VERSION)/include=include \
|
|
$(DISTDIR)/SUNWtcl/$(VERSION)/lib=lib \
|
|
$(DISTDIR)/SUNWtcl/$(VERSION)/man=man \
|
|
$(DISTDIR)/SUNWtcl/$(VERSION)/`arch`=`arch` \
|
|
| tclsh $(UNIX_DIR)/mkProto.tcl \
|
|
$(VERSION) $(UNIX_DIR) > prototype
|
|
pkgmk -o -d . -f prototype -a `arch`
|
|
pkgtrans -s . SUNWtcl.`arch` SUNWtcl
|
|
rm -rf SUNWtcl
|
|
|
|
# DO NOT DELETE THIS LINE -- make depend depends on it.
|