# This file is a Makefile for Tk. 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.59 2003/01/13 07:30:58 mdejong Exp $
TCLVERSION = @TCL_VERSION@
VERSION = @TK_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@
bindir = @bindir@
libdir = @libdir@
includedir = @includedir@
mandir = @mandir@
# 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 Tk
# scripts (note: you can set the TK_LIBRARY environment variable at
# run-time to override this value):
TK_LIBRARY = $(prefix)/lib/tk$(VERSION)
# Path to use at runtime to refer to LIB_INSTALL_DIR:
LIB_RUNTIME_DIR = $(libdir)
# Directory in which to install the program wish:
BIN_INSTALL_DIR = $(INSTALL_ROOT)$(bindir)
# Directory in which to install the .a or .so binary for the Tk library:
LIB_INSTALL_DIR = $(INSTALL_ROOT)$(libdir)
# Path name to use when installing library scripts:
SCRIPT_INSTALL_DIR = $(INSTALL_ROOT)$(TK_LIBRARY)
# Directory in which to install the include file tk.h:
INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(includedir)
# Top-level directory for manual entries:
MAN_INSTALL_DIR = $(INSTALL_ROOT)$(mandir)
# Directory in which to install manual entry for wish:
MAN1_INSTALL_DIR = $(MAN_INSTALL_DIR)/man1
# Directory in which to install manual entries for Tk's C library
# procedures:
MAN3_INSTALL_DIR = $(MAN_INSTALL_DIR)/man3
# Directory in which to install manual entries for the built-in
# Tk commands:
MANN_INSTALL_DIR = $(MAN_INSTALL_DIR)/mann
# Libraries built with optimization switches have this additional extension
TK_DBGX = @TK_DBGX@
# Directory in which to install the pkgIndex.tcl file for loadable Tk
PKG_INSTALL_DIR = $(LIB_INSTALL_DIR)/tk$(VERSION)$(TK_DBGX)
# Package index file for loadable Tk
PKG_INDEX = $(PKG_INSTALL_DIR)/pkgIndex.tcl
# The directory containing the Tcl source and header files.
TCL_SRC_DIR = @TCL_SRC_DIR@
# The directory containing the Tcl library archive file appropriate
# for this version of Tk:
TCL_BIN_DIR = @TCL_BIN_DIR@
# The directory containing the Tcl sources and headers appropriate
# for this version of Tk ("srcdir" will be replaced or has already
# been replaced by the configure script):
TCL_GENERIC_DIR = @TCL_SRC_DIR@/generic
TCL_TOOL_DIR = @TCL_SRC_DIR@/tools
# Converts a POSIX path to a Windows native path.
CYGPATH = @CYGPATH@
# The name of the Tcl library.
TCL_LIB_FILE = "$(shell $(CYGPATH) '@TCL_BIN_DIR@/@TCL_LIB_FILE@')"
TCL_STUB_LIB_FILE = "$(shell $(CYGPATH) '@TCL_BIN_DIR@/@TCL_STUB_LIB_FILE@')"
SRC_DIR = @srcdir@
ROOT_DIR = $(SRC_DIR)/..
WIN_DIR = $(SRC_DIR)
UNIX_DIR = $(SRC_DIR)/../unix
GENERIC_DIR = $(SRC_DIR)/../generic
BITMAP_DIR = $(ROOT_DIR)/bitmaps
XLIB_DIR = $(ROOT_DIR)/xlib
RC_DIR = $(WIN_DIR)/rc
ROOT_DIR_NATIVE = $(shell $(CYGPATH) '$(ROOT_DIR)')
WIN_DIR_NATIVE = $(shell $(CYGPATH) '$(WIN_DIR)')
GENERIC_DIR_NATIVE = $(shell $(CYGPATH) '$(GENERIC_DIR)')
BITMAP_DIR_NATIVE = $(shell $(CYGPATH) '$(ROOT_DIR)/bitmaps')
XLIB_DIR_NATIVE = $(shell $(CYGPATH) '$(ROOT_DIR)/xlib')
TCL_GENERIC_NATIVE = $(shell $(CYGPATH) '$(TCL_GENERIC_DIR)')
TCL_SRC_DIR_NATIVE = $(shell $(CYGPATH) '$(TCL_SRC_DIR)')
RC_DIR_NATIVE = $(shell $(CYGPATH) '$(RC_DIR)')
DLLSUFFIX = @DLLSUFFIX@
LIBSUFFIX = @LIBSUFFIX@
EXESUFFIX = @EXESUFFIX@
TK_STUB_LIB_FILE = @TK_STUB_LIB_FILE@
TK_LIB_FILE = @TK_LIB_FILE@
TK_DLL_FILE = @TK_DLL_FILE@
SHARED_LIBRARIES = $(TK_DLL_FILE) $(TK_STUB_LIB_FILE)
STATIC_LIBRARIES = $(TK_LIB_FILE)
WISH = wish$(VER)${EXESUFFIX}
TKTEST = tktest${EXEEXT}
CAT32 = cat32$(EXEEXT)
MAN2TCL = man2tcl$(EXEEXT)
@SET_MAKE@
# 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):$(UNIX_DIR):$(XLIB_DIR):$(RC_DIR)
# warning flags
CFLAGS_WARNING = @CFLAGS_WARNING@
# The default switches for optimization or debugging
CFLAGS_DEBUG = @CFLAGS_DEBUG@
CFLAGS_OPTIMIZE = @CFLAGS_OPTIMIZE@
# The default switches for optimization or debugging
LDFLAGS_DEBUG = @LDFLAGS_DEBUG@
LDFLAGS_OPTIMIZE = @LDFLAGS_OPTIMIZE@
# To change the compiler switches, for example to change from optimization to
# debugging symbols, change the following line:
#CFLAGS = $(CFLAGS_DEBUG)
#CFLAGS = $(CFLAGS_OPTIMIZE)
#CFLAGS = $(CFLAGS_DEBUG) $(CFLAGS_OPTIMIZE)
CFLAGS = @CFLAGS@ @CFLAGS_DEFAULT@
# Special compiler flags to use when building man2tcl on Windows.
MAN2TCLFLAGS = @MAN2TCLFLAGS@
AR = @AR@
RANLIB = @RANLIB@
CC = @CC@
RC = @RC@
RES = @RES@
TK_RES = @TK_RES@
AC_FLAGS = @EXTRA_CFLAGS@ @DEFS@ @TCL_DEFS@
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@ @LDFLAGS_DEFAULT@
LDFLAGS_CONSOLE = @LDFLAGS_CONSOLE@
LDFLAGS_WINDOW = @LDFLAGS_WINDOW@
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
STLIB_LD = @STLIB_LD@
SHLIB_LD = @SHLIB_LD@
SHLIB_LD_LIBS = @SHLIB_LD_LIBS@ $(TCL_STUB_LIB_FILE) $(LIBS)
SHLIB_CFLAGS = @SHLIB_CFLAGS@
SHLIB_SUFFIX = @SHLIB_SUFFIX@
VER = @TK_MAJOR_VERSION@@TK_MINOR_VERSION@
DOTVER = @TK_MAJOR_VERSION@.@TK_MINOR_VERSION@
LIBS = @LIBS@ @LIBS_GUI@
RMDIR = rm -rf
MKDIR = mkdir -p
SHELL = @SHELL@
RM = rm -f
COPY = cp
TCLSH_PROG = @TCLSH_PROG@
# TCL_EXE is the name of a tclsh executable that is available *BEFORE*
# running make for the first time. Certain build targets (make genstubs)
# need it to be available on the PATH. This executable should *NOT* be
# required just to do a normal build although it can be required to run
# make dist.
TCL_EXE = tclsh
CC_SWITCHES = ${CFLAGS} ${CFLAGS_WARNING} ${SHLIB_CFLAGS} \
-I"${GENERIC_DIR_NATIVE}" -I"${WIN_DIR_NATIVE}" \
-I"${XLIB_DIR_NATIVE}" -I"${BITMAP_DIR_NATIVE}" \
-I"${TCL_GENERIC_NATIVE}" ${AC_FLAGS}
CC_OBJNAME = @CC_OBJNAME@
CC_EXENAME = @CC_EXENAME@
STUB_CC_SWITCHES = ${CC_SWITCHES} -DUSE_TCL_STUBS
CON_CC_SWITCHES = ${CC_SWITCHES} -DCONSOLE
# Tk 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 = cp
INSTALL_PROGRAM = ${INSTALL}
INSTALL_DATA = ${INSTALL}
WISH_OBJS = \
winMain.$(OBJEXT)
TKTEST_OBJS = \
testMain.$(OBJEXT) \
tkSquare.$(OBJEXT) \
tkTest.$(OBJEXT) \
tkWinTest.$(OBJEXT)
XLIB_OBJS = \
xcolors.$(OBJEXT) \
xdraw.$(OBJEXT) \
xgc.$(OBJEXT) \
ximage.$(OBJEXT) \
xutil.$(OBJEXT)
TK_OBJS = \
tkConsole.$(OBJEXT) \
tkUnixMenubu.$(OBJEXT) \
tkUnixScale.$(OBJEXT) \
$(XLIB_OBJS) \
tkWin3d.$(OBJEXT) \
tkWin32Dll.$(OBJEXT) \
tkWinButton.$(OBJEXT) \
tkWinClipboard.$(OBJEXT) \
tkWinColor.$(OBJEXT) \
tkWinConfig.$(OBJEXT) \
tkWinCursor.$(OBJEXT) \
tkWinDialog.$(OBJEXT) \
tkWinDraw.$(OBJEXT) \
tkWinEmbed.$(OBJEXT) \
tkWinFont.$(OBJEXT) \
tkWinImage.$(OBJEXT) \
tkWinInit.$(OBJEXT) \
tkWinKey.$(OBJEXT) \
tkWinMenu.$(OBJEXT) \
tkWinPixmap.$(OBJEXT) \
tkWinPointer.$(OBJEXT) \
tkWinRegion.$(OBJEXT) \
tkWinScrlbr.$(OBJEXT) \
tkWinSend.$(OBJEXT) \
tkWinWindow.$(OBJEXT) \
tkWinWm.$(OBJEXT) \
tkWinX.$(OBJEXT) \
stubs.$(OBJEXT) \
tk3d.$(OBJEXT) \
tkArgv.$(OBJEXT) \
tkAtom.$(OBJEXT) \
tkBind.$(OBJEXT) \
tkBitmap.$(OBJEXT) \
tkButton.$(OBJEXT) \
tkCanvArc.$(OBJEXT) \
tkCanvBmap.$(OBJEXT) \
tkCanvImg.$(OBJEXT) \
tkCanvLine.$(OBJEXT) \
tkCanvPoly.$(OBJEXT) \
tkCanvPs.$(OBJEXT) \
tkCanvText.$(OBJEXT) \
tkCanvUtil.$(OBJEXT) \
tkCanvWind.$(OBJEXT) \
tkCanvas.$(OBJEXT) \
tkClipboard.$(OBJEXT) \
tkCmds.$(OBJEXT) \
tkColor.$(OBJEXT) \
tkConfig.$(OBJEXT) \
tkCursor.$(OBJEXT) \
tkEntry.$(OBJEXT) \
tkError.$(OBJEXT) \
tkEvent.$(OBJEXT) \
tkFileFilter.$(OBJEXT) \
tkFocus.$(OBJEXT) \
tkFont.$(OBJEXT) \
tkFrame.$(OBJEXT) \
tkGC.$(OBJEXT) \
tkGeometry.$(OBJEXT) \
tkGet.$(OBJEXT) \
tkGrab.$(OBJEXT) \
tkGrid.$(OBJEXT) \
tkImage.$(OBJEXT) \
tkImgBmap.$(OBJEXT) \
tkImgGIF.$(OBJEXT) \
tkImgPPM.$(OBJEXT) \
tkImgPhoto.$(OBJEXT) \
tkImgUtil.$(OBJEXT) \
tkListbox.$(OBJEXT) \
tkMacWinMenu.$(OBJEXT) \
tkMain.$(OBJEXT) \
tkMenu.$(OBJEXT) \
tkMenubutton.$(OBJEXT) \
tkMenuDraw.$(OBJEXT) \
tkMessage.$(OBJEXT) \
tkPanedWindow.$(OBJEXT) \
tkObj.$(OBJEXT) \
tkOldConfig.$(OBJEXT) \
tkOption.$(OBJEXT) \
tkPack.$(OBJEXT) \
tkPlace.$(OBJEXT) \
tkPointer.$(OBJEXT) \
tkRectOval.$(OBJEXT) \
tkScale.$(OBJEXT) \
tkScrollbar.$(OBJEXT) \
tkSelect.$(OBJEXT) \
tkStyle.$(OBJEXT) \
tkText.$(OBJEXT) \
tkTextBTree.$(OBJEXT) \
tkTextDisp.$(OBJEXT) \
tkTextImage.$(OBJEXT) \
tkTextIndex.$(OBJEXT) \
tkTextMark.$(OBJEXT) \
tkTextTag.$(OBJEXT) \
tkTextWind.$(OBJEXT) \
tkTrig.$(OBJEXT) \
tkUndo.$(OBJEXT) \
tkUtil.$(OBJEXT) \
tkVisual.$(OBJEXT) \
tkStubInit.$(OBJEXT) \
tkStubLib.$(OBJEXT) \
tkWindow.$(OBJEXT)
STUB_OBJS = \
tkStubLib.$(OBJEXT) \
tkStubImg.$(OBJEXT)
TCL_DOCS = "$(TCL_SRC_DIR_NATIVE)"/doc/*.[13n]
TK_DOCS = "$(ROOT_DIR_NATIVE)"/doc/*.[13n]
CORE_DOCS = $(TCL_DOCS) $(TK_DOCS)
DEMOPROGS = browse hello ixset rmt rolodex square tcolor timer widget
# Main targets. The default target -- all -- builds the binaries,
# performs any post processing on libraries or documents.
all: binaries libraries doc
binaries: @LIBRARIES@ $(WISH)
libraries:
$(ROOT_DIR)/doc/man.macros:
$(INSTALL_DATA) "$(TCL_SRC_DIR)/doc/man.macros" "$(ROOT_DIR)/doc/man.macros"
doc: $(ROOT_DIR)/doc/man.macros
winhelp: $(TCL_SRC_DIR_NATIVE)/tools/man2help.tcl $(MAN2TCL)
TCL_LIBRARY="$(TCL_SRC_DIR_NATIVE)/library"; export TCL_LIBRARY; \
TK_LIBRARY="$(ROOT_DIR_NATIVE)/library"; export TK_LIBRARY; \
PATH="$(PATH):$(TCL_BIN_DIR)"; export PATH; \
$(TCLSH_PROG) "$(TCL_SRC_DIR_NATIVE)/tools/man2help.tcl" tcl "$(VER)" $(CORE_DOCS)
$(COPY) "$(TCL_BIN_DIR)"/tcl.hpj ./
hcw /c /e tcl.hpj
$(COPY) ./tcl$(VER).cnt ./TCL$(VER).HLP "$(TCL_SRC_DIR_NATIVE)"/tools/
$(MAN2TCL): $(TCL_SRC_DIR_NATIVE)/tools/man2tcl.c
$(CC) $(CFLAGS_OPTIMIZE) $(MAN2TCLFLAGS) -o $(MAN2TCL) "$(TCL_SRC_DIR_NATIVE)"/tools/man2tcl.c
# Specifying TESTFLAGS on the command line is the standard way to pass
# args to tcltest, ie:
# % make test TESTFLAGS="-verbose bps -file fileName.test"
test: binaries $(TKTEST)
@TCL_LIBRARY="$(TCL_SRC_DIR_NATIVE)/library"; export TCL_LIBRARY; \
TK_LIBRARY="$(ROOT_DIR_NATIVE)/library"; export TK_LIBRARY; \
PATH="$(PATH):$(TCL_BIN_DIR)"; export PATH; \
./$(TKTEST) "$(ROOT_DIR_NATIVE)/tests/all.tcl" $(TESTFLAGS) \
| ./$(CAT32)
runtest: binaries $(TKTEST)
@TCL_LIBRARY="$(TCL_SRC_DIR_NATIVE)/library"; export TCL_LIBRARY; \
TK_LIBRARY="$(ROOT_DIR_NATIVE)/library"; export TK_LIBRARY; \
PATH="$(PATH):$(TCL_BIN_DIR)"; export PATH; \
./$(TKTEST) $(TESTFLAGS) $(SCRIPT)
# This target can be used to run wish from the build directory
# via `make shell` or `make shell SCRIPT=foo.tcl`
shell: binaries
@TCL_LIBRARY="$(TCL_SRC_DIR_NATIVE)/library"; export TCL_LIBRARY; \
TK_LIBRARY="$(ROOT_DIR_NATIVE)/library"; export TK_LIBRARY; \
PATH="$(PATH):$(TCL_BIN_DIR)"; export PATH; \
./$(WISH) $(SCRIPT)
# This target can be used to run wish inside either gdb or insight
gdb: binaries
@echo "set env TCL_LIBRARY=$(TCL_SRC_DIR_NATIVE)/library" > gdb.run
@echo "set env TK_LIBRARY=$(ROOT_DIR_NATIVE)/library" >> gdb.run
PATH="$(PATH):$(TCL_BIN_DIR)"; export PATH; \
gdb ./$(WISH) --command=gdb.run
@$(RM) gdb.run
install: all install-binaries install-libraries install-doc install-demos
install-binaries: binaries
@for i in $(LIB_INSTALL_DIR) $(BIN_INSTALL_DIR) $(PKG_INSTALL_DIR); \
do \
if [ ! -d $$i ] ; then \
echo "Making directory $$i"; \
$(MKDIR) $$i; \
chmod 755 $$i; \
else true; \
fi; \
done;
@for i in $(TK_DLL_FILE) $(WISH); \
do \
if [ -f $$i ]; then \
echo "Installing $$i to $(BIN_INSTALL_DIR)/"; \
$(COPY) $$i "$(BIN_INSTALL_DIR)"; \
fi; \
done
@echo "Creating package index $(PKG_INDEX)";
@$(RM) $(PKG_INDEX);
@(\
echo "if {[package vcompare [package provide Tcl]\
$(TCLVERSION)] != 0} { return }";\
echo "package ifneeded Tk $(VERSION)\
[list load [file join \$$dir .. .. bin $(TK_DLL_FILE)] Tk]";\
) > $(PKG_INDEX);
@for i in tkConfig.sh $(TK_LIB_FILE) $(TK_STUB_LIB_FILE); \
do \
if [ -f $$i ]; then \
echo "Installing $$i to $(LIB_INSTALL_DIR)/"; \
$(COPY) $$i "$(LIB_INSTALL_DIR)"; \
fi; \
done
install-libraries: libraries
@for i in $(INSTALL_ROOT)$(prefix)/lib \
$(INCLUDE_INSTALL_DIR) $(INCLUDE_INSTALL_DIR)/X11 \
$(SCRIPT_INSTALL_DIR) $(SCRIPT_INSTALL_DIR)/images \
$(SCRIPT_INSTALL_DIR)/msgs; \
do \
if [ ! -d $$i ] ; then \
echo "Making directory $$i"; \
$(MKDIR) $$i; \
chmod 755 $$i; \
else true; \
fi; \
done;
@echo "Installing header files to $(INCLUDE_INSTALL_DIR)/";
@for i in $(GENERIC_DIR)/tk.h $(GENERIC_DIR)/tkPlatDecls.h \
$(GENERIC_DIR)/tkIntXlibDecls.h $(GENERIC_DIR)/tkDecls.h ; \
do \
$(INSTALL_DATA) $$i $(INCLUDE_INSTALL_DIR); \
done;
@for i in $(XLIB_DIR)/X11/*.h; \
do \
$(INSTALL_DATA) $$i $(INCLUDE_INSTALL_DIR)/X11; \
done;
@echo "Installing library files to $(SCRIPT_INSTALL_DIR)";
@for i in $(ROOT_DIR)/library/*.tcl $(GENERIC_DIR)/prolog.ps \
$(ROOT_DIR)/library/tclIndex $(UNIX_DIR)/tkAppInit.c; \
do \
$(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR); \
done;
@echo "Installing library images directory";
@for i in $(ROOT_DIR)/library/images/*; \
do \
if [ -f $$i ] ; then \
$(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR)/images; \
fi; \
done;
@echo "Installing translation directory";
@for i in $(ROOT_DIR)/library/msgs/*.msg; \
do \
if [ -f $$i ] ; then \
$(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR)/msgs; \
fi; \
done;
install-demos:
@for i in $(INSTALL_ROOT)$(prefix)/lib $(SCRIPT_INSTALL_DIR) \
$(SCRIPT_INSTALL_DIR)/demos \
$(SCRIPT_INSTALL_DIR)/demos/images ; \
do \
if [ ! -d $$i ] ; then \
echo "Making directory $$i"; \
$(MKDIR) $$i; \
chmod 755 $$i; \
else true; \
fi; \
done;
@echo "Installing demos to $(SCRIPT_INSTALL_DIR)/demos/";
@for i in $(ROOT_DIR)/library/demos/*; \
do \
if [ -f $$i ] ; then \
sed -e '3 s|exec $(WISH)|exec $(WISH)|' \
$$i > $(SCRIPT_INSTALL_DIR)/demos/`basename $$i`; \
fi; \
done;
@for i in $(DEMOPROGS); \
do \
chmod 755 $(SCRIPT_INSTALL_DIR)/demos/$$i; \
done;
@echo "Installing demo images";
@for i in $(ROOT_DIR)/library/demos/images/*; \
do \
if [ -f $$i ] ; then \
$(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR)/demos/images; \
fi; \
done;
install-doc: doc
$(WISH): $(TK_LIB_FILE) $(TK_STUB_LIB_FILE) $(WISH_OBJS) wish.$(RES)
$(CC) $(CFLAGS) $(WISH_OBJS) $(TCL_LIB_FILE) $(TK_LIB_FILE) $(LIBS) \
wish.$(RES) $(CC_EXENAME) $(LDFLAGS_WINDOW)
tktest : $(TKTEST)
$(TKTEST): $(TK_LIB_FILE) $(TKTEST_OBJS) wish.$(RES) $(CAT32)
$(CC) $(CFLAGS) $(TKTEST_OBJS) $(TCL_LIB_FILE) \
$(TK_LIB_FILE) $(LIBS) \
wish.$(RES) $(CC_EXENAME) $(LDFLAGS_WINDOW)
# Msys make requires this next rule for some reason.
$(TCL_SRC_DIR)/win/cat.c:
cat32.${OBJEXT}: $(TCL_SRC_DIR)/win/cat.c
$(CC) -c $(CC_SWITCHES) @DEPARG@ $(CC_OBJNAME)
$(CAT32): cat32.${OBJEXT}
$(CC) $(CFLAGS) cat32.$(OBJEXT) $(CC_EXENAME) $(LDFLAGS_CONSOLE)
# The following targets are configured by autoconf to generate either
# a shared library or static library
${TK_STUB_LIB_FILE}: ${STUB_OBJS}
@$(RM) ${TK_STUB_LIB_FILE}
@MAKE_LIB@ ${STUB_OBJS}
@POST_MAKE_LIB@
${TK_DLL_FILE}: ${TK_OBJS} $(TK_RES)
@$(RM) ${TK_DLL_FILE}
@MAKE_DLL@ ${TK_OBJS} $(TK_RES) $(SHLIB_LD_LIBS)
${TK_LIB_FILE}: ${TK_OBJS}
@$(RM) ${TK_LIB_FILE}
@MAKE_LIB@ ${TK_OBJS}
@POST_MAKE_LIB@
# Special case object file targets
winMain.$(OBJEXT): winMain.c
$(CC) -c $(CC_SWITCHES) @DEPARG@ $(CC_OBJNAME)
testMain.$(OBJEXT): winMain.c
$(CC) -c $(CC_SWITCHES) @DEPARG@ -DTK_TEST $(CC_OBJNAME)
tkTest.$(OBJEXT): tkTest.c
$(CC) -c $(CC_SWITCHES) @DEPARG@ $(CC_OBJNAME)
tkWinTest.$(OBJEXT): tkWinTest.c
$(CC) -c $(CC_SWITCHES) @DEPARG@ $(CC_OBJNAME)
tkSquare.$(OBJEXT): tkSquare.c
$(CC) -c $(CC_SWITCHES) @DEPARG@ $(CC_OBJNAME)
# Add the object extension to the implicit rules. By default .obj is not
# automatically added.
.SUFFIXES: .${OBJEXT}
.SUFFIXES: .$(RES)
.SUFFIXES: .rc
# Implicit rule for all object files that will end up in the Tcl library
.c.$(OBJEXT):
$(CC) -c $(STUB_CC_SWITCHES) -DBUILD_tk @DEPARG@ $(CC_OBJNAME)
.rc.$(RES):
$(RC) @RC_OUT@ $@ @RC_TYPE@ @RC_DEFINES@ @RC_INCLUDE@ "$(GENERIC_DIR_NATIVE)" @RC_INCLUDE@ "$(TCL_GENERIC_NATIVE)" @RC_INCLUDE@ "$(RC_DIR_NATIVE)" @DEPARG@
depend:
cleanhelp:
$(RM) *.hlp *.cnt *.hpj *.GID *.rtf man2tcl${EXEEXT}
clean: cleanhelp
$(RM) *.lib *.a *.exp *.dll *.res *.${OBJEXT} *~ \#* TAGS a.out
$(RM) $(WISH) $(TKTEST) $(CAT32)
$(RM) *.pch *.ilk *.pdb
distclean: clean
$(RM) Makefile config.status config.cache config.log tkConfig.sh
Makefile: $(SRC_DIR)/Makefile.in
./config.status
#
# Regenerate the stubs files.
#
$(GENERIC_DIR)/tkStubInit.c: $(GENERIC_DIR)/tk.decls \
$(GENERIC_DIR)/tkInt.decls
@echo "Warning: tkStubInit.c may be out of date."
@echo "Developers may want to run \"make genstubs\" to regenerate."
@echo "This warning can be safely ignored, do not report as a bug!"
genstubs:
$(TCL_EXE) "$(TCL_TOOL_DIR}\genStubs.tcl" \
"$(GENERIC_DIR_NATIVE)" \
"$(GENERIC_DIR_NATIVE)\tk.decls" \
"$(GENERIC_DIR_NATIVE)\tkInt.decls"