# Generated automatically from Makefile.in by configure.
#
# 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.130 96/04/18 16:55:37

# Current Tcl version;  used in various names.

VERSION = 7.5

#----------------------------------------------------------------
# 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 =	/usr/local
exec_prefix =	/usr/local

# 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 = ../dist

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

# 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

# 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 = -lm
#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 tclUnixFile.o \
	tclUnixNotfy.o tclUnixPipe.o tclUnixSock.o tclUnixTime.o \
	tclUnixInit.o
#UNIX_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

# 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 =		./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 = -Kpic -belf
#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 = ld -G

SHLIB_SUFFIX = .so
#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 = $(DLTEST_TARGETS)
#BUILD_DLTEST =

TCL_LIB_FILE = libtcl7.5.so
#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 =		

AC_FLAGS =		 -DHAVE_UNISTD_H=1 -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_TZNAME=1 -DHAVE_TM_TZADJ=1 -DHAVE_TIMEZONE_VAR=1 -DSTDC_HEADERS=1 -DNO_UNION_WAIT=1 -DNEED_MATHERR=1 
RANLIB =		:
SRC_DIR =		.
TOP_DIR =		./..
GENERIC_DIR = 		$(TOP_DIR)/generic
COMPAT_DIR =		$(TOP_DIR)/compat
DLTEST_DIR =		./dltest
UNIX_DIR = 		.
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} \
${ENV_FLAGS} -DTCL_SHLIB_EXT=\"${SHLIB_SUFFIX}\"

LIBS =		  -lsocket $(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 tclUnixTest.o

GENERIC_OBJS = panic.o regexp.o tclAsync.o tclBasic.o tclCkalloc.o \
	tclClock.o tclCmdAH.o tclCmdIL.o tclCmdMZ.o tclDate.o tclEnv.o \
	tclEvent.o tclExpr.o tclFHandle.o tclFileName.o tclGet.o tclHash.o \
	tclHistory.o tclInterp.o tclIO.o tclIOCmd.o \
	tclIOSock.o tclIOUtil.o tclLink.o tclLoad.o tclMain.o tclNotify.o \
	tclParse.o tclPkg.o tclPosixStr.o tclPreserve.o tclProc.o \
	tclUtil.o tclVar.o

OBJS = ${GENERIC_OBJS} ${UNIX_OBJS} ${COMPAT_OBJS} tclLoadDl.o

GENERIC_HDRS = \
	$(GENERIC_DIR)/tclRegexp.h \
	$(GENERIC_DIR)/tcl.h \
	$(GENERIC_DIR)/tclInt.h \
	$(GENERIC_DIR)/tclPort.h \
	$(GENERIC_DIR)/patchlevel.h

GENERIC_SRCS = \
	$(GENERIC_DIR)/regexp.c \
	$(GENERIC_DIR)/tclAsync.c \
	$(GENERIC_DIR)/tclBasic.c \
	$(GENERIC_DIR)/tclCkalloc.c \
	$(GENERIC_DIR)/tclClock.c \
	$(GENERIC_DIR)/tclCmdAH.c \
	$(GENERIC_DIR)/tclCmdIL.c \
	$(GENERIC_DIR)/tclCmdMZ.c \
	$(GENERIC_DIR)/tclDate.c \
	$(GENERIC_DIR)/tclEnv.c \
	$(GENERIC_DIR)/tclEvent.c \
	$(GENERIC_DIR)/tclExpr.c \
	$(GENERIC_DIR)/tclFHandle.c \
	$(GENERIC_DIR)/tclFileName.c \
	$(GENERIC_DIR)/tclGet.c \
	$(GENERIC_DIR)/tclHash.c \
	$(GENERIC_DIR)/tclHistory.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)/tclLoad.c \
	$(GENERIC_DIR)/tclMain.c \
	$(GENERIC_DIR)/tclNotify.c \
	$(GENERIC_DIR)/tclParse.c \
	$(GENERIC_DIR)/tclPkg.c \
	$(GENERIC_DIR)/tclPosixStr.c \
	$(GENERIC_DIR)/tclPreserve.c \
	$(GENERIC_DIR)/tclProc.c \
	$(GENERIC_DIR)/tclTest.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)/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}
	${SHLIB_LD} -o libtcl7.5.so ${OBJS} 
	$(RANLIB) ${TCL_LIB_FILE}

tclsh: ${TCLSH_OBJS} ${TCL_LIB_FILE}
	${CC} -belf -Wl,-Bexport ${TCLSH_OBJS} -L/u/hops/src/tcl/tcl7.5/unix -ltcl7.5 ${LIBS} \
		 -o tclsh

tcltest: ${TCLTEST_OBJS} ${TCL_LIB_FILE} ${BUILD_DLTEST}
	${CC} -belf -Wl,-Bexport ${TCLTEST_OBJS} -L/u/hops/src/tcl/tcl7.5/unix -ltcl7.5 ${LIBS} \
		 -o tcltest

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

.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

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)
	@$(RANLIB) $(LIB_INSTALL_DIR)/$(TCL_LIB_FILE)
	@chmod 555 $(LIB_INSTALL_DIR)/$(TCL_LIB_FILE)
	@echo "Installing tclsh"
	@$(INSTALL_PROGRAM) tclsh $(BIN_INSTALL_DIR)/tclsh$(VERSION)

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;
	@echo "Installing tcl.h"
	@$(INSTALL_DATA) $(GENERIC_DIR)/tcl.h $(INCLUDE_INSTALL_DIR)/tcl.h
	@echo "Installing tclConfig.sh"
	@$(INSTALL_DATA) tclConfig.sh $(LIB_INSTALL_DIR)/tclConfig.sh
	@for i in $(TOP_DIR)/library/*.tcl $(TOP_DIR)/library/tclIndex $(UNIX_DIR)/tclAppInit.c; \
	    do \
	    echo "Installing $$i"; \
	    $(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR); \
	    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 -f Makefile config.* tclConfig.sh
	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 rule for tclTestInit.o is complicated because
# it is is 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;

# 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

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

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

tclExpr.o: $(GENERIC_DIR)/tclExpr.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclExpr.c

tclFHandle.o: $(GENERIC_DIR)/tclFHandle.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclFHandle.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

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

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

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

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

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

tclUnixChan.o: $(UNIX_DIR)/tclUnixChan.c
	$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclUnixChan.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}\" \
		$(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.
#

DISTDIR =	/proj/tcl/dist/tcl7.5
configure: configure.in
	autoconf
dist: configure
	rm -rf $(DISTDIR)
	mkdir $(DISTDIR)
	mkdir $(DISTDIR)/unix
	cp -p $(UNIX_DIR)/*.c $(UNIX_DIR)/*.h $(DISTDIR)/unix
	cp Makefile.in $(DISTDIR)/unix
	chmod 664 $(DISTDIR)/unix/Makefile.in
	cp configure configure.in tclConfig.sh.in install-sh porting.notes \
		porting.old README ldAix $(DISTDIR)/unix
	chmod 775 $(DISTDIR)/unix/configure $(DISTDIR)/unix/configure.in
	chmod 775 $(DISTDIR)/unix/ldAix
	chmod +x $(DISTDIR)/unix/install-sh
	tclsh mkLinks.tcl ../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 ../changes ../README ../license.terms $(DISTDIR)
	mkdir $(DISTDIR)/library
	cp -p ../license.terms ../library/*.tcl ../library/tclIndex \
		 $(DISTDIR)/library
	mkdir $(DISTDIR)/doc
	cp -p ../license.terms ../doc/*.[13n] ../doc/man.macros $(DISTDIR)/doc
	mkdir $(DISTDIR)/compat
	cp -p ../license.terms ../compat/*.c ../compat/*.h ../compat/README \
		$(DISTDIR)/compat
	mkdir $(DISTDIR)/tests
	cp -p ../license.terms $(DISTDIR)/tests
	cp -p ../tests/*.test ../tests/README ../tests/all \
		../tests/remote.tcl ../tests/defs $(DISTDIR)/tests
	mkdir $(DISTDIR)/win
	cp -p ../win/*.c ../win/*.h ../win/*.rc $(DISTDIR)/win
	cp -p ../win/makefile.* $(DISTDIR)/win
	cp -p ../win/README $(DISTDIR)/win
	cp -p ../license.terms $(DISTDIR)/win
	mkdir $(DISTDIR)/mac
	sccs edit -s ../mac/tclMacProjects.sit.hqx
	cp -p tclMacProjects.sit.hqx $(DISTDIR)/mac
	sccs unedit ../mac/tclMacProjects.sit.hqx
	rm -f tclMacProjects.sit.hqx
	cp -p ../mac/*.c ../mac/*.h ../mac/*.r $(DISTDIR)/mac
	cp -p ../mac/porting.notes ../mac/README $(DISTDIR)/mac
	cp -p ../license.terms $(DISTDIR)/mac
	mkdir $(DISTDIR)/unix/dltest
	cp -p dltest/*.c dltest/Makefile.in $(DISTDIR)/unix/dltest
	cp -p dltest/configure.in dltest/configure $(DISTDIR)/unix/dltest
	cp -p dltest/README $(DISTDIR)/unix/dltest

#
# 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 greoup's tool workspace.
#

TOOLDIR =	/home/rjohnson/Projects/tools
macdist: dist
	rm -f $(DISTDIR)/mac/tclMacProjects.sit.hqx
	tclsh $(TOOLDIR)/generic/man2html.tcl $(DISTDIR)/tmp ../.. tcl$(VERSION)
	mv $(DISTDIR)/tmp/tcl$(VERSION) $(DISTDIR)/html
	rm -rf $(DISTDIR)/doc
	rm -rf $(DISTDIR)/tmp
	tclsh $(TOOLDIR)/mac/cvtEOL.tcl $(DISTDIR)

# DO NOT DELETE THIS LINE -- make depend depends on it.
