#
# 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.
#
# RCS: @(#) $Id: Makefile.in,v 1.2 1999/06/02 19:29:20 surles Exp $
#----------------------------------------------------------------
# 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@
# Directory in which to install libtcl.so or libtcl.a:
LIB_INSTALL_DIR = $(prefix)/lib
# Directory in which to install the program tclsh:
BIN_INSTALL_DIR = $(exec_prefix)/bin
# Path name to use when installing library scripts:
SCRIPT_INSTALL_DIR = $(prefix)/lib/tcl$(DOTVER)
# Directory in which to install the include file tcl.h:
INCLUDE_INSTALL_DIR = $(prefix)/include
# Top-level directory in which to install manual entries:
MAN_INSTALL_DIR = $(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
PATHTYPE = @PATHTYPE@
SRC_DIR = $(shell cygpath $(PATHTYPE) '@srcdir@')
ROOT_DIR = $(shell cygpath $(PATHTYPE) '@srcdir@/..')
GENERIC_DIR = $(shell cygpath $(PATHTYPE) '@srcdir@/../generic')
WIN_DIR = $(shell cygpath $(PATHTYPE) '@srcdir@')
COMPAT_DIR = $(shell cygpath $(PATHTYPE) '@srcdir@/../compat')
TOP_DIR = @srcdir@/..
DLLSUFFIX = @DLLSUFFIX@
LIBSUFFIX = @LIBSUFFIX@
EXESUFFIX = @EXESUFFIX@
STUB_LIB = tclstub$(VER)${LIBSUFFIX}
TCL_DLL = tcl$(VER)${DLLSUFFIX}
TCL_LIB = tcl$(VER)${LIBSUFFIX}
DDE_DLL = tcldde$(VER)${DLLSUFFIX}
DDE_LIB = tcldde$(VER)${LIBSUFFIX}
REG_DLL = tclreg$(VER)${DLLSUFFIX}
REG_LIB = tclreg$(VER)${LIBSUFFIX}
SHARED_LIBRARIES = $(TCL_DLL) $(DDE_DLL) $(REG_DLL)
STATIC_LIBRARIES = $(TCL_LIB) $(DDE_LIB) $(REG_LIB)
TCLSH = tclsh$(VER)${EXESUFFIX}
TCLTEST = tcltest${EXEEXT}
@SET_MAKE@
# Macro that expands to the first dependency argument with the appropriate
# path type already resolved.
DEPARG = "$(shell cygpath $(PATHTYPE) $<)"
# Setting the VPATH variable to a list of paths will cause the
# makefile to look into these paths when resolving .c to .obj
# dependencies.
VPATH = $(GENERIC_DIR);$(WIN_DIR);$(COMPAT_DIR)
AR = @AR@
CC = @CC@
AC_FLAGS = @EXTRA_CFLAGS@ @DEFS@
CFLAGS_OPTIMIZE = @CFLAGS_OPTIMIZE@
CFLAGS_DEBUG = @CFLAGS_DEBUG@
CFLAGS_WARNING = @CFLAGS_WARNING@
CFLAGS = @CFLAGS@
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
SHLIB_LD = @SHLIB_LD@
SHLIB_LD_LIBS = @SHLIB_LD_LIBS@
SHLIB_CFLAGS = @SHLIB_CFLAGS@
SHLIB_SUFFIX = @SHLIB_SUFFIX@
TCL_DBGX = @TCL_DBGX@
VER = @TCL_MAJOR_VERSION@@TCL_MINOR_VERSION@
DOTVER = @TCL_MAJOR_VERSION@.@TCL_MINOR_VERSION@
LIBS = @LIBS@
RMDIR = rm -rf
MKDIR = mkdir -p
RM = rm -f
COPY = cp
CC_SWITCHES = ${CFLAGS} ${CFLAGS_WARNING} ${TCL_SHLIB_CFLAGS} \
-I"${GENERIC_DIR}" -I"${WIN_DIR}" ${AC_FLAGS}
CC_OBJNAME = @CC_OBJNAME@
CC_EXENAME = @CC_EXENAME@
STUB_CC_SWITCHES = ${CFLAGS} ${CFLAGS_WARNING} ${SHLIB_CFLAGS} \
-I"${GENERIC_DIR}" -I"${SRC_DIR}" ${AC_FLAGS}
TCLTEST_OBJS = \
tclTest.$(OBJEXT) \
tclTestObj.$(OBJEXT) \
tclTestProcBodyObj.$(OBJEXT) \
tclThreadTest.$(OBJEXT) \
tclWinTest.$(OBJEXT) \
testMain.$(OBJEXT)
GENERIC_OBJS = \
regcomp.$(OBJEXT) \
regexec.$(OBJEXT) \
regfree.$(OBJEXT) \
regerror.$(OBJEXT) \
tclAlloc.$(OBJEXT) \
tclAsync.$(OBJEXT) \
tclBasic.$(OBJEXT) \
tclBinary.$(OBJEXT) \
tclCkalloc.$(OBJEXT) \
tclClock.$(OBJEXT) \
tclCmdAH.$(OBJEXT) \
tclCmdIL.$(OBJEXT) \
tclCmdMZ.$(OBJEXT) \
tclCompCmds.$(OBJEXT) \
tclCompExpr.$(OBJEXT) \
tclCompile.$(OBJEXT) \
tclDate.$(OBJEXT) \
tclEncoding.$(OBJEXT) \
tclEnv.$(OBJEXT) \
tclEvent.$(OBJEXT) \
tclExecute.$(OBJEXT) \
tclFCmd.$(OBJEXT) \
tclFileName.$(OBJEXT) \
tclGet.$(OBJEXT) \
tclHash.$(OBJEXT) \
tclHistory.$(OBJEXT) \
tclIndexObj.$(OBJEXT) \
tclInterp.$(OBJEXT) \
tclIO.$(OBJEXT) \
tclIOCmd.$(OBJEXT) \
tclIOSock.$(OBJEXT) \
tclIOUtil.$(OBJEXT) \
tclLink.$(OBJEXT) \
tclLiteral.$(OBJEXT) \
tclListObj.$(OBJEXT) \
tclLoad.$(OBJEXT) \
tclMain.$(OBJEXT) \
tclNamesp.$(OBJEXT) \
tclNotify.$(OBJEXT) \
tclObj.$(OBJEXT) \
tclPanic.$(OBJEXT) \
tclParse.$(OBJEXT) \
tclParseExpr.$(OBJEXT) \
tclPipe.$(OBJEXT) \
tclPkg.$(OBJEXT) \
tclPosixStr.$(OBJEXT) \
tclPreserve.$(OBJEXT) \
tclProc.$(OBJEXT) \
tclRegexp.$(OBJEXT) \
tclResolve.$(OBJEXT) \
tclResult.$(OBJEXT) \
tclScan.$(OBJEXT) \
tclStringObj.$(OBJEXT) \
tclStubInit.$(OBJEXT) \
tclStubLib.$(OBJEXT) \
tclThread.$(OBJEXT) \
tclTimer.$(OBJEXT) \
tclUtf.$(OBJEXT) \
tclUtil.$(OBJEXT) \
tclVar.$(OBJEXT)
WIN_OBJS = \
tclWin32Dll.$(OBJEXT) \
tclWinChan.$(OBJEXT) \
tclWinConsole.$(OBJEXT) \
tclWinSerial.$(OBJEXT) \
tclWinError.$(OBJEXT) \
tclWinFCmd.$(OBJEXT) \
tclWinFile.$(OBJEXT) \
tclWinInit.$(OBJEXT) \
tclWinLoad.$(OBJEXT) \
tclWinMtherr.$(OBJEXT) \
tclWinNotify.$(OBJEXT) \
tclWinPipe.$(OBJEXT) \
tclWinSock.$(OBJEXT) \
tclWinThrd.$(OBJEXT) \
tclWinTime.$(OBJEXT)
COMPAT_OBJS = \
strftime.$(OBJEXT)
DDE_OBJS = tclWinDde.$(OBJEXT)
REG_OBJS = tclWinReg.$(OBJEXT)
STUB_OBJS = tclStubLib.$(OBJEXT)
TCLSH_OBJS = tclAppInit.$(OBJEXT)
TCL_OBJS = ${GENERIC_OBJS} ${WIN_OBJS} ${COMPAT_OBJS}
all: binaries libraries man
binaries: @LIBRARIES@ $(STATIC_LIBRARIES) $(STUB_LIB) $(TCLSH)
libraries:
man:
$(TCLSH): $(TCL_LIB) $(TCLSH_OBJS)
$(CC) $(CFLAGS) $(TCLSH_OBJS) $(TCL_LIB) $(LIBS) $(CC_EXENAME)
$(TCLTEST): $(TCL_LIB) $(TCLTEST_OBJS)
$(CC) $(CFLAGS) $(TCLTEST_OBJS) $(TCL_LIB) $(LIBS) $(CC_EXENAME)
# The following targets are configured by autoconf to generate either
# a shared library or static library
${STUB_LIB}: ${STUB_OBJS}
@$(RM) ${STUB_LIB}
@MAKE_LIB@ ${STUB_OBJS}
${TCL_DLL}: ${TCL_OBJS}
@$(RM) ${TCL_DLL}
@MAKE_DLL@ ${TCL_OBJS}
${TCL_LIB}: ${TCL_OBJS}
@$(RM) ${TCL_LIB}
@MAKE_LIB@ ${TCL_OBJS}
${DDE_DLL}: ${DDE_OBJS} ${STUB_LIB}
@$(RM) ${DDE_DLL}
@MAKE_DLL@ ${DDE_OBJS} ${STUB_LIB}
${DDE_LIB}: ${DDE_OBJS}
@$(RM) ${DDE_LIB}
@MAKE_LIB@ ${DDE_OBJS}
${REG_DLL}: ${REG_OBJS} ${STUB_LIB}
@$(RM) ${REG_DLL}
@MAKE_DLL@ ${REG_OBJS} ${STUB_LIB}
${REG_LIB}: ${REG_OBJS}
@$(RM) ${REG_LIB}
@MAKE_LIB@ ${REG_OBJS}
# Add the object extension to the implicit rules. By default .obj is not
# automatically added.
.SUFFIXES: .${OBJEXT}
# Special case object targets
tclWinInit.obj: tclWinInit.c
$(CC) -c $(CC_SWITCHES) -DBUILD_tcl $(EXTFLAGS) $(DEPARG) $(CC_OBJNAME)
testMain.obj: tclAppInit.c
$(CC) -c $(CC_SWITCHES) -DTCL_TEST $(DEPARG) $(CC_OBJNAME)
tclTest.obj: tclTest.c
$(CC) -c $(CC_SWITCHES) $(DEPARG) $(CC_OBJNAME)
tclTestObj.obj: tclTestObj.c
$(CC) -c $(CC_SWITCHES) $(DEPARG) $(CC_OBJNAME)
tclWinTest.obj: tclWinTest.c
$(CC) -c $(CC_SWITCHES) $(DEPARG) $(CC_OBJNAME)
tclAppInit.obj : tclAppInit.c
$(CC) -c $(CC_SWITCHES) $(DEPARG) $(CC_OBJNAME)
# The following objects should be built using the stub interfaces
tclWinReg.obj : tclWinReg.c
$(CC) -c $(CC_SWITCHES) -DUSE_TCL_STUBS $(DEPARG) $(CC_OBJNAME)
tclWinDde.obj : tclWinDde.c
$(CC) -c $(CC_SWITCHES) -DUSE_TCL_STUBS $(DEPARG) $(CC_OBJNAME)
# The following objects are part of the stub library and should not
# be built as DLL objects but none of the symbols should be exported
tclStubLib.${OBJEXT}: tclStubLib.c
$(CC) -c $(CC_SWITCHES) -DSTATIC_BUILD $(DEPARG) $(CC_OBJNAME)
# Implicit rule for all object files that will end up in the Tcl library
.c.${OBJEXT}:
$(CC) -c $(CC_SWITCHES) -DBUILD_tcl ${DEPARG} $(CC_OBJNAME)
install: install-binaries install-libraries install-man
install-binaries: binaries
@$(MKDIR) "$(BIN_INSTALL_DIR)"
@$(MKDIR) "$(LIB_INSTALL_DIR)"
@echo installing $(TCL_DLL)
@$(COPY) "$(TCL_DLL)" "$(BIN_INSTALL_DIR)"
@$(COPY) "$(TCL_LIB)" "$(LIB_INSTALL_DIR)"
@echo installing "$(TCLSH)"
@$(COPY) "$(TCLSH)" "$(BIN_INSTALL_DIR)"
@echo installing $(STUB_LIB)
@$(COPY) "$(STUB_LIB)" "$(LIB_INSTALL_DIR)"
# @echo installing $(TCLPIPEDLLNAME)
# @$(COPY) "$(TCLPIPEDLL)" "$(BIN_INSTALL_DIR)"
install-libraries: libraries
@$(MKDIR) "$(LIB_INSTALL_DIR)"
@$(MKDIR) "$(INCLUDE_INSTALL_DIR)"
@$(MKDIR) "$(SCRIPT_INSTALL_DIR)"
@echo installing http1.0
@$(MKDIR) "$(SCRIPT_INSTALL_DIR)/http1.0"
@$(COPY) "$(ROOT_DIR)/library/http1.0/http.tcl" "$(SCRIPT_INSTALL_DIR)/http1.0"
@$(COPY) "$(ROOT_DIR)/library/http1.0/pkgIndex.tcl" "$(SCRIPT_INSTALL_DIR)/http1.0"
@echo installing http2.0
@$(MKDIR) "$(SCRIPT_INSTALL_DIR)/http2.0"
@$(COPY) "$(ROOT_DIR)/library/http2.0/http.tcl" "$(SCRIPT_INSTALL_DIR)/http2.0"
@$(COPY) "$(ROOT_DIR)/library/http2.0/pkgIndex.tcl" "$(SCRIPT_INSTALL_DIR)/http2.0"
@echo installing opt0.4
@$(MKDIR) "$(SCRIPT_INSTALL_DIR)/opt0.4"
@$(COPY) "$(ROOT_DIR)/library/opt0.4/optparse.tcl" "$(SCRIPT_INSTALL_DIR)/opt0.4"
@$(COPY) "$(ROOT_DIR)/library/opt0.4/pkgIndex.tcl" "$(SCRIPT_INSTALL_DIR)/opt0.4"
@echo installing msgcat1.0
@$(MKDIR) "$(SCRIPT_INSTALL_DIR)/msgcat1.0"
@$(COPY) "$(ROOT_DIR)/library/msgcat1.0/msgcat.tcl" "$(SCRIPT_INSTALL_DIR)/msgcat1.0"
@$(COPY) "$(ROOT_DIR)/library/msgcat1.0/pkgIndex.tcl" "$(SCRIPT_INSTALL_DIR)/msgcat1.0"
@echo installing $(DDE_DLL)
@$(MKDIR) "$(SCRIPT_INSTALL_DIR)/dde1.0"
@$(COPY) "$(DDE_DLL)" "$(SCRIPT_INSTALL_DIR)/dde1.0"
@$(COPY) "$(ROOT_DIR)/library/dde1.0/pkgIndex.tcl" "$(SCRIPT_INSTALL_DIR)/dde1.0"
@echo installing $(REG_DLL)
@$(MKDIR) "$(SCRIPT_INSTALL_DIR)/reg1.0"
@$(COPY) "$(REG_DLL)" "$(SCRIPT_INSTALL_DIR)/reg1.0"
@$(COPY) "$(ROOT_DIR)/library/reg1.0/pkgIndex.tcl" "$(SCRIPT_INSTALL_DIR)/reg1.0"
@echo installing encoding files
@$(MKDIR) "$(SCRIPT_INSTALL_DIR)/encoding"
@$(COPY) $(TOP_DIR)/library/encoding/*.enc "$(SCRIPT_INSTALL_DIR)/encoding"
@echo installing library files
@$(COPY) "$(GENERIC_DIR)/tcl.h" "$(INCLUDE_INSTALL_DIR)"
@$(COPY) "$(GENERIC_DIR)/tclDecls.h" "$(INCLUDE_INSTALL_DIR)"
@$(COPY) "$(ROOT_DIR)/library/history.tcl" "$(SCRIPT_INSTALL_DIR)"
@$(COPY) "$(ROOT_DIR)/library/init.tcl" "$(SCRIPT_INSTALL_DIR)"
@$(COPY) "$(ROOT_DIR)/library/ldAout.tcl" "$(SCRIPT_INSTALL_DIR)"
@$(COPY) "$(ROOT_DIR)/library/parray.tcl" "$(SCRIPT_INSTALL_DIR)"
@$(COPY) "$(ROOT_DIR)/library/safe.tcl" "$(SCRIPT_INSTALL_DIR)"
@$(COPY) "$(ROOT_DIR)/library/tclIndex" "$(SCRIPT_INSTALL_DIR)"
@$(COPY) "$(ROOT_DIR)/library/package.tcl" "$(SCRIPT_INSTALL_DIR)"
@$(COPY) "$(ROOT_DIR)/library/word.tcl" "$(SCRIPT_INSTALL_DIR)"
@$(COPY) "$(ROOT_DIR)/library/auto.tcl" "$(SCRIPT_INSTALL_DIR)"
install-man: 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 -p $$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;
@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;
@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;
test: binaries $(TCLTEST)
LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}; export LD_LIBRARY_PATH; \
SHLIB_PATH=`pwd`:${SHLIB_PATH}; export SHLIB_PATH; \
TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \
./tcltest @srcdir@/../tests/all.tcl
# Useful target to launch a built tcltest with the proper path,...
runtest: tcltest
LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}; export LD_LIBRARY_PATH; \
SHLIB_PATH=`pwd`:${SHLIB_PATH}; export SHLIB_PATH; \
TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \
./tcltest
depend:
Makefile: $(SRC_DIR)/Makefile.in
config.status
clean:
$(RM) *.lib *.exp *.dll *.${OBJEXT} *~ \#* TAGS a.out
$(RM) $(TCLSH) $(TCLTEST)
$(RM) *.pch
distclean: clean
$(RM) Makefile config.status config.cache config.log
#
# Regenerate the stubs files.
#
genstubs:
tclsh$(VERSION) $(ROOT)\tools\genStubs.tcl $(GENERICDIR) \
$(GENERICDIR)\tcl.decls $(GENERICDIR)\tclInt.decls