# # 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