diff options
Diffstat (limited to 'unix/Makefile.in')
-rw-r--r-- | unix/Makefile.in | 613 |
1 files changed, 392 insertions, 221 deletions
diff --git a/unix/Makefile.in b/unix/Makefile.in index 8a3856b..1a2f6f5 100644 --- a/unix/Makefile.in +++ b/unix/Makefile.in @@ -34,6 +34,7 @@ exec_prefix = @exec_prefix@ bindir = @bindir@ libdir = @libdir@ includedir = @includedir@ +datarootdir = @datarootdir@ mandir = @mandir@ # The following definition can be set to non-null for special systems @@ -56,7 +57,6 @@ 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) -DLL_INSTALL_DIR = @DLL_INSTALL_DIR@ # Path name to use when installing library scripts. SCRIPT_INSTALL_DIR = $(INSTALL_ROOT)$(TK_LIBRARY) @@ -90,11 +90,21 @@ HTML_DIR = @HTML_DIR@ # Directory in which to install html documentation: HTML_INSTALL_DIR = $(INSTALL_ROOT)$(HTML_DIR) +# Directory in which to install the configuration file tkConfig.sh: +CONFIG_INSTALL_DIR = $(INSTALL_ROOT)$(libdir) + +# Directory in which to install the demo files: +DEMO_INSTALL_DIR = $(INSTALL_ROOT)$(TK_LIBRARY)/demos + # 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 +# The directory containing the platform specific Tcl sources and headers +# appropriate for this version of Tk: +TCL_PLATFORM_DIR = @TCL_SRC_DIR@/unix + # The directory containing the Tcl library archive file appropriate # for this version of Tk: TCL_BIN_DIR = @TCL_BIN_DIR@ @@ -102,9 +112,6 @@ TCL_BIN_DIR = @TCL_BIN_DIR@ # The linker flags needed to link in the Tcl library (ex: -ltcl8.2) TCL_LIB_FLAG = @TCL_LIB_FLAG@ -# Libraries built with optimization switches have this additional extension -TK_DBGX = @TK_DBGX@ - # Flag, 1: we're building a shared lib, 0 we're not TK_SHARED_BUILD = @TK_SHARED_BUILD@ @@ -147,7 +154,7 @@ AQUA_INCLUDES = -I$(MAC_OSX_DIR) -I$(XLIB_DIR) # Linker switch(es) to use to link with the X11 library archive (the # configure script will try to set this value automatically, but you # can override it). -X11_LIB_SWITCHES = @XLIBSW@ +X11_LIB_SWITCHES = @XLIBSW@ $(XFT_LIBS) # To turn off the security checks that disallow incoming sends when @@ -184,7 +191,7 @@ NO_DEPRECATED_FLAGS = -DTCL_NO_DEPRECATED # Some versions of make, like SGI's, use the following variable to # determine which shell to use for executing commands: -SHELL = /bin/sh +SHELL = @SHELL@ # BUILD_TCLSH is the fully qualified path name of the tclsh shell # in the Tcl build directory. Test that need to be run in the @@ -192,7 +199,7 @@ SHELL = /bin/sh # path. Targets that need an installed tclsh should not depend # on this variable. -BUILD_TCLSH = @BUILD_TCLSH@ +BUILD_TCLSH = @BUILD_TCLSH@@EXEEXT@ # TCL_EXE is the name of a tclsh executable that is available *BEFORE* # running make for the first time. Certain build targets (make genstubs) @@ -207,7 +214,7 @@ TCL_EXE = @TCLSH_PROG@ # with the distribution, which is slower but guaranteed to work. INSTALL_STRIP_PROGRAM = -s -INSTALL_STRIP_LIBRARY = -S -S +INSTALL_STRIP_LIBRARY = -S -x INSTALL = @srcdir@/install-sh -c INSTALL_PROGRAM = ${INSTALL} @@ -245,15 +252,13 @@ TCL_LIB_SPEC = @TCL_LIB_SPEC@ TCL_STUB_LIB_SPEC = @TCL_STUB_LIB_SPEC@ TCL_STUB_LIB_FLAG = @TCL_STUB_LIB_FLAG@ TCL_STUB_LIB_FILE = @TCL_STUB_LIB_FILE@ -TK_EXP_FILE = @TK_EXP_FILE@ -TK_BUILD_EXP_FILE = @TK_BUILD_EXP_FILE@ TCL_STUB_FLAGS = @TCL_STUB_FLAGS@ # Libraries to use when linking. This definition is determined by the # configure script. -LIBS = @LIBS@ $(X11_LIB_SWITCHES) @DL_LIBS@ @MATH_LIBS@ -WISH_LIBS = $(TCL_LIB_SPEC) @LIBS@ $(X11_LIB_SWITCHES) @DL_LIBS@ @MATH_LIBS@ @EXTRA_WISH_LIBS@ +LIBS = @LIBS@ $(X11_LIB_SWITCHES) @TCL_LIBS@ +WISH_LIBS = $(TCL_LIB_SPEC) @LIBS@ $(X11_LIB_SWITCHES) @TCL_LIBS@ @EXTRA_WISH_LIBS@ # The symbols below provide support for dynamic loading and shared # libraries. See configure.in for a description of what the @@ -281,6 +286,10 @@ WISH_RSRC_FILE = @WISH_RSRC_FILE@ REZ = @REZ@ REZ_SWITCHES = @REZ_FLAGS@ -i $(GENERIC_DIR) -i $(TCL_GENERIC_DIR) +# support for Xft: +XFT_CFLAGS = @XFT_CFLAGS@ +XFT_LIBS = @XFT_LIBS@ + #---------------------------------------------------------------- # The information below is modified by the configure script when # Makefile is generated from Makefile.in. You shouldn't normally @@ -293,9 +302,11 @@ RANLIB = @RANLIB@ SRC_DIR = @srcdir@ TOP_DIR = $(SRC_DIR)/.. GENERIC_DIR = $(TOP_DIR)/generic -UNIX_DIR = $(SRC_DIR) +TTK_DIR = $(GENERIC_DIR)/ttk +UNIX_DIR = $(TOP_DIR)/unix BMAP_DIR = $(TOP_DIR)/bitmaps TOOL_DIR = @TCL_SRC_DIR@/tools +TEST_DIR = $(TOP_DIR)/tests MAC_OSX_DIR = $(TOP_DIR)/macosx XLIB_DIR = $(TOP_DIR)/xlib @@ -305,30 +316,31 @@ XLIB_DIR = $(TOP_DIR)/xlib # either. #---------------------------------------------------------------- -# Flags to be passed to installManPage to control whether the manpages -# should be compressed and linked with softlinks +# Flags to be passed to installManPage to control how the manpages +# should be installed (symlinks, compression, package name suffix). MAN_FLAGS = @MAN_FLAGS@ CC = @CC@ CC_SWITCHES_NO_STUBS = ${CFLAGS} ${CFLAGS_WARNING} ${SHLIB_CFLAGS} \ -I${UNIX_DIR} -I${GENERIC_DIR} -I${BMAP_DIR} -I${TCL_GENERIC_DIR} \ -${@TK_WINDOWINGSYSTEM@_INCLUDES} ${AC_FLAGS} ${PROTO_FLAGS} ${SECURITY_FLAGS} \ -${MEM_DEBUG_FLAGS} ${KEYSYM_FLAGS} ${NO_DEPRECATED_FLAGS} @EXTRA_CC_SWITCHES@ +-I${TCL_PLATFORM_DIR} ${@TK_WINDOWINGSYSTEM@_INCLUDES} ${AC_FLAGS} \ +${PROTO_FLAGS} ${SECURITY_FLAGS} ${MEM_DEBUG_FLAGS} ${KEYSYM_FLAGS} \ +${NO_DEPRECATED_FLAGS} @EXTRA_CC_SWITCHES@ CC_SWITCHES = $(CC_SWITCHES_NO_STUBS) ${TCL_STUB_FLAGS} APP_CC_SWITCHES = $(CC_SWITCHES_NO_STUBS) @EXTRA_APP_CC_SWITCHES@ -DEPEND_SWITCHES = ${CFLAGS} -I${UNIX_DIR} -I${GENERIC_DIR} \ --I${BMAP_DIR} \ --I${TCL_GENERIC_DIR} ${@TK_WINDOWINGSYSTEM@_INCLUDES} \ +DEPEND_SWITCHES = ${CFLAGS} -I${UNIX_DIR} -I${GENERIC_DIR} -I${BMAP_DIR} \ +-I${TCL_GENERIC_DIR} -I${TCL_PLATFORM_DIR} ${@TK_WINDOWINGSYSTEM@_INCLUDES} \ ${AC_FLAGS} ${PROTO_FLAGS} ${SECURITY_FLAGS} ${MEM_DEBUG_FLAGS} \ ${KEYSYM_FLAGS} @EXTRA_CC_SWITCHES@ WISH_OBJS = tkAppInit.o -TKTEST_OBJS = tkTestInit.o tkTest.o tkSquare.o +TKTEST_OBJS = tkTestInit.o tkTest.o tkSquare.o tkOldTest.o \ + $(@TK_WINDOWINGSYSTEM@_TKTEST_OBJS) WIDG_OBJS = tkButton.o tkEntry.o tkFrame.o tkListbox.o \ tkMenu.o tkMenubutton.o tkMenuDraw.o tkMessage.o \ @@ -343,19 +355,32 @@ IMAGE_OBJS = tkImage.o tkImgBmap.o tkImgGIF.o tkImgPPM.o tkImgPhoto.o TEXT_OBJS = tkText.o tkTextBTree.o tkTextDisp.o tkTextImage.o tkTextIndex.o \ tkTextMark.o tkTextTag.o tkTextWind.o +# either tkUnixFont.o (default) or tkUnixRFont.o (if --enable-xft) +# +FONT_OBJS = @UNIX_FONT_OBJS@ + GENERIC_OBJS = tk3d.o tkArgv.o tkAtom.o tkBind.o tkBitmap.o tkClipboard.o \ tkCmds.o tkColor.o tkConfig.o tkConsole.o tkCursor.o tkError.o \ tkEvent.o tkFocus.o tkFont.o tkGet.o tkGC.o tkGeometry.o tkGrab.o \ tkGrid.o tkMain.o tkObj.o tkOldConfig.o tkOption.o tkPack.o tkPlace.o \ tkSelect.o tkStyle.o tkUndo.o tkUtil.o tkVisual.o tkWindow.o +TTK_OBJS = \ + ttkBlink.o ttkButton.o ttkCache.o ttkClamTheme.o ttkClassicTheme.o \ + ttkDefaultTheme.o ttkElements.o ttkEntry.o ttkFrame.o ttkImage.o \ + ttkInit.o ttkLabel.o ttkLayout.o ttkManager.o ttkNotebook.o \ + ttkPanedwindow.o ttkProgress.o ttkScale.o ttkScrollbar.o ttkScroll.o \ + ttkSeparator.o ttkSquare.o ttkState.o \ + ttkTagSet.o ttkTheme.o ttkTrace.o ttkTrack.o ttkTreeview.o \ + ttkWidget.o ttkStubInit.o + STUB_OBJS = tkStubInit.o tkStubLib.o -STUB_LIB_OBJS = tkStubLib.o tkStubImg.o +STUB_LIB_OBJS = tkStubLib.o ttkStubLib.o X11_OBJS = tkUnix.o tkUnix3d.o tkUnixButton.o tkUnixColor.o tkUnixConfig.o \ tkUnixCursor.o tkUnixDraw.o tkUnixEmbed.o tkUnixEvent.o \ - tkUnixFocus.o tkUnixFont.o tkUnixInit.o tkUnixKey.o tkUnixMenu.o \ + tkUnixFocus.o $(FONT_OBJS) tkUnixInit.o tkUnixKey.o tkUnixMenu.o \ tkUnixMenubu.o tkUnixScale.o tkUnixScrlbr.o tkUnixSelect.o \ tkUnixSend.o tkUnixWm.o tkUnixXId.o @@ -366,18 +391,25 @@ AQUA_OBJS = tkMacOSXBitmap.o tkMacOSXButton.o tkMacOSXClipboard.o \ tkMacOSXKeyboard.o tkMacOSXKeyEvent.o tkMacOSXMenu.o \ tkMacOSXMenubutton.o tkMacOSXMenus.o tkMacOSXMouseEvent.o \ tkMacOSXNotify.o tkMacOSXRegion.o tkMacOSXScrlbr.o tkMacOSXSend.o \ - tkMacOSXSubwindows.o tkMacOSXTest.o tkMacOSXWindowEvent.o \ + tkMacOSXSubwindows.o tkMacOSXWindowEvent.o \ tkMacOSXWm.o tkMacOSXXStubs.o tkMacOSXCarbonEvents.o \ tkFileFilter.o tkMacWinMenu.o tkPointer.o tkUnix3d.o tkUnixScale.o \ - xcolors.o xdraw.o xgc.o ximage.o xutil.o + xcolors.o xdraw.o xgc.o ximage.o xutil.o \ + ttkMacOSXTheme.o + +AQUA_TKTEST_OBJS = tkMacOSXTest.o OBJS = $(GENERIC_OBJS) $(WIDG_OBJS) $(CANV_OBJS) $(IMAGE_OBJS) $(TEXT_OBJS) \ - $(STUB_OBJS) $(@TK_WINDOWINGSYSTEM@_OBJS) @PLAT_OBJS@ + $(STUB_OBJS) $(TTK_OBJS) \ + $(@TK_WINDOWINGSYSTEM@_OBJS) @PLAT_OBJS@ TK_DECLS = \ $(GENERIC_DIR)/tk.decls \ $(GENERIC_DIR)/tkInt.decls +TTK_DECLS = \ + $(TTK_DIR)/ttk.decls + GENERIC_SRCS = \ $(GENERIC_DIR)/tk3d.c $(GENERIC_DIR)/tkArgv.c \ $(GENERIC_DIR)/tkAtom.c $(GENERIC_DIR)/tkBind.c \ @@ -414,10 +446,44 @@ GENERIC_SRCS = \ $(GENERIC_DIR)/tkTextImage.c \ $(GENERIC_DIR)/tkTextIndex.c $(GENERIC_DIR)/tkTextMark.c \ $(GENERIC_DIR)/tkTextTag.c $(GENERIC_DIR)/tkTextWind.c \ - $(GENERIC_DIR)/tkOldConfig.c \ + $(GENERIC_DIR)/tkOldConfig.c $(GENERIC_DIR)/tkOldTest.c \ $(GENERIC_DIR)/tkSquare.c $(GENERIC_DIR)/tkTest.c \ $(GENERIC_DIR)/tkStubInit.c $(GENERIC_DIR)/tkStubLib.c +TTK_SRCS = \ + $(TTK_DIR)/ttkBlink.c \ + $(TTK_DIR)/ttkButton.c \ + $(TTK_DIR)/ttkCache.c \ + $(TTK_DIR)/ttkClamTheme.c \ + $(TTK_DIR)/ttkClassicTheme.c \ + $(TTK_DIR)/ttkDefaultTheme.c \ + $(TTK_DIR)/ttkElements.c \ + $(TTK_DIR)/ttkEntry.c \ + $(TTK_DIR)/ttkFrame.c \ + $(TTK_DIR)/ttkImage.c \ + $(TTK_DIR)/ttkInit.c \ + $(TTK_DIR)/ttkLabel.c \ + $(TTK_DIR)/ttkLayout.c \ + $(TTK_DIR)/ttkManager.c \ + $(TTK_DIR)/ttkNotebook.c \ + $(TTK_DIR)/ttkPanedwindow.c \ + $(TTK_DIR)/ttkProgress.c \ + $(TTK_DIR)/ttkScale.c \ + $(TTK_DIR)/ttkScrollbar.c \ + $(TTK_DIR)/ttkScroll.c \ + $(TTK_DIR)/ttkSeparator.c \ + $(TTK_DIR)/ttkSquare.c \ + $(TTK_DIR)/ttkState.c \ + $(TTK_DIR)/ttkTagSet.c \ + $(TTK_DIR)/ttkTheme.c \ + $(TTK_DIR)/ttkTrace.c \ + $(TTK_DIR)/ttkTrack.c \ + $(TTK_DIR)/ttkTreeview.c \ + $(TTK_DIR)/ttkWidget.c + +TTK_STUB_SRCS = \ + $(TTK_DIR)/ttkStubInit.c $(TTK_DIR)/ttkStubLib.c + X11_SRCS = \ $(UNIX_DIR)/tkAppInit.c $(UNIX_DIR)/tkUnix.c \ $(UNIX_DIR)/tkUnix3d.c \ @@ -427,6 +493,7 @@ X11_SRCS = \ $(UNIX_DIR)/tkUnixDraw.c \ $(UNIX_DIR)/tkUnixEmbed.c $(UNIX_DIR)/tkUnixEvent.c \ $(UNIX_DIR)/tkUnixFocus.c \ + $(UNIX_DIR)/tkUnixRFont.c \ $(UNIX_DIR)/tkUnixFont.c $(UNIX_DIR)/tkUnixInit.c \ $(UNIX_DIR)/tkUnixKey.c \ $(UNIX_DIR)/tkUnixMenu.c $(UNIX_DIR)/tkUnixMenubu.c \ @@ -455,7 +522,8 @@ AQUA_SRCS = \ $(GENERIC_DIR)/tkFileFilter.c $(GENERIC_DIR)/tkMacWinMenu.c \ $(GENERIC_DIR)/tkPointer.c $(UNIX_DIR)/tkUnix3d.c \ $(UNIX_DIR)/tkUnixScale.c $(XLIB_DIR)/xcolors.c $(XLIB_DIR)/xdraw.c \ - $(XLIB_DIR)/xgc.c $(XLIB_DIR)/ximage.c $(XLIB_DIR)/xutil.c + $(XLIB_DIR)/xgc.c $(XLIB_DIR)/ximage.c $(XLIB_DIR)/xutil.c \ + $(TTK_DIR)/ttkMacOSXTheme.c SRCS = $(GENERIC_SRCS) $(@TK_WINDOWINGSYSTEM@_SRCS) @PLAT_SRCS@ @@ -473,15 +541,28 @@ AQUA_PRIVATE_HDRS = $(MAC_OSX_DIR)/tkMacOSXPort.h $(MAC_OSX_DIR)/tkMacOSXInt.h X11_PRIVATE_HDRS = $(UNIX_DIR)/tkUnixPort.h $(UNIX_DIR)/tkUnixInt.h -HDRS = bltList.h \ - default.h ks_names.h tkPatch.h tk.h tkButton.h tkCanvas.h tkInt.h \ - tkPort.h tkScrollbar.h tkText.h +# Currently private, eventually public +TTK_HDRS = $(TTK_DIR)/ttkTheme.h $(TTK_DIR)/ttkDecls.h + +PUBLIC_HDRS = $(GENERIC_DIR)/tk.h $(GENERIC_DIR)/tkDecls.h \ + $(GENERIC_DIR)/tkPlatDecls.h $(@TK_WINDOWINGSYSTEM@_HDRS) + +# The private headers we want installed for install-private-headers +PRIVATE_HDRS = $(GENERIC_DIR)/tkInt.h $(GENERIC_DIR)/tkIntDecls.h \ + $(GENERIC_DIR)/tkIntPlatDecls.h $(GENERIC_DIR)/tkPort.h \ + $(TTK_HDRS) $(@TK_WINDOWINGSYSTEM@_PRIVATE_HDRS) DEMOPROGS = browse hello ixset rmt rolodex square tcolor timer widget +SHELL_ENV = \ + @LD_LIBRARY_PATH_VAR@="`pwd`:${TCL_BIN_DIR}:$${@LD_LIBRARY_PATH_VAR@}"; \ + export @LD_LIBRARY_PATH_VAR@; \ + TCL_LIBRARY=@TCL_SRC_DIR@/library; export TCL_LIBRARY; \ + TK_LIBRARY=@TK_SRC_DIR@/library; export TK_LIBRARY; + all: binaries libraries doc -binaries: ${LIB_FILE} ${STUB_LIB_FILE} wish +binaries: ${LIB_FILE} ${STUB_LIB_FILE} wish@EXEEXT@ libraries: @@ -522,9 +603,9 @@ tkLibObjs: objs: ${OBJS} -wish: $(WISH_OBJS) $(TK_LIB_FILE) $(TK_STUB_LIB_FILE) @APP_RSRC_FILE@ +wish@EXEEXT@: $(WISH_OBJS) $(TK_LIB_FILE) $(TK_STUB_LIB_FILE) @APP_RSRC_FILE@ ${CC} ${CFLAGS} ${LDFLAGS} $(WISH_OBJS) @TK_BUILD_LIB_SPEC@ \ - $(WISH_LIBS) $(CC_SEARCH_FLAGS) -o wish + $(WISH_LIBS) $(CC_SEARCH_FLAGS) -o wish@EXEEXT@ # Resetting the LIB_RUNTIME_DIR below is required so that # the generated tktest executable gets the build directory @@ -532,12 +613,12 @@ wish: $(WISH_OBJS) $(TK_LIB_FILE) $(TK_STUB_LIB_FILE) @APP_RSRC_FILE@ # picking up an already installed version of the Tcl or # Tk shared libraries. -tktest: $(TKTEST_OBJS) $(TK_LIB_FILE) - $(MAKE) tktest-real LIB_RUNTIME_DIR=`pwd`:$(TCL_BIN_DIR) +tktest@EXEEXT@: $(TKTEST_OBJS) $(TK_LIB_FILE) + $(MAKE) tktest-real LIB_RUNTIME_DIR="`pwd`:$(TCL_BIN_DIR)" tktest-real: ${CC} ${CFLAGS} ${LDFLAGS} $(TKTEST_OBJS) @TK_BUILD_LIB_SPEC@ \ - $(WISH_LIBS) $(CC_SEARCH_FLAGS) -o tktest + $(WISH_LIBS) $(CC_SEARCH_FLAGS) -o tktest@EXEEXT@ # FIXME: This xttest rule seems to be broken in a number of ways. # It should use CC_SEARCH_FLAGS, it does not include the shared @@ -555,52 +636,53 @@ xttest: test.o tkTest.o tkSquare.o $(TK_LIB_FILE) # args to tcltest, ie: # % make test TESTFLAGS="-verbose bps -file fileName.test" -test: tktest - @LD_LIBRARY_PATH_VAR@=`pwd`:${TCL_BIN_DIR}:$${@LD_LIBRARY_PATH_VAR@}; \ - export @LD_LIBRARY_PATH_VAR@; \ - TCL_LIBRARY=@TCL_SRC_DIR@/library; export TCL_LIBRARY; \ - TK_LIBRARY=@TK_SRC_DIR@/library; export TK_LIBRARY; \ - ./tktest $(TOP_DIR)/tests/all.tcl -geometry +0+0 \ - $(TESTFLAGS) $(TCLTESTARGS) +test: test-classic test-ttk + +test-classic: tktest@EXEEXT@ + $(SHELL_ENV) ./tktest@EXEEXT@ $(TEST_DIR)/all.tcl -geometry +0+0 $(TESTFLAGS) + +test-ttk: tktest@EXEEXT@ + $(SHELL_ENV) ./tktest@EXEEXT@ $(TEST_DIR)/ttk/all.tcl -geometry +0+0 \ + $(TESTFLAGS) # Tests with different languages -testlang: tktest - @LD_LIBRARY_PATH_VAR@=`pwd`:${TCL_BIN_DIR}:$${@LD_LIBRARY_PATH_VAR@}; \ - export @LD_LIBRARY_PATH_VAR@; \ - TCL_LIBRARY=@TCL_SRC_DIR@/library; export TCL_LIBRARY; \ - TK_LIBRARY=@TK_SRC_DIR@/library; export TK_LIBRARY; \ +testlang: tktest@EXEEXT@ + $(SHELL_ENV) \ for lang in $(LOCALES) ; \ do \ LANG=$(lang); export LANG; \ - ./tktest $(TOP_DIR)/tests/all.tcl -geometry +0+0 \ - $(TESTFLAGS) $(TCLTESTARGS); \ + ./tktest@EXEEXT@ $(TEST_DIR)/all.tcl -geometry +0+0 \ + $(TESTFLAGS); \ done # Useful target to launch a built tktest with the proper path,... -runtest: tktest - @LD_LIBRARY_PATH_VAR@=`pwd`:${TCL_BIN_DIR}:$${@LD_LIBRARY_PATH_VAR@}; \ - export @LD_LIBRARY_PATH_VAR@; \ - TCL_LIBRARY=@TCL_SRC_DIR@/library; export TCL_LIBRARY; \ - TK_LIBRARY=@TK_SRC_DIR@/library; export TK_LIBRARY; \ - ./tktest +runtest: tktest@EXEEXT@ + $(SHELL_ENV) ./tktest@EXEEXT@ # This target can be used to run wish from the build directory # via `make shell` or `make shell SCRIPT=/tmp/foo.tcl` -shell: wish - @LD_LIBRARY_PATH_VAR@=`pwd`:${TCL_BIN_DIR}:$${@LD_LIBRARY_PATH_VAR@}; \ - export @LD_LIBRARY_PATH_VAR@; \ - TCL_LIBRARY=@TCL_SRC_DIR@/library; export TCL_LIBRARY; \ - TK_LIBRARY=@TK_SRC_DIR@/library; export TK_LIBRARY; \ - ./wish $(SCRIPT) +shell: wish@EXEEXT@ + $(SHELL_ENV) ./wish@EXEEXT@ $(SCRIPT) + +demo: + $(SHELL_ENV) ./wish@EXEEXT@ $(TOP_DIR)/library/demos/widget # This target can be used to run wish inside either gdb or insight -gdb: wish - @echo "set env @LD_LIBRARY_PATH_VAR@=`pwd`:${TCL_BIN_DIR}:$${@LD_LIBRARY_PATH_VAR@}" > gdb.run +gdb: wish@EXEEXT@ + @echo "set env @LD_LIBRARY_PATH_VAR@=\"`pwd`:${TCL_BIN_DIR}:$${@LD_LIBRARY_PATH_VAR@}\"" > gdb.run @echo "set env TCL_LIBRARY=@TCL_SRC_DIR@/library" >> gdb.run @echo "set env TK_LIBRARY=@TK_SRC_DIR@/library" >> gdb.run - gdb ./wish --command=gdb.run + gdb ./wish@EXEEXT@ --command=gdb.run rm gdb.run +VALGRINDARGS=--tool=memcheck --num-callers=8 --leak-resolution=high --leak-check=yes --show-reachable=yes -v + +valgrind: tktest@EXEEXT@ + $(SHELL_ENV) valgrind $(VALGRINDARGS) ./tktest@EXEEXT@ $(TEST_DIR)/all.tcl -geometry +0+0 -singleproc 1 $(TESTFLAGS) + +valgrindshell: tktest@EXEEXT@ + $(SHELL_ENV) valgrind $(VALGRINDARGS) ./tktest@EXEEXT@ $(SCRIPT) + INSTALL_TARGETS = install-binaries install-libraries install-demos install-doc @EXTRA_INSTALL@ install: $(INSTALL_TARGETS) @@ -614,13 +696,14 @@ install-strip: # some ranlibs write to current directory, and this might not always be # possible (e.g. if installing as root). -install-binaries: $(TK_LIB_FILE) $(TK_STUB_LIB_FILE) $(TK_BUILD_EXP_FILE) wish - @for i in $(LIB_INSTALL_DIR) $(BIN_INSTALL_DIR) $(PKG_INSTALL_DIR); \ +install-binaries: $(TK_LIB_FILE) $(TK_STUB_LIB_FILE) wish@EXEEXT@ + @for i in "$(LIB_INSTALL_DIR)" "$(BIN_INSTALL_DIR)" \ + "$(PKG_INSTALL_DIR)" "$(CONFIG_INSTALL_DIR)" ; \ do \ - if [ ! -d $$i ] ; then \ + if [ ! -d "$$i" ] ; then \ echo "Making directory $$i"; \ - mkdir -p $$i; \ - chmod 755 $$i; \ + mkdir -p "$$i"; \ + chmod 755 "$$i"; \ else true; \ fi; \ done; @@ -629,33 +712,28 @@ install-binaries: $(TK_LIB_FILE) $(TK_STUB_LIB_FILE) $(TK_BUILD_EXP_FILE) wish fi @if test "x$(TK_SHARED_BUILD)" = "x1"; then \ echo "Creating package index $(PKG_INDEX)"; \ - rm -f $(PKG_INDEX); \ + rm -f "$(PKG_INDEX)"; \ (\ + echo "if {[catch {package present Tcl 8.5.0}]} { return }";\ relative=`echo | awk '{ORS=" "; split("$(TK_PKG_DIR)",a,"/"); for (f in a) {print ".."}}'`;\ - echo "if {[package vcompare [package provide Tcl] $(TCLVERSION)] != 0} { return }";\ echo "if {[string match CYGWIN* \$$::tcl_platform(os)]} {";\ echo " if {([info exists ::env(DISPLAY)] || [lsearch -exact \$$::argv -display] > -1)} {";\ - echo " package ifneeded Tk $(MAJOR_VERSION).$(MINOR_VERSION) [list load [file join \$$dir $${relative}.. bin $(TK_LIB_FILE)] Tk]";\ + echo " package ifneeded Tk $(MAJOR_VERSION).$(MINOR_VERSION)$(PATCH_LEVEL) [list load [file join \$$dir $${relative}.. bin $(TK_LIB_FILE)] Tk]";\ echo " } else {";\ - echo " package ifneeded Tk $(MAJOR_VERSION).$(MINOR_VERSION) [list load [file join \$$dir $${relative}.. bin tk${MAJOR_VERSION}${MINOR_VERSION}.dll] Tk]";\ + echo " package ifneeded Tk $(MAJOR_VERSION).$(MINOR_VERSION)$(PATCH_LEVEL) [list load [file join \$$dir $${relative}.. bin tk${MAJOR_VERSION}${MINOR_VERSION}.dll] Tk]";\ echo " }";\ echo "} else {";\ - echo " package ifneeded Tk $(MAJOR_VERSION).$(MINOR_VERSION) [list load [file join \$$dir $${relative}$(TK_LIB_FILE)] Tk]";\ + echo " package ifneeded Tk $(MAJOR_VERSION).$(MINOR_VERSION)$(PATCH_LEVEL) [list load [file join \$$dir $${relative}$(TK_LIB_FILE)] Tk]";\ echo "}";\ - ) > $(PKG_INDEX); \ + ) > "$(PKG_INDEX)"; \ fi - @echo "Installing $(LIB_FILE) to $(DLL_INSTALL_DIR)/" + @echo "Installing $(LIB_FILE) to $(LIB_INSTALL_DIR)/" @@INSTALL_LIB@ - @chmod 555 $(DLL_INSTALL_DIR)/$(LIB_FILE) - @if test "$(TK_BUILD_EXP_FILE)" != ""; then \ - echo "Installing $(TK_EXP_FILE) to $(LIB_INSTALL_DIR)/"; \ - $(INSTALL_DATA) $(TK_BUILD_EXP_FILE) \ - $(LIB_INSTALL_DIR)/$(TK_EXP_FILE); \ - fi - @echo "Installing wish as $(BIN_INSTALL_DIR)/wish$(VERSION)" - @$(INSTALL_PROGRAM) wish $(BIN_INSTALL_DIR)/wish$(VERSION) - @echo "Installing tkConfig.sh to $(LIB_INSTALL_DIR)/" - @$(INSTALL_DATA) tkConfig.sh $(LIB_INSTALL_DIR)/tkConfig.sh + @chmod 555 "$(LIB_INSTALL_DIR)"/$(LIB_FILE) + @echo "Installing wish@EXEEXT@ as $(BIN_INSTALL_DIR)/wish$(VERSION)@EXEEXT@" + @$(INSTALL_PROGRAM) wish@EXEEXT@ "$(BIN_INSTALL_DIR)"/wish$(VERSION)@EXEEXT@ + @echo "Installing tkConfig.sh to $(CONFIG_INSTALL_DIR)/" + @$(INSTALL_DATA) tkConfig.sh "$(CONFIG_INSTALL_DIR)"/tkConfig.sh @if test "$(STUB_LIB_FILE)" != "" ; then \ echo "Installing $(STUB_LIB_FILE) to $(LIB_INSTALL_DIR)/"; \ @INSTALL_STUB_LIB@ ; \ @@ -664,15 +742,15 @@ install-binaries: $(TK_LIB_FILE) $(TK_STUB_LIB_FILE) $(TK_BUILD_EXP_FILE) wish install-libraries: libraries @if test "$(@TK_WINDOWINGSYSTEM@_XLIB_HDRS)" != ""; then \ - XLIB_INCLUDE_INSTALL_DIR=$(INCLUDE_INSTALL_DIR)/X11; fi; \ - for i in $(INCLUDE_INSTALL_DIR) $${XLIB_INCLUDE_INSTALL_DIR} \ - $(SCRIPT_INSTALL_DIR) $(SCRIPT_INSTALL_DIR)/images \ - $(SCRIPT_INSTALL_DIR)/msgs; \ + XLIB_INCLUDE_INSTALL_DIR="$(INCLUDE_INSTALL_DIR)"/X11; fi; \ + for i in "$(INCLUDE_INSTALL_DIR)" "$${XLIB_INCLUDE_INSTALL_DIR}" \ + "$(SCRIPT_INSTALL_DIR)" "$(SCRIPT_INSTALL_DIR)"/images \ + "$(SCRIPT_INSTALL_DIR)"/msgs "$(SCRIPT_INSTALL_DIR)"/ttk; \ do \ - if [ ! -d $$i ] ; then \ + if [ -n "$$i" -a ! -d "$$i" ] ; then \ echo "Making directory $$i"; \ - mkdir -p $$i; \ - chmod 755 $$i; \ + mkdir -p "$$i"; \ + chmod 755 "$$i"; \ else true; \ fi; \ done; @@ -680,108 +758,109 @@ install-libraries: libraries chmod +x $(SRC_DIR)/install-sh; \ fi @echo "Installing header files"; - @for i in $(GENERIC_DIR)/tk.h $(GENERIC_DIR)/tkDecls.h \ - $(GENERIC_DIR)/tkPlatDecls.h $(@TK_WINDOWINGSYSTEM@_HDRS) ; \ + @for i in $(PUBLIC_HDRS); \ do \ - $(INSTALL_DATA) $$i $(INCLUDE_INSTALL_DIR); \ + $(INSTALL_DATA) $$i "$(INCLUDE_INSTALL_DIR)"; \ done; @list='$(@TK_WINDOWINGSYSTEM@_XLIB_HDRS)'; for i in $$list ; \ do \ - $(INSTALL_DATA) $$i $(INCLUDE_INSTALL_DIR)/X11; \ + $(INSTALL_DATA) $$i "$(INCLUDE_INSTALL_DIR)"/X11; \ done; @echo "Installing library files to $(SCRIPT_INSTALL_DIR)"; - @for i in $(TOP_DIR)/library/*.tcl $(GENERIC_DIR)/prolog.ps \ + @for i in $(TOP_DIR)/library/*.tcl \ $(TOP_DIR)/library/tclIndex $(UNIX_DIR)/tkAppInit.c; \ do \ - $(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR); \ + $(INSTALL_DATA) $$i "$(SCRIPT_INSTALL_DIR)"; \ + done; + @echo "Installing library ttk directory"; + @for i in $(TOP_DIR)/library/ttk/*.tcl; \ + do \ + if [ -f $$i ] ; then \ + $(INSTALL_DATA) $$i "$(SCRIPT_INSTALL_DIR)"/ttk; \ + fi; \ done; @echo "Installing library images directory"; @for i in $(TOP_DIR)/library/images/*; \ do \ if [ -f $$i ] ; then \ - $(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR)/images; \ + $(INSTALL_DATA) $$i "$(SCRIPT_INSTALL_DIR)"/images; \ fi; \ done; @echo "Installing translation directory"; @for i in $(TOP_DIR)/library/msgs/*.msg; \ do \ if [ -f $$i ] ; then \ - $(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR)/msgs; \ + $(INSTALL_DATA) $$i "$(SCRIPT_INSTALL_DIR)"/msgs; \ fi; \ done; install-demos: - @for i in $(SCRIPT_INSTALL_DIR) \ - $(SCRIPT_INSTALL_DIR)/demos \ - $(SCRIPT_INSTALL_DIR)/demos/images ; \ + @for i in "$(DEMO_INSTALL_DIR)" "$(DEMO_INSTALL_DIR)"/images ; \ do \ - if [ ! -d $$i ] ; then \ + if [ ! -d "$$i" ] ; then \ echo "Making directory $$i"; \ - mkdir -p $$i; \ - chmod 755 $$i; \ + mkdir -p "$$i"; \ + chmod 755 "$$i"; \ else true; \ fi; \ done; - @echo "Installing demos to $(SCRIPT_INSTALL_DIR)/demos/"; + @echo "Installing demos to $(DEMO_INSTALL_DIR)/"; @for i in $(TOP_DIR)/library/demos/*; \ do \ if [ -f $$i ] ; then \ sed -e '3 s|exec wish|exec wish$(VERSION)|' \ - $$i > $(SCRIPT_INSTALL_DIR)/demos/`basename $$i`; \ + $$i > "$(DEMO_INSTALL_DIR)"/`basename $$i`; \ fi; \ done; @for i in $(DEMOPROGS); \ do \ if test $$i = "square"; then \ - rm -f $(SCRIPT_INSTALL_DIR)/demos/$$i; \ + rm -f "$(DEMO_INSTALL_DIR)"/$$i; \ else \ - chmod 755 $(SCRIPT_INSTALL_DIR)/demos/$$i; \ + chmod 755 "$(DEMO_INSTALL_DIR)"/$$i; \ fi; \ done; @echo "Installing demo images"; @for i in $(TOP_DIR)/library/demos/images/*; \ do \ if [ -f $$i ] ; then \ - $(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR)/demos/images; \ + $(INSTALL_DATA) $$i "$(DEMO_INSTALL_DIR)"/images; \ fi; \ done; install-doc: - @if test ! -x $(UNIX_DIR)/installManPage; then \ - chmod +x $(UNIX_DIR)/installManPage; \ - fi - @for i in $(MAN_INSTALL_DIR) $(MAN1_INSTALL_DIR) $(MAN3_INSTALL_DIR) $(MANN_INSTALL_DIR) ; \ + @for i in "$(MAN_INSTALL_DIR)" "$(MAN1_INSTALL_DIR)" "$(MAN3_INSTALL_DIR)" "$(MANN_INSTALL_DIR)" ; \ do \ - if [ ! -d $$i ] ; then \ + if [ ! -d "$$i" ] ; then \ echo "Making directory $$i"; \ - mkdir -p $$i; \ - chmod 755 $$i; \ + mkdir -p "$$i"; \ + chmod 755 "$$i"; \ else true; \ fi; \ done; @echo "Installing and cross-linking top-level (.1) docs"; @for i in $(TOP_DIR)/doc/*.1; do \ - $(UNIX_DIR)/installManPage $(MAN_FLAGS) $$i $(MAN1_INSTALL_DIR); \ + $(SHELL) $(UNIX_DIR)/installManPage $(MAN_FLAGS) $$i "$(MAN1_INSTALL_DIR)"; \ done @echo "Installing and cross-linking C API (.3) docs"; @for i in $(TOP_DIR)/doc/*.3; do \ - $(UNIX_DIR)/installManPage $(MAN_FLAGS) $$i $(MAN3_INSTALL_DIR); \ + $(SHELL) $(UNIX_DIR)/installManPage $(MAN_FLAGS) $$i "$(MAN3_INSTALL_DIR)"; \ done @echo "Installing and cross-linking command (.n) docs"; @for i in $(TOP_DIR)/doc/*.n; do \ - $(UNIX_DIR)/installManPage $(MAN_FLAGS) $$i $(MANN_INSTALL_DIR); \ + $(SHELL) $(UNIX_DIR)/installManPage $(MAN_FLAGS) $$i "$(MANN_INSTALL_DIR)"; \ done # Optional target to install private headers install-private-headers: libraries - @for i in $(PRIVATE_INCLUDE_INSTALL_DIR); \ + @for i in "$(PRIVATE_INCLUDE_INSTALL_DIR)"; \ do \ - if [ ! -d $$i ] ; then \ + if [ ! -d "$$i" ] ; then \ echo "Making directory $$i"; \ - mkdir -p $$i; \ - chmod 755 $$i; \ + mkdir -p "$$i"; \ + chmod 755 "$$i"; \ else true; \ fi; \ done; @@ -789,26 +868,26 @@ install-private-headers: libraries chmod +x $(SRC_DIR)/install-sh; \ fi @echo "Installing private header files"; - @for i in $(GENERIC_DIR)/tkInt.h $(GENERIC_DIR)/tkIntDecls.h \ - $(GENERIC_DIR)/tkIntPlatDecls.h \ - $(@TK_WINDOWINGSYSTEM@_PRIVATE_HDRS); \ + @for i in $(PRIVATE_HDRS); \ do \ - $(INSTALL_DATA) $$i $(PRIVATE_INCLUDE_INSTALL_DIR); \ + $(INSTALL_DATA) $$i "$(PRIVATE_INCLUDE_INSTALL_DIR)"; \ done; - @sed -e 's#\.\./unix/##' $(GENERIC_DIR)/tkPort.h > tkPort.h; \ - $(INSTALL_DATA) tkPort.h $(PRIVATE_INCLUDE_INSTALL_DIR); \ - rm -f tkPort.h + @if test -f tkConfig.h; then\ + $(INSTALL_DATA) tkConfig.h "$(PRIVATE_INCLUDE_INSTALL_DIR)"; \ + fi; Makefile: $(UNIX_DIR)/Makefile.in $(SHELL) config.status +#tkConfig.h: $(UNIX_DIR)/tkConfig.h.in +# $(SHELL) config.status clean: rm -f *.a *.o libtk* core errs *~ \#* TAGS *.E a.out \ - errors wish tktest lib.exp Tk *.rsrc + errors wish@EXEEXT@ tktest@EXEEXT@ lib.exp Tk *.rsrc distclean: clean rm -rf Makefile config.status config.cache config.log tkConfig.sh \ - $(PACKAGE).* prototype *.plist Tk.framework + $(PACKAGE).* prototype tkConfig.h *.plist Tk.framework depend: makedepend -- $(DEPEND_SWITCHES) -- $(SRCS) @@ -821,7 +900,7 @@ depend: # execute concurrently with the renaming and recompiling of that same object # file in the target below. -tkTestInit.o: $(UNIX_DIR)/tkAppInit.c wish +tkTestInit.o: $(UNIX_DIR)/tkAppInit.c wish@EXEEXT@ @if test -f tkAppInit.o ; then \ rm -f tkAppInit.sav; \ mv tkAppInit.o tkAppInit.sav; \ @@ -1016,6 +1095,9 @@ tkImgPPM.o: $(GENERIC_DIR)/tkImgPPM.c tkImgPhoto.o: $(GENERIC_DIR)/tkImgPhoto.c $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkImgPhoto.c +tkOldTest.o: $(GENERIC_DIR)/tkOldTest.c + $(CC) -c $(APP_CC_SWITCHES) $(GENERIC_DIR)/tkOldTest.c + tkTest.o: $(GENERIC_DIR)/tkTest.c $(CC) -c $(APP_CC_SWITCHES) $(GENERIC_DIR)/tkTest.c @@ -1052,9 +1134,6 @@ tkStubInit.o: $(GENERIC_DIR)/tkStubInit.c tkStubLib.o: $(GENERIC_DIR)/tkStubLib.c $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkStubLib.c -tkStubImg.o: $(GENERIC_DIR)/tkStubImg.c - $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkStubImg.c - tkUndo.o: $(GENERIC_DIR)/tkUndo.c $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkUndo.c @@ -1091,7 +1170,11 @@ tkUnixFocus.o: $(UNIX_DIR)/tkUnixFocus.c tkUnixFont.o: $(UNIX_DIR)/tkUnixFont.c $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixFont.c -tkUnixInit.o: $(UNIX_DIR)/tkUnixInit.c $(GENERIC_DIR)/tkInitScript.h tkConfig.sh +# NB: tkUnixRFont.o uses nondefault CFLAGS +tkUnixRFont.o: $(UNIX_DIR)/tkUnixRFont.c + $(CC) -c $(CC_SWITCHES) $(XFT_CFLAGS) $(UNIX_DIR)/tkUnixRFont.c + +tkUnixInit.o: $(UNIX_DIR)/tkUnixInit.c tkConfig.sh $(CC) -c $(CC_SWITCHES) -DTK_LIBRARY=\"${TK_LIBRARY}\" \ $(UNIX_DIR)/tkUnixInit.c @@ -1167,8 +1250,8 @@ tkMacOSXFont.o: $(MAC_OSX_DIR)/tkMacOSXFont.c tkMacOSXHLEvents.o: $(MAC_OSX_DIR)/tkMacOSXHLEvents.c $(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXHLEvents.c -tkMacOSXInit.o: $(MAC_OSX_DIR)/tkMacOSXInit.c $(GENERIC_DIR)/tkInitScript.h tkConfig.sh - $(CC) -c $(CC_SWITCHES) -DTK_LIBRARY=\"${TK_LIBRARY}\" \ +tkMacOSXInit.o: $(MAC_OSX_DIR)/tkMacOSXInit.c tkConfig.sh + $(CC) -c $(CC_SWITCHES) -DTK_LIBRARY=\"${TK_LIBRARY}\" \ $(MAC_OSX_DIR)/tkMacOSXInit.c tkMacOSXKeyboard.o: $(MAC_OSX_DIR)/tkMacOSXKeyboard.c @@ -1195,6 +1278,9 @@ tkMacOSXNotify.o: $(MAC_OSX_DIR)/tkMacOSXNotify.c tkMacOSXRegion.o: $(MAC_OSX_DIR)/tkMacOSXRegion.c $(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXRegion.c +tkMacOSXScale.o: $(MAC_OSX_DIR)/tkMacOSXScale.c + $(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXScale.c + tkMacOSXScrlbr.o: $(MAC_OSX_DIR)/tkMacOSXScrlbr.c $(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXScrlbr.c @@ -1205,7 +1291,7 @@ tkMacOSXSubwindows.o: $(MAC_OSX_DIR)/tkMacOSXSubwindows.c $(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXSubwindows.c tkMacOSXTest.o: $(MAC_OSX_DIR)/tkMacOSXTest.c - $(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXTest.c + $(CC) -c $(APP_CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXTest.c tkMacOSXWindowEvent.o: $(MAC_OSX_DIR)/tkMacOSXWindowEvent.c $(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXWindowEvent.c @@ -1240,6 +1326,102 @@ ximage.o: $(XLIB_DIR)/ximage.c xutil.o: $(XLIB_DIR)/xutil.c $(CC) -c $(CC_SWITCHES) $(XLIB_DIR)/xutil.c +ttkBlink.o: $(TTK_DIR)/ttkBlink.c + $(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkBlink.c + +ttkButton.o: $(TTK_DIR)/ttkButton.c + $(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkButton.c + +ttkCache.o: $(TTK_DIR)/ttkCache.c + $(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkCache.c + +ttkClamTheme.o: $(TTK_DIR)/ttkClamTheme.c + $(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkClamTheme.c + +ttkClassicTheme.o: $(TTK_DIR)/ttkClassicTheme.c + $(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkClassicTheme.c + +ttkDefaultTheme.o: $(TTK_DIR)/ttkDefaultTheme.c + $(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkDefaultTheme.c + +ttkElements.o: $(TTK_DIR)/ttkElements.c + $(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkElements.c + +ttkEntry.o: $(TTK_DIR)/ttkEntry.c + $(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkEntry.c + +ttkFrame.o: $(TTK_DIR)/ttkFrame.c + $(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkFrame.c + +ttkImage.o: $(TTK_DIR)/ttkImage.c + $(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkImage.c + +ttkInit.o: $(TTK_DIR)/ttkInit.c + $(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkInit.c + +ttkLabel.o: $(TTK_DIR)/ttkLabel.c + $(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkLabel.c + +ttkLayout.o: $(TTK_DIR)/ttkLayout.c + $(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkLayout.c + +ttkManager.o: $(TTK_DIR)/ttkManager.c + $(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkManager.c + +ttkNotebook.o: $(TTK_DIR)/ttkNotebook.c + $(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkNotebook.c + +ttkPanedwindow.o: $(TTK_DIR)/ttkPanedwindow.c + $(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkPanedwindow.c + +ttkProgress.o: $(TTK_DIR)/ttkProgress.c + $(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkProgress.c + +ttkScale.o: $(TTK_DIR)/ttkScale.c + $(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkScale.c + +ttkScroll.o: $(TTK_DIR)/ttkScroll.c + $(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkScroll.c + +ttkScrollbar.o: $(TTK_DIR)/ttkScrollbar.c + $(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkScrollbar.c + +ttkSeparator.o: $(TTK_DIR)/ttkSeparator.c + $(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkSeparator.c + +ttkSquare.o: $(TTK_DIR)/ttkSquare.c + $(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkSquare.c + +ttkState.o: $(TTK_DIR)/ttkState.c + $(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkState.c + +ttkStubInit.o: $(TTK_DIR)/ttkStubInit.c + $(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkStubInit.c + +ttkStubLib.o: $(TTK_DIR)/ttkStubLib.c + $(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkStubLib.c + +ttkTagSet.o: $(TTK_DIR)/ttkTagSet.c + $(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkTagSet.c + +ttkTheme.o: $(TTK_DIR)/ttkTheme.c + $(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkTheme.c + +ttkTrace.o: $(TTK_DIR)/ttkTrace.c + $(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkTrace.c + +ttkTrack.o: $(TTK_DIR)/ttkTrack.c + $(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkTrack.c + +ttkTreeview.o: $(TTK_DIR)/ttkTreeview.c + $(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkTreeview.c + +ttkWidget.o: $(TTK_DIR)/ttkWidget.c + $(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkWidget.c + +ttkMacOSXTheme.o: $(MAC_OSX_DIR)/ttkMacOSXTheme.c + $(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/ttkMacOSXTheme.c + .c.o: $(CC) -c $(CC_SWITCHES) $< @@ -1253,9 +1435,15 @@ $(GENERIC_DIR)/tkStubInit.c: $(GENERIC_DIR)/tk.decls \ @echo "Developers may want to run \"make genstubs\" to regenerate." @echo "This warning can be safely ignored, do not report as a bug!" +$(TTK_DIR)/ttkStubInit.c: $(TTK_DIR)/ttk.decls + @echo "Warning: ttkStubInit.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) $(TOOL_DIR)/genStubs.tcl $(GENERIC_DIR) \ $(GENERIC_DIR)/tk.decls $(GENERIC_DIR)/tkInt.decls + $(TCL_EXE) $(TTK_DIR)/ttkGenStubs.tcl $(TTK_DIR) $(TTK_DIR)/ttk.decls # # Target to check that all exported functions have an entry in the stubs @@ -1267,7 +1455,7 @@ checkstubs: $(TK_LIB_FILE) | awk '$$2 ~ /^[TDBCS]$$/ { sub("^_", "", $$3); print $$3 }' \ | sort -n`; do \ match=0; \ - for j in $(TK_DECLS); do \ + for j in $(TK_DECLS) $(TTK_DECLS); do \ if [ `grep -c "$$i *(" $$j` -gt 0 ]; then \ match=1; \ fi; \ @@ -1283,27 +1471,27 @@ 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 "Tk" prefixes are -# exported. +# Target to make sure that only symbols with "Tk", "tk", "Ttk", "ttk" or "X" +# prefixes are exported. # checkexports: $(TK_LIB_FILE) -@nm -p $(TK_LIB_FILE) \ | awk '$$2 ~ /^[TDBCS]$$/ { sub("^_", "", $$3); print $$3 }' \ - | sort -n | grep -E -v '^([Tt]k|_?X)' || true + | sort -n | grep -E -v '^([Tt]t?k|_?X)' || true # # Target to create a Tk RPM for Linux. Requires that you be on a Linux # system. # -rpm: all /bin/rpm +rpm: all rm -f THIS.TCL.SPEC echo "%define _builddir `pwd`" > THIS.TK.SPEC echo "%define _rpmdir `pwd`/RPMS" >> THIS.TK.SPEC cat tk.spec >> THIS.TK.SPEC mkdir -p RPMS/i386 - rpm -bb THIS.TK.SPEC + rpmbuild -bb THIS.TK.SPEC mv RPMS/i386/*.rpm . rm -rf RPMS THIS.TK.SPEC @@ -1318,8 +1506,15 @@ DISTNAME = tk${VERSION}${PATCH_LEVEL} ZIPNAME = tk${MAJOR_VERSION}${MINOR_VERSION}${PATCH_LEVEL}-src.zip DISTDIR = $(DISTROOT)/$(DISTNAME) TCLDIR = @TCL_SRC_DIR@ - -dist: +$(UNIX_DIR)/configure: $(UNIX_DIR)/configure.in $(UNIX_DIR)/tcl.m4 \ + $(UNIX_DIR)/aclocal.m4 + cd $(UNIX_DIR); autoconf +$(MAC_OSX_DIR)/configure: $(MAC_OSX_DIR)/configure.ac $(UNIX_DIR)/configure + cd $(MAC_OSX_DIR); autoconf +$(UNIX_DIR)/tkConfig.h.in: $(MAC_OSX_DIR)/configure + cd $(MAC_OSX_DIR); autoheader; touch $@ + +dist: $(UNIX_DIR)/configure $(UNIX_DIR)/tkConfig.h.in $(MAC_OSX_DIR)/configure genstubs rm -rf $(DISTDIR) mkdir -p $(DISTDIR)/unix cp -p $(UNIX_DIR)/*.c $(UNIX_DIR)/*.h $(DISTDIR)/unix @@ -1328,7 +1523,8 @@ dist: cp $(UNIX_DIR)/configure $(UNIX_DIR)/configure.in $(UNIX_DIR)/tk.spec \ $(UNIX_DIR)/aclocal.m4 $(UNIX_DIR)/tcl.m4 \ $(UNIX_DIR)/tkConfig.sh.in $(TCLDIR)/unix/install-sh \ - $(UNIX_DIR)/README $(UNIX_DIR)/installManPage $(DISTDIR)/unix + $(UNIX_DIR)/README $(UNIX_DIR)/installManPage \ + $(UNIX_DIR)/tkConfig.h.in $(DISTDIR)/unix chmod 775 $(DISTDIR)/unix/configure $(DISTDIR)/unix/configure.in chmod +x $(DISTDIR)/unix/install-sh mkdir $(DISTDIR)/bitmaps @@ -1339,13 +1535,16 @@ dist: fi; \ done;) mkdir $(DISTDIR)/generic - cp -p $(GENERIC_DIR)/*.c $(GENERIC_DIR)/*.h $(GENERIC_DIR)/prolog.ps \ - $(DISTDIR)/generic + cp -p $(GENERIC_DIR)/*.[ch] $(DISTDIR)/generic cp -p $(GENERIC_DIR)/*.decls $(DISTDIR)/generic cp -p $(GENERIC_DIR)/README $(DISTDIR)/generic - cp -p $(TOP_DIR)/changes $(TOP_DIR)/ChangeLog $(TOP_DIR)/README \ + cp -p $(TOP_DIR)/changes $(TOP_DIR)/ChangeLog \ + $(TOP_DIR)/ChangeLog.2??? $(TOP_DIR)/README \ $(TOP_DIR)/license.terms $(DISTDIR) rm -f $(DISTDIR)/generic/blt*.[ch] + mkdir $(DISTDIR)/generic/ttk + cp -p $(TTK_DIR)/*.[ch] $(TTK_DIR)/ttk.decls \ + $(TTK_DIR)/ttkGenStubs.tcl $(DISTDIR)/generic/ttk mkdir $(DISTDIR)/win cp $(TOP_DIR)/win/Makefile.in $(DISTDIR)/win cp $(TOP_DIR)/win/configure.in \ @@ -1353,46 +1552,39 @@ dist: $(TOP_DIR)/win/tkConfig.sh.in \ $(TOP_DIR)/win/aclocal.m4 $(TOP_DIR)/win/tcl.m4 \ $(DISTDIR)/win - cp -p $(TOP_DIR)/win/*.c $(TOP_DIR)/win/*.h $(DISTDIR)/win - cp -p $(TOP_DIR)/win/*.bat $(DISTDIR)/win + cp -p $(TOP_DIR)/win/*.[ch] $(TOP_DIR)/win/*.bat $(DISTDIR)/win $(TCL_EXE) $(TOOL_DIR)/eolFix.tcl -crlf $(DISTDIR)/win/*.bat cp -p $(TOP_DIR)/win/makefile.* $(DISTDIR)/win $(TCL_EXE) $(TOOL_DIR)/eolFix.tcl -crlf $(DISTDIR)/win/makefile.* cp -p $(TOP_DIR)/win/rules.vc $(DISTDIR)/win $(TCL_EXE) $(TOOL_DIR)/eolFix.tcl -crlf $(DISTDIR)/win/rules.vc cp -p $(TOP_DIR)/win/README $(DISTDIR)/win - cp -p $(TOP_DIR)/win/lamp.bmp $(DISTDIR)/win cp -p $(TOP_DIR)/license.terms $(DISTDIR)/win mkdir $(DISTDIR)/win/rc cp -p $(TOP_DIR)/win/wish.exe.manifest.in $(DISTDIR)/win/ - cp -p $(TOP_DIR)/win/rc/*.rc $(TOP_DIR)/win/rc/*.cur \ - $(TOP_DIR)/win/rc/*.ico $(TOP_DIR)/win/rc/*.bmp \ - $(DISTDIR)/win/rc + cp -p $(TOP_DIR)/win/rc/*.{rc,cur,ico,bmp} $(DISTDIR)/win/rc $(TCL_EXE) $(TOOL_DIR)/eolFix.tcl -crlf $(DISTDIR)/win/rc/*.rc $(TCL_EXE) $(TOOL_DIR)/eolFix.tcl -crlf $(DISTDIR)/win/wish.exe.manifest.in - mkdir $(DISTDIR)/mac - cp -p $(TOP_DIR)/mac/tkMacProjects.sea.hqx $(DISTDIR)/mac - cp -p $(TOP_DIR)/mac/*.c $(TOP_DIR)/mac/*.h $(TOP_DIR)/mac/*.r \ - $(DISTDIR)/mac - cp -p $(TOP_DIR)/mac/README $(DISTDIR)/mac - cp -p $(TOP_DIR)/license.terms $(DISTDIR)/mac - cp -p $(TOP_DIR)/mac/*.pch $(DISTDIR)/mac - cp -p $(TOP_DIR)/mac/*.doc $(DISTDIR)/mac - cp -p $(TOP_DIR)/mac/*.tcl $(DISTDIR)/mac mkdir $(DISTDIR)/macosx - cp -p $(MAC_OSX_DIR)/Makefile $(MAC_OSX_DIR)/README \ - $(MAC_OSX_DIR)/Wish.icns $(MAC_OSX_DIR)/*.c \ - $(MAC_OSX_DIR)/*.h $(MAC_OSX_DIR)/*.in \ - $(MAC_OSX_DIR)/*.r $(DISTDIR)/macosx + cp -p $(MAC_OSX_DIR)/GNUmakefile $(MAC_OSX_DIR)/README \ + $(MAC_OSX_DIR)/Wish.icns $(MAC_OSX_DIR)/*.[chr] \ + $(MAC_OSX_DIR)/*.in $(MAC_OSX_DIR)/*.ac \ + $(MAC_OSX_DIR)/*.xcconfig $(MAC_OSX_DIR)/configure \ + $(DISTDIR)/macosx cp -p $(TOP_DIR)/license.terms $(DISTDIR)/macosx mkdir $(DISTDIR)/macosx/Wish.pbproj cp -p $(MAC_OSX_DIR)/Wish.pbproj/*.pbx* $(DISTDIR)/macosx/Wish.pbproj + mkdir $(DISTDIR)/macosx/Wish.xcode + cp -p $(MAC_OSX_DIR)/Wish.xcode/*.pbx* $(DISTDIR)/macosx/Wish.xcode + mkdir $(DISTDIR)/macosx/Wish.xcodeproj + cp -p $(MAC_OSX_DIR)/Wish.xcodeproj/*.pbx* \ + $(DISTDIR)/macosx/Wish.xcodeproj mkdir $(DISTDIR)/compat cp -p $(TOP_DIR)/license.terms $(TCLDIR)/compat/unistd.h \ $(TCLDIR)/compat/stdlib.h $(TCLDIR)/compat/limits.h \ $(DISTDIR)/compat mkdir $(DISTDIR)/xlib - cp -p $(XLIB_DIR)/*.h $(XLIB_DIR)/*.c $(DISTDIR)/xlib + cp -p $(XLIB_DIR)/*.[ch] $(DISTDIR)/xlib cp -p $(TOP_DIR)/license.terms $(DISTDIR)/xlib mkdir $(DISTDIR)/xlib/X11 cp -p $(XLIB_DIR)/X11/*.h $(DISTDIR)/xlib/X11 @@ -1401,6 +1593,8 @@ dist: cp -p $(TOP_DIR)/license.terms $(TOP_DIR)/library/*.tcl \ $(TOP_DIR)/library/tclIndex \ $(DISTDIR)/library + mkdir $(DISTDIR)/library/ttk + cp -p $(TOP_DIR)/library/ttk/*.tcl $(DISTDIR)/library/ttk mkdir $(DISTDIR)/library/images @(cd $(TOP_DIR); for i in library/images/* ; do \ if [ -f $$i ] ; then \ @@ -1415,6 +1609,7 @@ dist: done;) mkdir $(DISTDIR)/library/demos cp -pr $(TOP_DIR)/library/demos/*.tcl \ + $(TOP_DIR)/library/demos/*.msg \ $(TOP_DIR)/library/demos/tclIndex \ $(TOP_DIR)/library/demos/browse \ $(TOP_DIR)/library/demos/hello $(TOP_DIR)/library/demos/ixset \ @@ -1435,14 +1630,11 @@ dist: cp -p $(TOP_DIR)/license.terms $(TOP_DIR)/doc/*.[13n] \ $(TCLDIR)/doc/man.macros $(DISTDIR)/doc mkdir $(DISTDIR)/tests - cp -p $(TOP_DIR)/license.terms $(TOP_DIR)/tests/*.test \ - $(TOP_DIR)/tests/*.tcl $(TOP_DIR)/tests/README \ - $(TOP_DIR)/tests/option.file* $(DISTDIR)/tests - -# -# The following target can only be used for non-patch releases. Use -# the "allpatch" target below for patch releases. -# + cp -p $(TOP_DIR)/license.terms $(TEST_DIR)/*.{test,tcl} \ + $(TEST_DIR)/README $(TEST_DIR)/*.{gif,ppm,xbm} \ + $(TEST_DIR)/option.file* $(DISTDIR)/tests + mkdir $(DISTDIR)/tests/ttk + cp -p $(TEST_DIR)/ttk/*.{test,tcl} $(DISTDIR)/tests/ttk alldist: dist rm -f $(DISTROOT)/$(DISTNAME)-src.tar.gz $(DISTROOT)/$(ZIPNAME) @@ -1450,23 +1642,6 @@ alldist: dist gzip -9 $(DISTNAME)-src.tar; zip -qr8 $(ZIPNAME) $(DISTNAME) # -# The target below is similar to "alldist" except it works for patch -# releases. It is needed because patch releases are peculiar: the -# patch designation appears in the name of the compressed file -# (e.g. tk8.0p1.tar.gz) but the extracted source directory doesn't -# include the patch designation (e.g. tk8.0). -# - -allpatch: dist - rm -f $(DISTROOT)/$(DISTNAME)-src.tar.gz $(DISTROOT)/$(ZIPNAME) - mv $(DISTROOT)/tk${VERSION} $(DISTROOT)/old - mv $(DISTROOT)/$(DISTNAME) $(DISTROOT)/tk${VERSION} - cd $(DISTROOT); tar cf $(DISTNAME)-src.tar tk${VERSION}; \ - gzip -9 $(DISTNAME)-src.tar; zip -r8 $(ZIPNAME) tk${VERSION} - mv $(DISTROOT)/tk${VERSION} $(DISTROOT)/$(DISTNAME) - mv $(DISTROOT)/old $(DISTROOT)/tk${VERSION} - -# # This target creates the HTML folder for Tcl & Tk and places it # in DISTDIR/html. It uses the tcltk-man2html.tcl tool from # the Tcl group's tool workspace. It depends on the Tcl & Tk being @@ -1486,29 +1661,12 @@ html-tk: BUILD_HTML = \ @if test -f "$(BUILD_TCLSH)"; then \ - @LD_LIBRARY_PATH_VAR@=$(TCL_BIN_DIR):$${@LD_LIBRARY_PATH_VAR@}; export @LD_LIBRARY_PATH_VAR@; \ - TCL_LIBRARY=@TCL_SRC_DIR@/library; export TCL_LIBRARY; \ - TCLSH="$(BUILD_TCLSH)"; else \ + $(SHELL_ENV) TCLSH="$(BUILD_TCLSH)"; else \ TCLSH="$(TCL_EXE)"; fi ;\ - $${TCLSH} $(TOOL_DIR)/tcltk-man2html.tcl --htmldir=$(HTML_INSTALL_DIR) \ + "$${TCLSH}" $(TOOL_DIR)/tcltk-man2html.tcl --htmldir="$(HTML_INSTALL_DIR)" \ --srcdir=$(TOP_DIR)/.. $(BUILD_HTML_FLAGS) # -# 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. -# - -macdist: dist - rm -f $(DISTDIR)/mac/tkMacProjects.sea.hqx - $(TCL_EXE) $(TOOL_DIR)/man2html.tcl $(DISTDIR)/tmp ../.. tk$(VERSION) - mv $(DISTDIR)/tmp/tk$(VERSION) $(DISTDIR)/html - rm -rf $(DISTDIR)/doc - rm -rf $(DISTDIR)/tmp - $(TCL_EXE) $(TOOL_DIR)/cvtEOL.tcl $(DISTDIR) - -# # Targets to build Solaris package of the distribution for the current # architecture. To build stream packages for both sun4 and i86pc # architectures: @@ -1590,4 +1748,17 @@ package-generate: pkgtrans -s . $(PACKAGE).`arch` $(PACKAGE) rm -rf $(PACKAGE) +# +# The list of all the targets that do not correspond to real files. This stops +# 'make' from getting confused when someone makes an error in a rule. +# + +.PHONY: all binaries libraries objs doc html html-tcl html-tk test runtest +.PHONY: install install-strip install-binaries install-libraries +.PHONY: install-headers install-private-headers install-doc +.PHONY: clean distclean depend genstubs checkstubs checkexports checkuchar +.PHONY: shell gdb valgrind valgrindshell dist alldist rpm +.PHONY: tkLibObjs tktest-real test-classic test-ttk testlang +.PHONY: demo install-demos + # DO NOT DELETE THIS LINE -- make depend depends on it. |