From 2c38d7f94081181c16b469516ddb54c703d54516 Mon Sep 17 00:00:00 2001 From: mdejong Date: Sun, 25 Nov 2001 06:43:43 +0000 Subject: * unix/Makefile.in: Add comments to better describe TCL_EXE and when it should be available. Add rule that prints message about running `make genstubs` when tkStubInit.c is out of date. * win/Makefile.in: Add TCL_TOOL_DIR and TCL_EXE variables to better match the Tcl Makefile. Add genstubs rule so tkSTubInit.c can be regenerated. --- ChangeLog | 10 ++++++++++ unix/Makefile.in | 20 +++++++++++++------- win/Makefile.in | 24 +++++++++++++++++++++++- 3 files changed, 46 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9ebd884..d59207a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,15 @@ 2001-11-24 Mo DeJong + * unix/Makefile.in: Add comments to better describe + TCL_EXE and when it should be available. Add + rule that prints message about running `make genstubs` + when tkStubInit.c is out of date. + * win/Makefile.in: Add TCL_TOOL_DIR and TCL_EXE + variables to better match the Tcl Makefile. Add + genstubs rule so tkSTubInit.c can be regenerated. + +2001-11-24 Mo DeJong + * win/configure: Regen. * win/configure.in: Don't AC_SUBST CFLAGS_DEBUG, CFLAGS_OPTIMIZE, or CFLAGS_WARNING since it is now done in SC_CONFIG_CFLAGS. diff --git a/unix/Makefile.in b/unix/Makefile.in index dec269a..0b01806 100644 --- a/unix/Makefile.in +++ b/unix/Makefile.in @@ -5,7 +5,7 @@ # "autoconf" program (constructs like "@foo@" will get replaced in the # actual Makefile. # -# RCS: @(#) $Id: Makefile.in,v 1.57 2001/11/23 02:04:21 das Exp $ +# RCS: @(#) $Id: Makefile.in,v 1.58 2001/11/25 06:43:44 mdejong Exp $ # Current Tk version; used in various names. @@ -164,11 +164,11 @@ INSTALL = @srcdir@/install-sh -c INSTALL_PROGRAM = ${INSTALL} INSTALL_DATA = ${INSTALL} -m 644 -# The following specifies which Tcl executable to use for make targets -# below. This can generally be 'tclsh', meaning all targets will work -# once we have created the initial executable, but in some cases you -# may want to use a target without having made tclsh on these sources -# (like for make genstubs) +# 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 # The symbols below provide support for dynamic loading and shared @@ -962,9 +962,15 @@ checkuchar: checkexports: $(TK_LIB_FILE) -nm -p $(TK_LIB_FILE) | awk '$$2 ~ /[TDB]/ { print $$3 }' | sort -n | grep -v '^[Tt]k' -# Target to regenerate header files and stub files from the *.decls tables. + +# +# Regenerate the stubs files. # +$(GENERIC_DIR)/tkStubInit.c: $(GENERIC_DIR)/tk.decls \ + $(GENERIC_DIR)/tkInt.decls + @echo "Warning: run \"make genstubs\" to regenerate tkStubInit.c" + genstubs: $(TCL_EXE) $(TOOL_DIR)/genStubs.tcl $(GENERIC_DIR) \ $(GENERIC_DIR)/tk.decls $(GENERIC_DIR)/tkInt.decls diff --git a/win/Makefile.in b/win/Makefile.in index c8b4c4c..946125f 100644 --- a/win/Makefile.in +++ b/win/Makefile.in @@ -4,7 +4,7 @@ # "autoconf" program (constructs like "@foo@" will get replaced in the # actual Makefile. # -# RCS: @(#) $Id: Makefile.in,v 1.45 2001/11/11 03:21:24 mdejong Exp $ +# RCS: @(#) $Id: Makefile.in,v 1.46 2001/11/25 06:43:44 mdejong Exp $ TCLVERSION = @TCL_VERSION@ VERSION = @TK_VERSION@ @@ -84,6 +84,7 @@ TCL_BIN_DIR = @TCL_BIN_DIR@ # 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@ @@ -186,6 +187,13 @@ 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}" \ @@ -592,3 +600,17 @@ distclean: clean 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: run \"make genstubs\" to regenerate tkStubInit.c" + +genstubs: + $(TCL_EXE) "$(TCL_TOOL_DIR}\genStubs.tcl" \ + "$(GENERIC_DIR_NATIVE)" \ + "$(GENERIC_DIR_NATIVE)\tk.decls" \ + "$(GENERIC_DIR_NATIVE)\tkInt.decls" -- cgit v0.12