Makefile.in at [74d2ccc295]
Not logged in

File win/Makefile.in artifact 289228f493 part of check-in 74d2ccc295


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