# 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.44.2.3 2002/08/20 20:27:18 das 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)') TCL_BIN_DIR_NATIVE = $(shell $(CYGPATH) '$(TCL_BIN_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} TCLTEST = $(TCL_BIN_DIR)/tcltest${EXEEXT} 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@ 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) TCLTEST_OBJS = \ ${TCL_BIN_DIR}/tclThreadTest.$(OBJEXT) TCLTEST_OBJS_NATIVE = \ "${TCL_BIN_DIR_NATIVE}/tclThreadTest.$(OBJEXT)" TKTEST_OBJS = \ $(TCLTEST_OBJS) \ testMain.$(OBJEXT) \ tkSquare.$(OBJEXT) \ tkTest.$(OBJEXT) \ tkWinTest.$(OBJEXT) TKTEST_OBJS_NATIVE = \ $(TCLTEST_OBJS_NATIVE) \ 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; \ 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; 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) # This rule is executed if the user tried to run tktest without first # building tcltest in the Tcl bin directory. Just do it for them. $(TCLTEST): cd ${TCL_BIN_DIR} ; \ $(MAKE) tcltest $(TKTEST): $(TCLTEST) $(TK_LIB_FILE) $(TKTEST_OBJS) wish.$(RES) $(CAT32) $(CC) $(CFLAGS) $(TKTEST_OBJS_NATIVE) $(TCL_LIB_FILE) \ $(TK_LIB_FILE) $(LIBS) \ wish.$(RES) $(CC_EXENAME) $(LDFLAGS_WINDOW) 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) tclThreadTest.$(OBJEXT): $(TCL_BIN_DIR)/tclThreadTest.$(OBJEXT) # 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"