1#
2# This file is a Makefile for Tk.  If it has the name "Makefile.in"
3# then it is a template for a Makefile;  to generate the actual Makefile,
4# run "./configure", which is a configuration script generated by the
5# "autoconf" program (constructs like "@foo@" will get replaced in the
6# actual Makefile.
7#
8# RCS: @(#) $Id$
9
10# Current Tk version;  used in various names.
11
12TCLVERSION		= @TCL_VERSION@
13TCLPATCHL		= @TCL_PATCH_LEVEL@
14VERSION 		= @TK_VERSION@
15MAJOR_VERSION		= @TK_MAJOR_VERSION@
16MINOR_VERSION		= @TK_MINOR_VERSION@
17PATCH_LEVEL		= @TK_PATCH_LEVEL@
18LOCALES			= @LOCALES@
19
20#----------------------------------------------------------------
21# Things you can change to personalize the Makefile for your own
22# site (you can make these changes in either Makefile.in or
23# Makefile, but changes to Makefile will get lost if you re-run
24# the configuration script).
25#----------------------------------------------------------------
26
27# Default top-level directories in which to install architecture-
28# specific files (exec_prefix) and machine-independent files such
29# as scripts (prefix).  The values specified here may be overridden
30# at configure-time with the --exec-prefix and --prefix options
31# to the "configure" script.  The *dir vars are standard configure
32# substitutions that are based off prefix and exec_prefix.
33
34prefix			= @prefix@
35exec_prefix		= @exec_prefix@
36bindir			= @bindir@
37libdir			= @libdir@
38includedir		= @includedir@
39datarootdir		= @datarootdir@
40mandir			= @mandir@
41
42# The following definition can be set to non-null for special systems
43# like AFS with replication.  It allows the pathnames used for installation
44# to be different than those used for actually reference files at
45# run-time.  INSTALL_ROOT is prepended to $prefix and $exec_prefix
46# when installing files.
47INSTALL_ROOT		= $(DESTDIR)
48
49# Directory from which applications will reference the library of Tcl
50# scripts (note: you can set the TK_LIBRARY environment variable at
51# run-time to override the compiled-in location):
52TK_LIBRARY		= @TK_LIBRARY@
53
54# Path to use at runtime to refer to LIB_INSTALL_DIR:
55LIB_RUNTIME_DIR		= $(libdir)
56
57# Directory in which to install the program wish:
58BIN_INSTALL_DIR		= $(INSTALL_ROOT)$(bindir)
59
60# Directory in which to install the .a or .so binary for the Tk library:
61LIB_INSTALL_DIR		= $(INSTALL_ROOT)$(libdir)
62
63# Path name to use when installing library scripts.
64SCRIPT_INSTALL_DIR	= $(INSTALL_ROOT)$(TK_LIBRARY)
65
66# Directory in which to install the include file tk.h:
67INCLUDE_INSTALL_DIR	= $(INSTALL_ROOT)$(includedir)
68
69# Path to the private tk header dir:
70PRIVATE_INCLUDE_DIR	= @PRIVATE_INCLUDE_DIR@
71
72# Directory in which to (optionally) install the private tk headers:
73PRIVATE_INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(PRIVATE_INCLUDE_DIR)
74
75# Top-level directory in which to install manual entries:
76MAN_INSTALL_DIR		= $(INSTALL_ROOT)$(mandir)
77
78# Directory in which to install manual entry for wish:
79MAN1_INSTALL_DIR	= $(MAN_INSTALL_DIR)/man1
80
81# Directory in which to install manual entries for Tk's C library
82# procedures:
83MAN3_INSTALL_DIR	= $(MAN_INSTALL_DIR)/man3
84
85# Directory in which to install manual entries for the built-in
86# Tcl commands implemented by Tk:
87MANN_INSTALL_DIR	= $(MAN_INSTALL_DIR)/mann
88
89# Path to the html documentation dir:
90HTML_DIR		= @HTML_DIR@
91
92# Directory in which to install html documentation:
93HTML_INSTALL_DIR	= $(INSTALL_ROOT)$(HTML_DIR)
94
95# Directory in which to install the configuration file tkConfig.sh:
96CONFIG_INSTALL_DIR	= $(INSTALL_ROOT)$(libdir)
97
98# Directory in which to install the demo files:
99DEMO_INSTALL_DIR	= $(INSTALL_ROOT)$(TK_LIBRARY)/demos
100
101# The directory containing the Tcl sources and headers appropriate
102# for this version of Tk ("srcdir" will be replaced or has already
103# been replaced by the configure script):
104TCL_GENERIC_DIR		= @TCL_SRC_DIR@/generic
105
106# The directory containing the platform specific Tcl sources and headers
107# appropriate for this version of Tk:
108TCL_PLATFORM_DIR	= @TCL_SRC_DIR@/unix
109
110# The directory containing the Tcl library archive file appropriate
111# for this version of Tk:
112TCL_BIN_DIR		= @TCL_BIN_DIR@
113
114# The linker flags needed to link in the Tcl library (ex: -ltcl8.2)
115TCL_LIB_FLAG		= @TCL_LIB_FLAG@
116
117# Flag, 1: we're building a shared lib, 0 we're not
118TK_SHARED_BUILD		= @TK_SHARED_BUILD@
119
120# Subdirectory of $(libdir) containing the pkgIndex.tcl file for loadable Tk
121TK_PKG_DIR		= @TK_PKG_DIR@
122
123# Directory in which to install the pkgIndex.tcl file for loadable Tk
124PKG_INSTALL_DIR		= $(LIB_INSTALL_DIR)/$(TK_PKG_DIR)
125
126# Package index file for loadable Tk
127PKG_INDEX		= $(PKG_INSTALL_DIR)/pkgIndex.tcl
128
129# warning flags
130CFLAGS_WARNING		= @CFLAGS_WARNING@
131
132# The default switches for optimization or debugging
133CFLAGS_DEBUG		= @CFLAGS_DEBUG@
134CFLAGS_OPTIMIZE		= @CFLAGS_OPTIMIZE@
135
136# To change the compiler switches, for example to change from optimization to
137# debugging symbols, change the following line:
138#CFLAGS			= $(CFLAGS_DEBUG)
139#CFLAGS			= $(CFLAGS_OPTIMIZE)
140#CFLAGS			= $(CFLAGS_DEBUG) $(CFLAGS_OPTIMIZE)
141CFLAGS			= @CFLAGS_DEFAULT@ @CFLAGS@
142
143# Flags to pass to the linker
144LDFLAGS_DEBUG		= @LDFLAGS_DEBUG@
145LDFLAGS_OPTIMIZE	= @LDFLAGS_OPTIMIZE@
146LDFLAGS			= @LDFLAGS_DEFAULT@ @LDFLAGS@
147
148# A "-I" switch that can be used when compiling to make all of the
149# X11 include files accessible (the configure script will try to
150# set this value, and will cause it to be an empty string if the
151# include files are accessible via /usr/include).
152X11_INCLUDES		= @XINCLUDES@
153
154AQUA_INCLUDES		= -I$(MAC_OSX_DIR) -I$(XLIB_DIR)
155
156# Linker switch(es) to use to link with the X11 library archive (the
157# configure script will try to set this value automatically, but you
158# can override it).
159X11_LIB_SWITCHES	= @XLIBSW@ $(XFT_LIBS)
160
161
162# To turn off the security checks that disallow incoming sends when
163# the X server appears to be insecure, reverse the comments on the
164# following lines:
165SECURITY_FLAGS		=
166#SECURITY_FLAGS		= -DTK_NO_SECURITY
167
168# To disable ANSI-C procedure prototypes reverse the comment characters
169# on the following lines:
170PROTO_FLAGS		=
171#PROTO_FLAGS		= -DNO_PROTOTYPE
172
173# To enable memory debugging reverse the comment characters on the following
174# lines or call configure with --enable-symbols=mem
175# Warning:  if you enable memory debugging, you must do it *everywhere*,
176# including all the code that calls Tcl, and you must use ckalloc and
177# ckfree everywhere instead of malloc and free.
178MEM_DEBUG_FLAGS		=
179#MEM_DEBUG_FLAGS	= -DTCL_MEM_DEBUG
180
181# If your X server is X11R4 or earlier, then you may wish to reverse
182# the comment characters on the following two lines.  This will enable
183# extra code to speed up XStringToKeysym.  In X11R5 and later releases
184# XStringToKeysym is plenty fast, so you needn't define REDO_KEYSYM_LOOKUP.
185KEYSYM_FLAGS		=
186#KEYSYM_FLAGS		= -DREDO_KEYSYM_LOOKUP
187
188# Tk does not used deprecated Tcl constructs so it should
189# compile fine with -DTCL_NO_DEPRECATED. To remove its own
190# set of deprecated code uncomment the second line.
191NO_DEPRECATED_FLAGS	= -DTCL_NO_DEPRECATED
192#NO_DEPRECATED_FLAGS	= -DTCL_NO_DEPRECATED -DTK_NO_DEPRECATED
193
194# Some versions of make, like SGI's, use the following variable to
195# determine which shell to use for executing commands:
196SHELL			= @SHELL@
197
198# BUILD_TCLSH is the fully qualified path name of the tclsh shell
199# in the Tcl build directory. Test that need to be run in the
200# version of tclsh that we are building against should use this
201# path. Targets that need an installed tclsh should not depend
202# on this variable.
203
204BUILD_TCLSH		= @BUILD_TCLSH@@EXEEXT@
205
206# TCL_EXE is the name of a tclsh executable that is available *BEFORE*
207# running make for the first time. Certain build targets (make genstubs)
208# need it to be available on the PATH. This executable should *NOT* be
209# required just to do a normal build although it can be required to run
210# make dist. This variable is set to "" if no tclsh is available.
211TCL_EXE			= @TCLSH_PROG@
212
213# Tk used to let the configure script choose which program to use
214# for installing, but there are just too many different versions of
215# "install" around;  better to use the install-sh script that comes
216# with the distribution, which is slower but guaranteed to work.
217
218INSTALL_STRIP_PROGRAM   = -s
219INSTALL_STRIP_LIBRARY   = -S -x
220
221INSTALL			= @srcdir@/install-sh -c
222INSTALL_PROGRAM		= ${INSTALL}
223INSTALL_LIBRARY		= ${INSTALL}
224INSTALL_DATA		= ${INSTALL} -m 644
225
226# The symbol below provides support for dynamic loading and shared
227# libraries.  See configure.in for a description of what it means.
228# The value of the symbol is normally set by the configure script.
229
230SHLIB_CFLAGS		= @SHLIB_CFLAGS@
231
232# To enable support for stubs in Tcl.
233STUB_LIB_FILE		= @TK_STUB_LIB_FILE@
234
235TK_STUB_LIB_FILE	= @TK_STUB_LIB_FILE@
236#TK_STUB_LIB_FILE	= libtkstub.a
237
238# Generic stub lib name used in rules that apply to tcl and tk
239STUB_LIB_FILE		= ${TK_STUB_LIB_FILE}
240
241TK_STUB_LIB_FLAG	= @TK_STUB_LIB_FLAG@
242#TK_STUB_LIB_FLAG	= -ltkstub
243
244TK_LIB_FILE		= @TK_LIB_FILE@
245#TK_LIB_FILE		= libtk.a
246
247# Generic lib name used in rules that apply to tcl and tk
248LIB_FILE		= ${TK_LIB_FILE}
249
250TK_LIB_FLAG		= @TK_LIB_FLAG@
251#TK_LIB_FLAG		= -ltk
252
253TCL_LIB_SPEC		= @TCL_LIB_SPEC@
254TCL_STUB_LIB_SPEC	= @TCL_STUB_LIB_SPEC@
255TCL_STUB_LIB_FLAG	= @TCL_STUB_LIB_FLAG@
256TCL_STUB_LIB_FILE	= @TCL_STUB_LIB_FILE@
257
258TCL_STUB_FLAGS		= @TCL_STUB_FLAGS@
259
260# Libraries to use when linking.  This definition is determined by the
261# configure script.
262LIBS = @LIBS@ $(X11_LIB_SWITCHES) @TCL_LIBS@
263WISH_LIBS = $(TCL_LIB_SPEC) @LIBS@ $(X11_LIB_SWITCHES) @TCL_LIBS@ @EXTRA_WISH_LIBS@
264
265# The symbols below provide support for dynamic loading and shared
266# libraries.  See configure.in for a description of what the
267# symbols mean.  The values of the symbols are normally set by the
268# configure script.  You shouldn't normally need to modify any of
269# these definitions by hand.
270
271STLIB_LD		= @STLIB_LD@
272SHLIB_LD		= @SHLIB_LD@
273SHLIB_LD_LIBS		= @SHLIB_LD_LIBS@
274TK_SHLIB_LD_EXTRAS	= @TK_SHLIB_LD_EXTRAS@
275
276# Additional search flags needed to find the various shared libraries
277# at run-time.  The first symbol is for use when creating a binary
278# with cc, and the second is for use when running ld directly.
279CC_SEARCH_FLAGS	= @CC_SEARCH_FLAGS@
280LD_SEARCH_FLAGS	= @LD_SEARCH_FLAGS@
281
282# support for embedded libraries on Darwin / Mac OS X
283DYLIB_INSTALL_DIR	= ${LIB_RUNTIME_DIR}
284
285# support for Xft:
286XFT_CFLAGS		= @XFT_CFLAGS@
287XFT_LIBS		= @XFT_LIBS@
288
289#----------------------------------------------------------------
290# The information below is modified by the configure script when
291# Makefile is generated from Makefile.in.  You shouldn't normally
292# modify any of this stuff by hand.
293#----------------------------------------------------------------
294
295AC_FLAGS		= @DEFS@
296AR			= @AR@
297RANLIB			= @RANLIB@
298SRC_DIR			= @srcdir@
299TOP_DIR			= $(SRC_DIR)/..
300GENERIC_DIR		= $(TOP_DIR)/generic
301TTK_DIR			= $(GENERIC_DIR)/ttk
302UNIX_DIR		= $(TOP_DIR)/unix
303BMAP_DIR		= $(TOP_DIR)/bitmaps
304TOOL_DIR		= @TCL_SRC_DIR@/tools
305TEST_DIR		= $(TOP_DIR)/tests
306MAC_OSX_DIR		= $(TOP_DIR)/macosx
307XLIB_DIR		= $(TOP_DIR)/xlib
308
309#----------------------------------------------------------------
310# The information below should be usable as is.  The configure
311# script won't modify it and you shouldn't need to modify it
312# either.
313#----------------------------------------------------------------
314
315# Flags to be passed to installManPage to control how the manpages
316# should be installed (symlinks, compression, package name suffix).
317MAN_FLAGS               = @MAN_FLAGS@
318
319CC			= @CC@
320
321CC_SWITCHES_NO_STUBS = ${CFLAGS} ${CFLAGS_WARNING} ${SHLIB_CFLAGS} \
322-I${UNIX_DIR} -I${GENERIC_DIR} -I${BMAP_DIR} -I${TCL_GENERIC_DIR} \
323-I${TCL_PLATFORM_DIR} ${@TK_WINDOWINGSYSTEM@_INCLUDES} ${AC_FLAGS} \
324${PROTO_FLAGS} ${SECURITY_FLAGS} ${MEM_DEBUG_FLAGS} ${KEYSYM_FLAGS} \
325${NO_DEPRECATED_FLAGS} @EXTRA_CC_SWITCHES@
326
327CC_SWITCHES = $(CC_SWITCHES_NO_STUBS) ${TCL_STUB_FLAGS} @EXTRA_LIB_CC_SWITCHES@
328
329APP_CC_SWITCHES = $(CC_SWITCHES_NO_STUBS) @EXTRA_APP_CC_SWITCHES@
330
331DEPEND_SWITCHES = ${CFLAGS} -I${UNIX_DIR} -I${GENERIC_DIR} -I${BMAP_DIR} \
332-I${TCL_GENERIC_DIR} -I${TCL_PLATFORM_DIR} ${@TK_WINDOWINGSYSTEM@_INCLUDES} \
333${AC_FLAGS} ${PROTO_FLAGS} ${SECURITY_FLAGS} ${MEM_DEBUG_FLAGS} \
334${KEYSYM_FLAGS} @EXTRA_CC_SWITCHES@
335
336WISH_OBJS = tkAppInit.o
337
338TKTEST_OBJS = tkTestInit.o tkTest.o tkSquare.o tkOldTest.o \
339	$(@TK_WINDOWINGSYSTEM@_TKTEST_OBJS)
340
341WIDG_OBJS = tkButton.o tkEntry.o tkFrame.o tkListbox.o \
342	tkMenu.o tkMenubutton.o tkMenuDraw.o tkMessage.o \
343	tkPanedWindow.o tkScale.o tkScrollbar.o
344
345CANV_OBJS = tkCanvas.o tkCanvArc.o tkCanvBmap.o tkCanvImg.o \
346	tkCanvLine.o tkCanvPoly.o tkCanvPs.o tkCanvText.o \
347	tkCanvUtil.o tkCanvWind.o tkRectOval.o tkTrig.o
348
349IMAGE_OBJS = tkImage.o tkImgBmap.o tkImgGIF.o tkImgPPM.o tkImgPhoto.o
350
351TEXT_OBJS = tkText.o tkTextBTree.o tkTextDisp.o tkTextImage.o tkTextIndex.o \
352	tkTextMark.o tkTextTag.o tkTextWind.o
353
354# either tkUnixFont.o (default) or tkUnixRFont.o (if --enable-xft)
355# 
356FONT_OBJS = @UNIX_FONT_OBJS@
357
358GENERIC_OBJS = tk3d.o tkArgv.o tkAtom.o tkBind.o tkBitmap.o tkClipboard.o \
359	tkCmds.o tkColor.o tkConfig.o tkConsole.o tkCursor.o tkError.o \
360	tkEvent.o tkFocus.o tkFont.o tkGet.o tkGC.o tkGeometry.o tkGrab.o \
361	tkGrid.o tkMain.o tkObj.o tkOldConfig.o tkOption.o tkPack.o tkPlace.o \
362	tkSelect.o tkStyle.o tkUndo.o tkUtil.o tkVisual.o tkWindow.o
363
364TTK_OBJS = \
365	ttkBlink.o ttkButton.o ttkCache.o ttkClamTheme.o ttkClassicTheme.o \
366	ttkDefaultTheme.o ttkElements.o ttkEntry.o ttkFrame.o ttkImage.o \
367	ttkInit.o ttkLabel.o ttkLayout.o ttkManager.o ttkNotebook.o \
368	ttkPanedwindow.o ttkProgress.o ttkScale.o ttkScrollbar.o ttkScroll.o \
369	ttkSeparator.o ttkSquare.o ttkState.o \
370	ttkTagSet.o ttkTheme.o ttkTrace.o ttkTrack.o ttkTreeview.o \
371	ttkWidget.o ttkStubInit.o
372
373STUB_OBJS = tkStubInit.o tkStubLib.o
374
375STUB_LIB_OBJS = tkStubLib.o ttkStubLib.o
376
377X11_OBJS = tkUnix.o tkUnix3d.o tkUnixButton.o tkUnixColor.o tkUnixConfig.o \
378	tkUnixCursor.o tkUnixDraw.o tkUnixEmbed.o tkUnixEvent.o \
379	tkUnixFocus.o  $(FONT_OBJS) tkUnixInit.o tkUnixKey.o tkUnixMenu.o \
380	tkUnixMenubu.o tkUnixScale.o tkUnixScrlbr.o tkUnixSelect.o \
381	tkUnixSend.o tkUnixWm.o tkUnixXId.o
382
383AQUA_OBJS = tkMacOSXBitmap.o tkMacOSXButton.o tkMacOSXClipboard.o \
384	tkMacOSXColor.o tkMacOSXConfig.o tkMacOSXCursor.o tkMacOSXDebug.o \
385	tkMacOSXDialog.o tkMacOSXDraw.o tkMacOSXEmbed.o tkMacOSXEntry.o \
386	tkMacOSXEvent.o tkMacOSXFont.o tkMacOSXHLEvents.o tkMacOSXInit.o \
387	tkMacOSXKeyboard.o tkMacOSXKeyEvent.o tkMacOSXMenu.o \
388	tkMacOSXMenubutton.o tkMacOSXMenus.o tkMacOSXMouseEvent.o \
389	tkMacOSXNotify.o tkMacOSXRegion.o tkMacOSXScrlbr.o tkMacOSXSend.o \
390	tkMacOSXSubwindows.o tkMacOSXWindowEvent.o \
391	tkMacOSXWm.o tkMacOSXXStubs.o \
392	tkFileFilter.o tkMacWinMenu.o tkPointer.o tkUnix3d.o tkUnixScale.o \
393	xcolors.o xdraw.o xgc.o ximage.o xutil.o \
394	ttkMacOSXTheme.o
395
396AQUA_TKTEST_OBJS = tkMacOSXTest.o
397
398OBJS =  $(GENERIC_OBJS) $(WIDG_OBJS) $(CANV_OBJS) $(IMAGE_OBJS) $(TEXT_OBJS) \
399	$(STUB_OBJS) $(TTK_OBJS) \
400	$(@TK_WINDOWINGSYSTEM@_OBJS) @PLAT_OBJS@
401
402TK_DECLS = \
403	$(GENERIC_DIR)/tk.decls \
404	$(GENERIC_DIR)/tkInt.decls
405
406TTK_DECLS = \
407	$(TTK_DIR)/ttk.decls
408
409GENERIC_SRCS = \
410	$(GENERIC_DIR)/tk3d.c $(GENERIC_DIR)/tkArgv.c \
411	$(GENERIC_DIR)/tkAtom.c $(GENERIC_DIR)/tkBind.c	\
412	$(GENERIC_DIR)/tkBitmap.c $(GENERIC_DIR)/tkClipboard.c \
413	$(GENERIC_DIR)/tkCmds.c $(GENERIC_DIR)/tkColor.c \
414	$(GENERIC_DIR)/tkConfig.c $(GENERIC_DIR)/tkCursor.c \
415	$(GENERIC_DIR)/tkError.c $(GENERIC_DIR)/tkEvent.c \
416	$(GENERIC_DIR)/tkFocus.c $(GENERIC_DIR)/tkFont.c \
417	$(GENERIC_DIR)/tkGet.c $(GENERIC_DIR)/tkGC.c \
418	$(GENERIC_DIR)/tkGeometry.c $(GENERIC_DIR)/tkGrab.c \
419	$(GENERIC_DIR)/tkGrid.c $(GENERIC_DIR)/tkConsole.c \
420	$(GENERIC_DIR)/tkMain.c $(GENERIC_DIR)/tkOption.c \
421	$(GENERIC_DIR)/tkPack.c $(GENERIC_DIR)/tkPlace.c \
422	$(GENERIC_DIR)/tkSelect.c $(GENERIC_DIR)/tkStyle.c \
423	$(GENERIC_DIR)/tkUndo.c $(GENERIC_DIR)/tkUtil.c \
424	$(GENERIC_DIR)/tkVisual.c $(GENERIC_DIR)/tkWindow.c \
425	$(GENERIC_DIR)/tkButton.c $(GENERIC_DIR)/tkObj.c \
426	$(GENERIC_DIR)/tkEntry.c $(GENERIC_DIR)/tkFrame.c \
427	$(GENERIC_DIR)/tkListbox.c $(GENERIC_DIR)/tkMenu.c \
428	$(GENERIC_DIR)/tkMenubutton.c $(GENERIC_DIR)/tkMenuDraw.c \
429	$(GENERIC_DIR)/tkMessage.c $(GENERIC_DIR)/tkPanedWindow.c \
430	$(GENERIC_DIR)/tkScale.c $(GENERIC_DIR)/tkScrollbar.c \
431	$(GENERIC_DIR)/tkCanvas.c $(GENERIC_DIR)/tkCanvArc.c \
432	$(GENERIC_DIR)/tkCanvBmap.c $(GENERIC_DIR)/tkCanvImg.c \
433	$(GENERIC_DIR)/tkCanvLine.c $(GENERIC_DIR)/tkCanvPoly.c \
434	$(GENERIC_DIR)/tkCanvPs.c $(GENERIC_DIR)/tkCanvText.c \
435	$(GENERIC_DIR)/tkCanvUtil.c \
436	$(GENERIC_DIR)/tkCanvWind.c $(GENERIC_DIR)/tkRectOval.c \
437	$(GENERIC_DIR)/tkTrig.c $(GENERIC_DIR)/tkImage.c \
438	$(GENERIC_DIR)/tkImgBmap.c $(GENERIC_DIR)/tkImgGIF.c \
439	$(GENERIC_DIR)/tkImgPPM.c \
440	$(GENERIC_DIR)/tkImgPhoto.c $(GENERIC_DIR)/tkText.c \
441	$(GENERIC_DIR)/tkTextBTree.c $(GENERIC_DIR)/tkTextDisp.c \
442	$(GENERIC_DIR)/tkTextImage.c \
443	$(GENERIC_DIR)/tkTextIndex.c $(GENERIC_DIR)/tkTextMark.c \
444	$(GENERIC_DIR)/tkTextTag.c $(GENERIC_DIR)/tkTextWind.c \
445	$(GENERIC_DIR)/tkOldConfig.c $(GENERIC_DIR)/tkOldTest.c \
446	$(GENERIC_DIR)/tkSquare.c $(GENERIC_DIR)/tkTest.c \
447	$(GENERIC_DIR)/tkStubInit.c $(GENERIC_DIR)/tkStubLib.c
448
449TTK_SRCS = \
450	$(TTK_DIR)/ttkBlink.c \
451	$(TTK_DIR)/ttkButton.c \
452	$(TTK_DIR)/ttkCache.c \
453	$(TTK_DIR)/ttkClamTheme.c \
454	$(TTK_DIR)/ttkClassicTheme.c \
455	$(TTK_DIR)/ttkDefaultTheme.c \
456	$(TTK_DIR)/ttkElements.c \
457	$(TTK_DIR)/ttkEntry.c \
458	$(TTK_DIR)/ttkFrame.c \
459	$(TTK_DIR)/ttkImage.c \
460	$(TTK_DIR)/ttkInit.c \
461	$(TTK_DIR)/ttkLabel.c \
462	$(TTK_DIR)/ttkLayout.c \
463	$(TTK_DIR)/ttkManager.c \
464	$(TTK_DIR)/ttkNotebook.c \
465	$(TTK_DIR)/ttkPanedwindow.c \
466	$(TTK_DIR)/ttkProgress.c \
467	$(TTK_DIR)/ttkScale.c \
468	$(TTK_DIR)/ttkScrollbar.c \
469	$(TTK_DIR)/ttkScroll.c \
470	$(TTK_DIR)/ttkSeparator.c \
471	$(TTK_DIR)/ttkSquare.c \
472	$(TTK_DIR)/ttkState.c \
473	$(TTK_DIR)/ttkTagSet.c \
474	$(TTK_DIR)/ttkTheme.c \
475	$(TTK_DIR)/ttkTrace.c \
476	$(TTK_DIR)/ttkTrack.c \
477	$(TTK_DIR)/ttkTreeview.c \
478	$(TTK_DIR)/ttkWidget.c
479
480TTK_STUB_SRCS = \
481	$(TTK_DIR)/ttkStubInit.c $(TTK_DIR)/ttkStubLib.c
482
483X11_SRCS = \
484	$(UNIX_DIR)/tkAppInit.c $(UNIX_DIR)/tkUnix.c \
485	$(UNIX_DIR)/tkUnix3d.c \
486	$(UNIX_DIR)/tkUnixButton.c $(UNIX_DIR)/tkUnixColor.c \
487	$(UNIX_DIR)/tkUnixConfig.c \
488	$(UNIX_DIR)/tkUnixCursor.c \
489	$(UNIX_DIR)/tkUnixDraw.c \
490	$(UNIX_DIR)/tkUnixEmbed.c $(UNIX_DIR)/tkUnixEvent.c \
491	$(UNIX_DIR)/tkUnixFocus.c \
492	$(UNIX_DIR)/tkUnixRFont.c \
493	$(UNIX_DIR)/tkUnixFont.c $(UNIX_DIR)/tkUnixInit.c \
494	$(UNIX_DIR)/tkUnixKey.c \
495	$(UNIX_DIR)/tkUnixMenu.c $(UNIX_DIR)/tkUnixMenubu.c \
496	$(UNIX_DIR)/tkUnixScale.c $(UNIX_DIR)/tkUnixScrlbr.c \
497	$(UNIX_DIR)/tkUnixSelect.c \
498	$(UNIX_DIR)/tkUnixSend.c $(UNIX_DIR)/tkUnixWm.c \
499	$(UNIX_DIR)/tkUnixXId.c
500
501AQUA_SRCS = \
502	$(MAC_OSX_DIR)/tkMacOSXBitmap.c $(MAC_OSX_DIR)/tkMacOSXButton.c \
503	$(MAC_OSX_DIR)/tkMacOSXClipboard.c $(MAC_OSX_DIR)/tkMacOSXColor.c \
504	$(MAC_OSX_DIR)/tkMacOSXConfig.c $(MAC_OSX_DIR)/tkMacOSXCursor.c \
505	$(MAC_OSX_DIR)/tkMacOSXDebug.c $(MAC_OSX_DIR)/tkMacOSXDialog.c \
506	$(MAC_OSX_DIR)/tkMacOSXDraw.c $(MAC_OSX_DIR)/tkMacOSXEmbed.c \
507	$(MAC_OSX_DIR)/tkMacOSXEntry.c $(MAC_OSX_DIR)/tkMacOSXEvent.c \
508	$(MAC_OSX_DIR)/tkMacOSXFont.c $(MAC_OSX_DIR)/tkMacOSXHLEvents.c \
509	$(MAC_OSX_DIR)/tkMacOSXInit.c $(MAC_OSX_DIR)/tkMacOSXKeyboard.c \
510	$(MAC_OSX_DIR)/tkMacOSXKeyEvent.c $(MAC_OSX_DIR)/tkMacOSXMenu.c \
511	$(MAC_OSX_DIR)/tkMacOSXMenubutton.c $(MAC_OSX_DIR)/tkMacOSXMenus.c \
512	$(MAC_OSX_DIR)/tkMacOSXMouseEvent.c $(MAC_OSX_DIR)/tkMacOSXNotify.c \
513	$(MAC_OSX_DIR)/tkMacOSXRegion.c $(MAC_OSX_DIR)/tkMacOSXScrlbr.c \
514	$(MAC_OSX_DIR)/tkMacOSXSend.c $(MAC_OSX_DIR)/tkMacOSXSubwindows.c \
515	$(MAC_OSX_DIR)/tkMacOSXTest.c $(MAC_OSX_DIR)/tkMacOSXWindowEvent.c \
516	$(MAC_OSX_DIR)/tkMacOSXWm.c $(MAC_OSX_DIR)/tkMacOSXXStubs.c \
517	$(GENERIC_DIR)/tkFileFilter.c $(GENERIC_DIR)/tkMacWinMenu.c \
518	$(GENERIC_DIR)/tkPointer.c $(UNIX_DIR)/tkUnix3d.c \
519	$(UNIX_DIR)/tkUnixScale.c $(XLIB_DIR)/xcolors.c $(XLIB_DIR)/xdraw.c \
520	$(XLIB_DIR)/xgc.c $(XLIB_DIR)/ximage.c $(XLIB_DIR)/xutil.c \
521	$(TTK_DIR)/ttkMacOSXTheme.c
522
523SRCS = $(GENERIC_SRCS) $(@TK_WINDOWINGSYSTEM@_SRCS) @PLAT_SRCS@
524
525AQUA_HDRS = $(MAC_OSX_DIR)/tkMacOSX.h $(GENERIC_DIR)/tkIntXlibDecls.h
526
527AQUA_XLIB_HDRS = $(XLIB_DIR)/X11/*.h $(XLIB_DIR)/xbytes.h
528
529AQUA_PRIVATE_HDRS = $(MAC_OSX_DIR)/tkMacOSXPort.h $(MAC_OSX_DIR)/tkMacOSXInt.h
530
531X11_PRIVATE_HDRS = $(UNIX_DIR)/tkUnixPort.h $(UNIX_DIR)/tkUnixInt.h
532
533# Currently private, eventually public
534TTK_HDRS = $(TTK_DIR)/ttkTheme.h $(TTK_DIR)/ttkDecls.h
535
536PUBLIC_HDRS = $(GENERIC_DIR)/tk.h $(GENERIC_DIR)/tkDecls.h \
537	$(GENERIC_DIR)/tkPlatDecls.h $(@TK_WINDOWINGSYSTEM@_HDRS)
538
539# The private headers we want installed for install-private-headers
540PRIVATE_HDRS = $(GENERIC_DIR)/tkInt.h $(GENERIC_DIR)/tkIntDecls.h \
541	$(GENERIC_DIR)/tkIntPlatDecls.h $(GENERIC_DIR)/tkPort.h \
542	$(TTK_HDRS) $(@TK_WINDOWINGSYSTEM@_PRIVATE_HDRS)
543
544DEMOPROGS = browse hello ixset rmt rolodex tcolor timer widget
545
546SHELL_ENV = \
547	@LD_LIBRARY_PATH_VAR@="`pwd`:${TCL_BIN_DIR}:$${@LD_LIBRARY_PATH_VAR@}"; \
548	export @LD_LIBRARY_PATH_VAR@; \
549	TCL_LIBRARY=@TCL_SRC_DIR@/library; export TCL_LIBRARY; \
550	TK_LIBRARY=@TK_SRC_DIR@/library; export TK_LIBRARY;
551
552all: binaries libraries doc
553
554binaries: ${LIB_FILE} ${STUB_LIB_FILE} wish@EXEEXT@
555
556libraries:
557
558$(TOP_DIR)/doc/man.macros:
559	chmod +x $(UNIX_DIR)/install-sh
560	$(INSTALL_DATA) @TCL_SRC_DIR@/doc/man.macros $(TOP_DIR)/doc/man.macros
561
562doc: $(TOP_DIR)/doc/man.macros
563
564# The following target is configured by autoconf to generate either
565# a shared library or non-shared library for Tk.
566${LIB_FILE}: ${OBJS} ${STUB_LIB_FILE} @LIB_RSRC_FILE@
567	rm -f $@
568	@MAKE_LIB@
569
570${STUB_LIB_FILE}: ${STUB_LIB_OBJS}
571	rm -f $@
572	@MAKE_STUB_LIB@
573
574# Make target which outputs the list of the .o contained in the Tk lib
575# usefull to build a single big shared library containing Tcl/Tk and other
576# extensions.  used for the Tcl Plugin.  -- dl
577tkLibObjs:
578	@echo ${OBJS}
579# This targets actually build the objects needed for the lib in the above
580# case
581objs: ${OBJS}
582
583
584wish@EXEEXT@: $(WISH_OBJS) $(TK_LIB_FILE) $(TK_STUB_LIB_FILE) @APP_RSRC_FILE@
585	${CC} ${CFLAGS} ${LDFLAGS} $(WISH_OBJS) @TK_BUILD_LIB_SPEC@ \
586		$(WISH_LIBS) $(CC_SEARCH_FLAGS) -o wish@EXEEXT@
587
588# Resetting the LIB_RUNTIME_DIR below is required so that
589# the generated tktest executable gets the build directory
590# burned into its ld search path. This keeps tktest from
591# picking up an already installed version of the Tcl or
592# Tk shared libraries.
593
594tktest@EXEEXT@: $(TKTEST_OBJS) $(TK_LIB_FILE)
595	$(MAKE) tktest-real LIB_RUNTIME_DIR="`pwd`:$(TCL_BIN_DIR)"
596
597tktest-real:
598	${CC} ${CFLAGS} ${LDFLAGS} $(TKTEST_OBJS) @TK_BUILD_LIB_SPEC@ \
599		$(WISH_LIBS) $(CC_SEARCH_FLAGS) -o tktest@EXEEXT@
600
601# FIXME: This xttest rule seems to be broken in a number of ways.
602# It should use CC_SEARCH_FLAGS, it does not include the shared
603# lib location logic from tktest, and it is not clear where this
604# test.o object file comes from.
605xttest: test.o tkTest.o tkSquare.o $(TK_LIB_FILE)
606	${CC} ${CFLAGS} ${LDFLAGS} test.o tkTest.o tkSquare.o \
607		@TK_BUILD_LIB_SPEC@ \
608		$(WISH_LIBS) $(LD_SEARCH_FLAGS) -lXt -o xttest
609
610# Note, in the target below TCL_LIBRARY needs to be set or else
611# "make test" won't work in the case where the compilation directory
612# isn't the same as the source directory.
613# Specifying TESTFLAGS on the command line is the standard way to pass
614# args to tcltest, ie:
615#	% make test TESTFLAGS="-verbose bps -file fileName.test"
616
617test: test-classic test-ttk
618
619test-classic: tktest@EXEEXT@
620	$(SHELL_ENV) ./tktest@EXEEXT@ $(TEST_DIR)/all.tcl -geometry +0+0 $(TESTFLAGS)
621
622test-ttk: tktest@EXEEXT@
623	$(SHELL_ENV) ./tktest@EXEEXT@ $(TEST_DIR)/ttk/all.tcl -geometry +0+0 \
624	$(TESTFLAGS)
625
626# Tests with different languages
627testlang: tktest@EXEEXT@
628	$(SHELL_ENV) \
629	for lang in $(LOCALES) ;  \
630	do \
631	LANG=$(lang); export LANG; \
632	./tktest@EXEEXT@ $(TEST_DIR)/all.tcl -geometry +0+0 \
633	$(TESTFLAGS); \
634	done
635
636# Useful target to launch a built tktest with the proper path,...
637runtest: tktest@EXEEXT@
638	$(SHELL_ENV) ./tktest@EXEEXT@
639
640# This target can be used to run wish from the build directory
641# via `make shell` or `make shell SCRIPT=/tmp/foo.tcl`
642shell: wish@EXEEXT@
643	$(SHELL_ENV) ./wish@EXEEXT@ $(SCRIPT)
644
645demo:
646	$(SHELL_ENV) ./wish@EXEEXT@ $(TOP_DIR)/library/demos/widget
647
648# This target can be used to run wish inside either gdb or insight
649gdb: wish@EXEEXT@
650	@echo "set env @LD_LIBRARY_PATH_VAR@=\"`pwd`:${TCL_BIN_DIR}:$${@LD_LIBRARY_PATH_VAR@}\"" > gdb.run
651	@echo "set env TCL_LIBRARY=@TCL_SRC_DIR@/library" >> gdb.run
652	@echo "set env TK_LIBRARY=@TK_SRC_DIR@/library" >> gdb.run
653	gdb ./wish@EXEEXT@ --command=gdb.run
654	rm gdb.run
655
656VALGRINDARGS=--tool=memcheck --num-callers=8 --leak-resolution=high --leak-check=yes --show-reachable=yes -v
657
658valgrind: tktest@EXEEXT@
659	$(SHELL_ENV) valgrind $(VALGRINDARGS) ./tktest@EXEEXT@ $(TEST_DIR)/all.tcl -geometry +0+0 -singleproc 1 $(TESTFLAGS)
660
661valgrindshell: tktest@EXEEXT@
662	$(SHELL_ENV) valgrind $(VALGRINDARGS) ./tktest@EXEEXT@ $(SCRIPT)
663
664INSTALL_TARGETS = install-binaries install-libraries install-demos install-doc @EXTRA_INSTALL@
665
666install: $(INSTALL_TARGETS)
667
668install-strip:
669	$(MAKE) $(INSTALL_TARGETS) \
670		INSTALL_PROGRAM="$(INSTALL_PROGRAM) ${INSTALL_STRIP_PROGRAM}" \
671		INSTALL_LIBRARY="$(INSTALL_LIBRARY) ${INSTALL_STRIP_LIBRARY}"
672
673# Note: before running ranlib below, must cd to target directory because
674# some ranlibs write to current directory, and this might not always be
675# possible (e.g. if installing as root).
676
677install-binaries: $(TK_LIB_FILE) $(TK_STUB_LIB_FILE) wish@EXEEXT@
678	@for i in "$(LIB_INSTALL_DIR)" "$(BIN_INSTALL_DIR)" \
679	    "$(PKG_INSTALL_DIR)" "$(CONFIG_INSTALL_DIR)" ; \
680	    do \
681	    if [ ! -d "$$i" ] ; then \
682		echo "Making directory $$i"; \
683		mkdir -p "$$i"; \
684		chmod 755 "$$i"; \
685		else true; \
686		fi; \
687	    done;
688	@if test ! -x $(SRC_DIR)/install-sh; then \
689	    chmod +x $(SRC_DIR)/install-sh; \
690	    fi
691	@if test "x$(TK_SHARED_BUILD)" = "x1"; then \
692	    echo "Creating package index $(PKG_INDEX)"; \
693	    rm -f "$(PKG_INDEX)"; \
694	    (\
695	    echo "if {[catch {package present Tcl 8.5.0}]} { return }";\
696	    relative=`echo | awk '{ORS=" "; split("$(TK_PKG_DIR)",a,"/"); for (f in a) {print ".."}}'`;\
697	    echo "package ifneeded Tk $(MAJOR_VERSION).$(MINOR_VERSION)$(PATCH_LEVEL)\
698		[list load [file join \$$dir $${relative}$(TK_LIB_FILE)] Tk]";\
699	    ) > "$(PKG_INDEX)"; \
700	    fi
701	@echo "Installing $(LIB_FILE) to $(LIB_INSTALL_DIR)/"
702	@@INSTALL_LIB@
703	@chmod 555 "$(LIB_INSTALL_DIR)"/$(LIB_FILE)
704	@echo "Installing wish@EXEEXT@ as $(BIN_INSTALL_DIR)/wish$(VERSION)@EXEEXT@"
705	@$(INSTALL_PROGRAM) wish@EXEEXT@ "$(BIN_INSTALL_DIR)"/wish$(VERSION)@EXEEXT@
706	@echo "Installing tkConfig.sh to $(CONFIG_INSTALL_DIR)/"
707	@$(INSTALL_DATA) tkConfig.sh "$(CONFIG_INSTALL_DIR)"/tkConfig.sh
708	@if test "$(STUB_LIB_FILE)" != "" ; then \
709	    echo "Installing $(STUB_LIB_FILE) to $(LIB_INSTALL_DIR)/"; \
710	    @INSTALL_STUB_LIB@ ; \
711	fi
712	@EXTRA_INSTALL_BINARIES@
713
714install-libraries: libraries
715	@if test "$(@TK_WINDOWINGSYSTEM@_XLIB_HDRS)" != ""; then \
716	    XLIB_INCLUDE_INSTALL_DIR="$(INCLUDE_INSTALL_DIR)"/X11; fi; \
717	for i in "$(INCLUDE_INSTALL_DIR)" "$${XLIB_INCLUDE_INSTALL_DIR}" \
718		"$(SCRIPT_INSTALL_DIR)" "$(SCRIPT_INSTALL_DIR)"/images \
719		"$(SCRIPT_INSTALL_DIR)"/msgs "$(SCRIPT_INSTALL_DIR)"/ttk; \
720	    do \
721	    if [ -n "$$i" -a ! -d "$$i" ] ; then \
722		echo "Making directory $$i"; \
723		mkdir -p "$$i"; \
724		chmod 755 "$$i"; \
725		else true; \
726		fi; \
727	    done;
728	@if test ! -x $(SRC_DIR)/install-sh; then \
729	    chmod +x $(SRC_DIR)/install-sh; \
730	    fi
731	@echo "Installing header files";
732	@for i in $(PUBLIC_HDRS); \
733	    do \
734	    $(INSTALL_DATA) $$i "$(INCLUDE_INSTALL_DIR)"; \
735	    done;
736	@list='$(@TK_WINDOWINGSYSTEM@_XLIB_HDRS)'; for i in $$list ; \
737	    do \
738	    $(INSTALL_DATA) $$i "$(INCLUDE_INSTALL_DIR)"/X11; \
739	    done;
740	@echo "Installing library files to $(SCRIPT_INSTALL_DIR)";
741	@for i in $(TOP_DIR)/library/*.tcl \
742	        $(TOP_DIR)/library/tclIndex $(UNIX_DIR)/tkAppInit.c; \
743	    do \
744	    $(INSTALL_DATA) $$i "$(SCRIPT_INSTALL_DIR)"; \
745	    done;
746	@echo "Installing library ttk directory";
747	@for i in $(TOP_DIR)/library/ttk/*.tcl; \
748	    do \
749	    if [ -f $$i ] ; then \
750		$(INSTALL_DATA) $$i "$(SCRIPT_INSTALL_DIR)"/ttk; \
751	    fi; \
752	    done;
753	@echo "Installing library images directory";
754	@for i in $(TOP_DIR)/library/images/*; \
755	    do \
756	    if [ -f $$i ] ; then \
757		$(INSTALL_DATA) $$i "$(SCRIPT_INSTALL_DIR)"/images; \
758	    fi; \
759	    done;
760	@echo "Installing translation directory";
761	@for i in $(TOP_DIR)/library/msgs/*.msg; \
762	    do \
763	    if [ -f $$i ] ; then \
764		$(INSTALL_DATA) $$i "$(SCRIPT_INSTALL_DIR)"/msgs; \
765	    fi; \
766	    done;
767
768install-demos:
769	@for i in "$(DEMO_INSTALL_DIR)" "$(DEMO_INSTALL_DIR)"/images ; \
770	    do \
771	    if [ ! -d "$$i" ] ; then \
772		echo "Making directory $$i"; \
773		mkdir -p "$$i"; \
774		chmod 755 "$$i"; \
775		else true; \
776		fi; \
777	    done;
778	@echo "Installing demos to $(DEMO_INSTALL_DIR)/";
779	@for i in $(TOP_DIR)/library/demos/*; \
780	    do \
781	    if [ -f $$i ] ; then \
782		sed -e '3 s|exec wish|exec wish$(VERSION)|' \
783			$$i > "$(DEMO_INSTALL_DIR)"/`basename $$i`; \
784	    fi; \
785	    done;
786	@for i in $(DEMOPROGS); \
787	    do \
788	    chmod 755 "$(DEMO_INSTALL_DIR)"/$$i; \
789	    done;
790	@echo "Installing demo images";
791	@for i in $(TOP_DIR)/library/demos/images/*; \
792	    do \
793	    if [ -f $$i ] ; then \
794		$(INSTALL_DATA) $$i "$(DEMO_INSTALL_DIR)"/images; \
795		fi; \
796	    done;
797
798install-doc:
799	@for i in "$(MAN_INSTALL_DIR)" "$(MAN1_INSTALL_DIR)" "$(MAN3_INSTALL_DIR)" "$(MANN_INSTALL_DIR)" ; \
800	    do \
801	    if [ ! -d "$$i" ] ; then \
802		echo "Making directory $$i"; \
803		mkdir -p "$$i"; \
804		chmod 755 "$$i"; \
805		else true; \
806		fi; \
807	    done;
808	@echo "Installing and cross-linking top-level (.1) docs";
809	@for i in $(TOP_DIR)/doc/*.1; do \
810	    $(SHELL) $(UNIX_DIR)/installManPage $(MAN_FLAGS) $$i "$(MAN1_INSTALL_DIR)"; \
811	done
812
813	@echo "Installing and cross-linking C API (.3) docs";
814	@for i in $(TOP_DIR)/doc/*.3; do \
815	    $(SHELL) $(UNIX_DIR)/installManPage $(MAN_FLAGS) $$i "$(MAN3_INSTALL_DIR)"; \
816	done
817
818	@echo "Installing and cross-linking command (.n) docs";
819	@for i in $(TOP_DIR)/doc/*.n; do \
820	    $(SHELL) $(UNIX_DIR)/installManPage $(MAN_FLAGS) $$i "$(MANN_INSTALL_DIR)"; \
821	done
822
823# Optional target to install private headers
824install-private-headers: libraries
825	@for i in "$(PRIVATE_INCLUDE_INSTALL_DIR)"; \
826	    do \
827	    if [ ! -d "$$i" ] ; then \
828		echo "Making directory $$i"; \
829		mkdir -p "$$i"; \
830		chmod 755 "$$i"; \
831		else true; \
832		fi; \
833	    done;
834	@if test ! -x $(SRC_DIR)/install-sh; then \
835	    chmod +x $(SRC_DIR)/install-sh; \
836	    fi
837	@echo "Installing private header files";
838	@for i in $(PRIVATE_HDRS); \
839	    do \
840	    $(INSTALL_DATA) $$i "$(PRIVATE_INCLUDE_INSTALL_DIR)"; \
841	    done;
842	@if test -f tkConfig.h; then\
843	    $(INSTALL_DATA) tkConfig.h "$(PRIVATE_INCLUDE_INSTALL_DIR)"; \
844	    fi;
845
846Makefile: $(UNIX_DIR)/Makefile.in
847	$(SHELL) config.status
848#tkConfig.h: $(UNIX_DIR)/tkConfig.h.in
849#	$(SHELL) config.status
850
851clean:
852	rm -f *.a *.o libtk* core errs *~ \#* TAGS *.E a.out \
853		errors wish@EXEEXT@ tktest@EXEEXT@ lib.exp Tk *.rsrc
854
855distclean: clean
856	rm -rf Makefile config.status config.cache config.log tkConfig.sh \
857		$(PACKAGE).* prototype tkConfig.h *.plist Tk.framework
858
859depend:
860	makedepend -- $(DEPEND_SWITCHES) -- $(SRCS)
861
862# Test binaries.  The rule for tkTestInit.o is complicated because
863# it is is compiled from tkAppInit.c.  Can't use the "-o" option
864# because this doesn't work on some strange compilers (e.g. UnixWare).
865# To enable concurrent parallel make of wish and tktest, this target has to
866# depend on wish, this ensures that linking of wish with tkTestInit.o does not
867# execute concurrently with the renaming and recompiling of that same object
868# file in the target below.
869
870tkTestInit.o: $(UNIX_DIR)/tkAppInit.c wish@EXEEXT@
871	@if test -f tkAppInit.o ; then \
872	    rm -f tkAppInit.sav; \
873	    mv tkAppInit.o tkAppInit.sav; \
874	fi;
875	$(CC) -c $(APP_CC_SWITCHES) -DTK_TEST $(UNIX_DIR)/tkAppInit.c
876	rm -f tkTestInit.o
877	mv tkAppInit.o tkTestInit.o
878	@if test -f tkAppInit.sav ; then \
879	    mv tkAppInit.sav tkAppInit.o; \
880	fi;
881
882tkAppInit.o: $(UNIX_DIR)/tkAppInit.c
883	$(CC) -c $(APP_CC_SWITCHES) $(UNIX_DIR)/tkAppInit.c
884
885tk3d.o: $(GENERIC_DIR)/tk3d.c
886	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tk3d.c
887
888tkArgv.o: $(GENERIC_DIR)/tkArgv.c
889	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkArgv.c
890
891tkAtom.o: $(GENERIC_DIR)/tkAtom.c
892	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkAtom.c
893
894tkBind.o: $(GENERIC_DIR)/tkBind.c
895	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkBind.c
896
897tkBitmap.o: $(GENERIC_DIR)/tkBitmap.c
898	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkBitmap.c
899
900tkClipboard.o: $(GENERIC_DIR)/tkClipboard.c
901	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkClipboard.c
902
903tkCmds.o: $(GENERIC_DIR)/tkCmds.c
904	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCmds.c
905
906tkColor.o: $(GENERIC_DIR)/tkColor.c
907	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkColor.c
908
909tkConfig.o: $(GENERIC_DIR)/tkConfig.c
910	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkConfig.c
911
912tkConsole.o: $(GENERIC_DIR)/tkConsole.c
913	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkConsole.c
914
915tkCursor.o: $(GENERIC_DIR)/tkCursor.c
916	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCursor.c
917
918tkError.o: $(GENERIC_DIR)/tkError.c
919	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkError.c
920
921tkEvent.o: $(GENERIC_DIR)/tkEvent.c
922	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkEvent.c
923
924tkFocus.o: $(GENERIC_DIR)/tkFocus.c
925	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkFocus.c
926
927tkFont.o: $(GENERIC_DIR)/tkFont.c
928	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkFont.c
929
930tkGet.o: $(GENERIC_DIR)/tkGet.c
931	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkGet.c
932
933tkGC.o: $(GENERIC_DIR)/tkGC.c
934	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkGC.c
935
936tkGeometry.o: $(GENERIC_DIR)/tkGeometry.c
937	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkGeometry.c
938
939tkGrab.o: $(GENERIC_DIR)/tkGrab.c
940	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkGrab.c
941
942tkGrid.o: $(GENERIC_DIR)/tkGrid.c
943	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkGrid.c
944
945tkMain.o: $(GENERIC_DIR)/tkMain.c
946	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkMain.c
947
948tkObj.o: $(GENERIC_DIR)/tkObj.c
949	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkObj.c
950
951tkOldConfig.o: $(GENERIC_DIR)/tkOldConfig.c
952	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkOldConfig.c
953
954tkOption.o: $(GENERIC_DIR)/tkOption.c
955	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkOption.c
956
957tkPack.o: $(GENERIC_DIR)/tkPack.c
958	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkPack.c
959
960tkPlace.o: $(GENERIC_DIR)/tkPlace.c
961	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkPlace.c
962
963tkSelect.o: $(GENERIC_DIR)/tkSelect.c
964	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkSelect.c
965
966tkStyle.o: $(GENERIC_DIR)/tkStyle.c
967	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkStyle.c
968
969tkUtil.o: $(GENERIC_DIR)/tkUtil.c
970	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkUtil.c
971
972tkVisual.o: $(GENERIC_DIR)/tkVisual.c
973	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkVisual.c
974
975tkWindow.o: $(GENERIC_DIR)/tkWindow.c
976	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkWindow.c
977
978tkButton.o: $(GENERIC_DIR)/tkButton.c
979	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkButton.c
980
981tkEntry.o: $(GENERIC_DIR)/tkEntry.c
982	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkEntry.c
983
984tkFrame.o: $(GENERIC_DIR)/tkFrame.c
985	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkFrame.c
986
987tkListbox.o: $(GENERIC_DIR)/tkListbox.c
988	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkListbox.c
989
990tkMenu.o: $(GENERIC_DIR)/tkMenu.c
991	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkMenu.c
992
993tkMenubutton.o: $(GENERIC_DIR)/tkMenubutton.c
994	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkMenubutton.c
995
996tkMenuDraw.o: $(GENERIC_DIR)/tkMenuDraw.c
997	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkMenuDraw.c
998
999tkMessage.o: $(GENERIC_DIR)/tkMessage.c
1000	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkMessage.c
1001
1002tkPanedWindow.o: $(GENERIC_DIR)/tkPanedWindow.c
1003	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkPanedWindow.c
1004
1005tkScale.o: $(GENERIC_DIR)/tkScale.c
1006	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkScale.c
1007
1008tkScrollbar.o: $(GENERIC_DIR)/tkScrollbar.c
1009	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkScrollbar.c
1010
1011tkSquare.o: $(GENERIC_DIR)/tkSquare.c
1012	$(CC) -c $(APP_CC_SWITCHES) $(GENERIC_DIR)/tkSquare.c
1013
1014tkCanvas.o: $(GENERIC_DIR)/tkCanvas.c
1015	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCanvas.c
1016
1017tkCanvArc.o: $(GENERIC_DIR)/tkCanvArc.c
1018	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCanvArc.c
1019
1020tkCanvBmap.o: $(GENERIC_DIR)/tkCanvBmap.c
1021	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCanvBmap.c
1022
1023tkCanvImg.o: $(GENERIC_DIR)/tkCanvImg.c
1024	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCanvImg.c
1025
1026tkCanvLine.o: $(GENERIC_DIR)/tkCanvLine.c
1027	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCanvLine.c
1028
1029tkCanvPoly.o: $(GENERIC_DIR)/tkCanvPoly.c
1030	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCanvPoly.c
1031
1032tkCanvPs.o: $(GENERIC_DIR)/tkCanvPs.c
1033	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCanvPs.c
1034
1035tkCanvText.o: $(GENERIC_DIR)/tkCanvText.c
1036	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCanvText.c
1037
1038tkCanvUtil.o: $(GENERIC_DIR)/tkCanvUtil.c
1039	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCanvUtil.c
1040
1041tkCanvWind.o: $(GENERIC_DIR)/tkCanvWind.c
1042	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCanvWind.c
1043
1044tkRectOval.o: $(GENERIC_DIR)/tkRectOval.c
1045	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkRectOval.c
1046
1047tkTrig.o: $(GENERIC_DIR)/tkTrig.c
1048	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkTrig.c
1049
1050tkImage.o: $(GENERIC_DIR)/tkImage.c
1051	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkImage.c
1052
1053tkImgBmap.o: $(GENERIC_DIR)/tkImgBmap.c
1054	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkImgBmap.c
1055
1056tkImgGIF.o: $(GENERIC_DIR)/tkImgGIF.c
1057	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkImgGIF.c
1058
1059tkImgPPM.o: $(GENERIC_DIR)/tkImgPPM.c
1060	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkImgPPM.c
1061
1062tkImgPhoto.o: $(GENERIC_DIR)/tkImgPhoto.c
1063	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkImgPhoto.c
1064
1065tkOldTest.o: $(GENERIC_DIR)/tkOldTest.c
1066	$(CC) -c $(APP_CC_SWITCHES) $(GENERIC_DIR)/tkOldTest.c
1067
1068tkTest.o: $(GENERIC_DIR)/tkTest.c
1069	$(CC) -c $(APP_CC_SWITCHES) $(GENERIC_DIR)/tkTest.c
1070
1071tkText.o: $(GENERIC_DIR)/tkText.c
1072	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkText.c
1073
1074tkTextBTree.o: $(GENERIC_DIR)/tkTextBTree.c
1075	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkTextBTree.c
1076
1077tkTextDisp.o: $(GENERIC_DIR)/tkTextDisp.c
1078	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkTextDisp.c
1079
1080tkTextImage.o: $(GENERIC_DIR)/tkTextImage.c
1081	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkTextImage.c
1082
1083tkTextIndex.o: $(GENERIC_DIR)/tkTextIndex.c
1084	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkTextIndex.c
1085
1086tkTextMark.o: $(GENERIC_DIR)/tkTextMark.c
1087	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkTextMark.c
1088
1089tkTextTag.o: $(GENERIC_DIR)/tkTextTag.c
1090	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkTextTag.c
1091
1092tkTextWind.o: $(GENERIC_DIR)/tkTextWind.c
1093	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkTextWind.c
1094
1095tkStubInit.o: $(GENERIC_DIR)/tkStubInit.c
1096	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkStubInit.c
1097
1098# Stub library binaries, these must be compiled for use in a shared library
1099# even though they will be placed in a static archive
1100
1101tkStubLib.o: $(GENERIC_DIR)/tkStubLib.c
1102	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkStubLib.c
1103
1104tkUndo.o: $(GENERIC_DIR)/tkUndo.c
1105	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkUndo.c
1106
1107tkUnix.o: $(UNIX_DIR)/tkUnix.c
1108	$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnix.c
1109
1110tkUnix3d.o: $(UNIX_DIR)/tkUnix3d.c
1111	$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnix3d.c
1112
1113tkUnixButton.o: $(UNIX_DIR)/tkUnixButton.c
1114	$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixButton.c
1115
1116tkUnixColor.o: $(UNIX_DIR)/tkUnixColor.c
1117	$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixColor.c
1118
1119tkUnixConfig.o: $(UNIX_DIR)/tkUnixConfig.c
1120	$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixConfig.c
1121
1122tkUnixCursor.o: $(UNIX_DIR)/tkUnixCursor.c
1123	$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixCursor.c
1124
1125tkUnixDraw.o: $(UNIX_DIR)/tkUnixDraw.c
1126	$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixDraw.c
1127
1128tkUnixEmbed.o: $(UNIX_DIR)/tkUnixEmbed.c
1129	$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixEmbed.c
1130
1131tkUnixEvent.o: $(UNIX_DIR)/tkUnixEvent.c
1132	$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixEvent.c
1133
1134tkUnixFocus.o: $(UNIX_DIR)/tkUnixFocus.c
1135	$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixFocus.c
1136
1137tkUnixFont.o: $(UNIX_DIR)/tkUnixFont.c
1138	$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixFont.c
1139
1140# NB: tkUnixRFont.o uses nondefault CFLAGS
1141tkUnixRFont.o: $(UNIX_DIR)/tkUnixRFont.c
1142	$(CC) -c $(CC_SWITCHES) $(XFT_CFLAGS) $(UNIX_DIR)/tkUnixRFont.c
1143
1144tkUnixInit.o: $(UNIX_DIR)/tkUnixInit.c tkConfig.sh
1145	$(CC) -c $(CC_SWITCHES) -DTK_LIBRARY=\"${TK_LIBRARY}\" \
1146	    $(UNIX_DIR)/tkUnixInit.c
1147
1148tkUnixKey.o: $(UNIX_DIR)/tkUnixKey.c
1149	$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixKey.c
1150
1151tkUnixMenu.o: $(UNIX_DIR)/tkUnixMenu.c
1152	$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixMenu.c
1153
1154tkUnixMenubu.o: $(UNIX_DIR)/tkUnixMenubu.c
1155	$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixMenubu.c
1156
1157tkUnixScale.o: $(UNIX_DIR)/tkUnixScale.c
1158	$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixScale.c
1159
1160tkUnixScrlbr.o: $(UNIX_DIR)/tkUnixScrlbr.c
1161	$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixScrlbr.c
1162
1163tkUnixSelect.o: $(UNIX_DIR)/tkUnixSelect.c
1164	$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixSelect.c
1165
1166tkUnixSend.o: $(UNIX_DIR)/tkUnixSend.c
1167	$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixSend.c
1168
1169tkUnixWm.o: $(UNIX_DIR)/tkUnixWm.c
1170	$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixWm.c
1171
1172tkUnixXId.o: $(UNIX_DIR)/tkUnixXId.c
1173	$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixXId.c
1174
1175tkMacOSXBitmap.o: $(MAC_OSX_DIR)/tkMacOSXBitmap.c
1176	$(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXBitmap.c
1177
1178tkMacOSXButton.o: $(MAC_OSX_DIR)/tkMacOSXButton.c
1179	$(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXButton.c
1180
1181tkMacOSXClipboard.o: $(MAC_OSX_DIR)/tkMacOSXClipboard.c
1182	$(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXClipboard.c
1183
1184tkMacOSXColor.o: $(MAC_OSX_DIR)/tkMacOSXColor.c
1185	$(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXColor.c
1186
1187tkMacOSXConfig.o: $(MAC_OSX_DIR)/tkMacOSXConfig.c
1188	$(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXConfig.c
1189
1190tkMacOSXCursor.o: $(MAC_OSX_DIR)/tkMacOSXCursor.c
1191	$(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXCursor.c
1192
1193tkMacOSXDebug.o: $(MAC_OSX_DIR)/tkMacOSXDebug.c
1194	$(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXDebug.c
1195
1196tkMacOSXDialog.o: $(MAC_OSX_DIR)/tkMacOSXDialog.c
1197	$(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXDialog.c
1198
1199tkMacOSXDraw.o: $(MAC_OSX_DIR)/tkMacOSXDraw.c
1200	$(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXDraw.c
1201
1202tkMacOSXEmbed.o: $(MAC_OSX_DIR)/tkMacOSXEmbed.c
1203	$(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXEmbed.c
1204
1205tkMacOSXEntry.o: $(MAC_OSX_DIR)/tkMacOSXEntry.c
1206	$(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXEntry.c
1207
1208tkMacOSXEvent.o: $(MAC_OSX_DIR)/tkMacOSXEvent.c
1209	$(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXEvent.c
1210
1211tkMacOSXFont.o: $(MAC_OSX_DIR)/tkMacOSXFont.c
1212	$(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXFont.c
1213
1214tkMacOSXHLEvents.o: $(MAC_OSX_DIR)/tkMacOSXHLEvents.c
1215	$(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXHLEvents.c
1216
1217tkMacOSXInit.o: $(MAC_OSX_DIR)/tkMacOSXInit.c tkConfig.sh
1218	$(CC) -c $(CC_SWITCHES) -DTK_LIBRARY=\"${TK_LIBRARY}\" \
1219	    $(MAC_OSX_DIR)/tkMacOSXInit.c
1220
1221tkMacOSXKeyboard.o: $(MAC_OSX_DIR)/tkMacOSXKeyboard.c
1222	$(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXKeyboard.c
1223
1224tkMacOSXKeyEvent.o: $(MAC_OSX_DIR)/tkMacOSXKeyEvent.c
1225	$(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXKeyEvent.c
1226
1227tkMacOSXMenu.o: $(MAC_OSX_DIR)/tkMacOSXMenu.c
1228	$(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXMenu.c
1229
1230tkMacOSXMenubutton.o: $(MAC_OSX_DIR)/tkMacOSXMenubutton.c
1231	$(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXMenubutton.c
1232
1233tkMacOSXMenus.o: $(MAC_OSX_DIR)/tkMacOSXMenus.c
1234	$(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXMenus.c
1235
1236tkMacOSXMouseEvent.o: $(MAC_OSX_DIR)/tkMacOSXMouseEvent.c
1237	$(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXMouseEvent.c
1238
1239tkMacOSXNotify.o: $(MAC_OSX_DIR)/tkMacOSXNotify.c
1240	$(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXNotify.c
1241
1242tkMacOSXRegion.o: $(MAC_OSX_DIR)/tkMacOSXRegion.c
1243	$(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXRegion.c
1244
1245tkMacOSXScale.o: $(MAC_OSX_DIR)/tkMacOSXScale.c
1246	$(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXScale.c
1247
1248tkMacOSXScrlbr.o: $(MAC_OSX_DIR)/tkMacOSXScrlbr.c
1249	$(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXScrlbr.c
1250
1251tkMacOSXSend.o: $(MAC_OSX_DIR)/tkMacOSXSend.c
1252	$(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXSend.c
1253
1254tkMacOSXSubwindows.o: $(MAC_OSX_DIR)/tkMacOSXSubwindows.c
1255	$(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXSubwindows.c
1256
1257tkMacOSXTest.o: $(MAC_OSX_DIR)/tkMacOSXTest.c
1258	$(CC) -c $(APP_CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXTest.c
1259
1260tkMacOSXWindowEvent.o: $(MAC_OSX_DIR)/tkMacOSXWindowEvent.c
1261	$(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXWindowEvent.c
1262
1263tkMacOSXWm.o: $(MAC_OSX_DIR)/tkMacOSXWm.c
1264	$(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXWm.c
1265
1266tkMacOSXXStubs.o: $(MAC_OSX_DIR)/tkMacOSXXStubs.c
1267	$(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/tkMacOSXXStubs.c
1268
1269tkFileFilter.o: $(GENERIC_DIR)/tkFileFilter.c
1270	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkFileFilter.c
1271
1272tkMacWinMenu.o: $(GENERIC_DIR)/tkMacWinMenu.c
1273	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkMacWinMenu.c
1274
1275tkPointer.o: $(GENERIC_DIR)/tkPointer.c
1276	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkPointer.c
1277
1278xcolors.o: $(XLIB_DIR)/xcolors.c
1279	$(CC) -c $(CC_SWITCHES) $(XLIB_DIR)/xcolors.c
1280
1281xdraw.o: $(XLIB_DIR)/xdraw.c
1282	$(CC) -c $(CC_SWITCHES) $(XLIB_DIR)/xdraw.c
1283
1284xgc.o: $(XLIB_DIR)/xgc.c
1285	$(CC) -c $(CC_SWITCHES) $(XLIB_DIR)/xgc.c
1286
1287ximage.o: $(XLIB_DIR)/ximage.c
1288	$(CC) -c $(CC_SWITCHES) $(XLIB_DIR)/ximage.c
1289
1290xutil.o: $(XLIB_DIR)/xutil.c
1291	$(CC) -c $(CC_SWITCHES) $(XLIB_DIR)/xutil.c
1292
1293ttkBlink.o: $(TTK_DIR)/ttkBlink.c
1294	$(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkBlink.c
1295
1296ttkButton.o: $(TTK_DIR)/ttkButton.c
1297	$(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkButton.c
1298
1299ttkCache.o: $(TTK_DIR)/ttkCache.c
1300	$(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkCache.c
1301
1302ttkClamTheme.o: $(TTK_DIR)/ttkClamTheme.c
1303	$(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkClamTheme.c
1304
1305ttkClassicTheme.o: $(TTK_DIR)/ttkClassicTheme.c
1306	$(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkClassicTheme.c
1307
1308ttkDefaultTheme.o: $(TTK_DIR)/ttkDefaultTheme.c
1309	$(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkDefaultTheme.c
1310
1311ttkElements.o: $(TTK_DIR)/ttkElements.c
1312	$(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkElements.c
1313
1314ttkEntry.o: $(TTK_DIR)/ttkEntry.c
1315	$(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkEntry.c
1316
1317ttkFrame.o: $(TTK_DIR)/ttkFrame.c
1318	$(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkFrame.c
1319
1320ttkImage.o: $(TTK_DIR)/ttkImage.c
1321	$(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkImage.c
1322
1323ttkInit.o: $(TTK_DIR)/ttkInit.c
1324	$(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkInit.c
1325
1326ttkLabel.o: $(TTK_DIR)/ttkLabel.c
1327	$(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkLabel.c
1328
1329ttkLayout.o: $(TTK_DIR)/ttkLayout.c
1330	$(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkLayout.c
1331
1332ttkManager.o: $(TTK_DIR)/ttkManager.c
1333	$(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkManager.c
1334
1335ttkNotebook.o: $(TTK_DIR)/ttkNotebook.c
1336	$(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkNotebook.c
1337
1338ttkPanedwindow.o: $(TTK_DIR)/ttkPanedwindow.c
1339	$(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkPanedwindow.c
1340
1341ttkProgress.o: $(TTK_DIR)/ttkProgress.c
1342	$(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkProgress.c
1343
1344ttkScale.o: $(TTK_DIR)/ttkScale.c
1345	$(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkScale.c
1346
1347ttkScroll.o: $(TTK_DIR)/ttkScroll.c
1348	$(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkScroll.c
1349
1350ttkScrollbar.o: $(TTK_DIR)/ttkScrollbar.c
1351	$(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkScrollbar.c
1352
1353ttkSeparator.o: $(TTK_DIR)/ttkSeparator.c
1354	$(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkSeparator.c
1355
1356ttkSquare.o: $(TTK_DIR)/ttkSquare.c
1357	$(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkSquare.c
1358
1359ttkState.o: $(TTK_DIR)/ttkState.c
1360	$(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkState.c
1361
1362ttkStubInit.o: $(TTK_DIR)/ttkStubInit.c
1363	$(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkStubInit.c
1364
1365ttkStubLib.o: $(TTK_DIR)/ttkStubLib.c
1366	$(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkStubLib.c
1367
1368ttkTagSet.o: $(TTK_DIR)/ttkTagSet.c
1369	$(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkTagSet.c
1370
1371ttkTheme.o: $(TTK_DIR)/ttkTheme.c
1372	$(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkTheme.c
1373
1374ttkTrace.o: $(TTK_DIR)/ttkTrace.c
1375	$(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkTrace.c
1376
1377ttkTrack.o: $(TTK_DIR)/ttkTrack.c
1378	$(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkTrack.c
1379
1380ttkTreeview.o: $(TTK_DIR)/ttkTreeview.c
1381	$(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkTreeview.c
1382
1383ttkWidget.o: $(TTK_DIR)/ttkWidget.c
1384	$(CC) -c $(CC_SWITCHES) $(TTK_DIR)/ttkWidget.c
1385
1386ttkMacOSXTheme.o: $(MAC_OSX_DIR)/ttkMacOSXTheme.c
1387	$(CC) -c $(CC_SWITCHES) $(MAC_OSX_DIR)/ttkMacOSXTheme.c
1388
1389.c.o:
1390	$(CC) -c $(CC_SWITCHES) $<
1391
1392#
1393# Target to regenerate header files and stub files from the *.decls tables.
1394#
1395
1396$(GENERIC_DIR)/tkStubInit.c: $(GENERIC_DIR)/tk.decls \
1397		$(GENERIC_DIR)/tkInt.decls
1398	@echo "Warning: tkStubInit.c may be out of date."
1399	@echo "Developers may want to run \"make genstubs\" to regenerate."
1400	@echo "This warning can be safely ignored, do not report as a bug!"
1401
1402$(TTK_DIR)/ttkStubInit.c: $(TTK_DIR)/ttk.decls
1403	@echo "Warning: ttkStubInit.c may be out of date."
1404	@echo "Developers may want to run \"make genstubs\" to regenerate."
1405	@echo "This warning can be safely ignored, do not report as a bug!"
1406
1407genstubs:
1408	$(TCL_EXE) $(TOOL_DIR)/genStubs.tcl $(GENERIC_DIR) \
1409		$(GENERIC_DIR)/tk.decls $(GENERIC_DIR)/tkInt.decls
1410	$(TCL_EXE) $(TTK_DIR)/ttkGenStubs.tcl $(TTK_DIR) $(TTK_DIR)/ttk.decls
1411
1412#
1413# Target to check that all exported functions have an entry in the stubs
1414# tables.
1415#
1416
1417checkstubs: $(TK_LIB_FILE)
1418	-@for i in `nm -p $(TK_LIB_FILE) \
1419		| awk '$$2 ~ /^[TDBCS]$$/ { sub("^_", "", $$3); print $$3 }' \
1420		| sort -n`; do \
1421		match=0; \
1422		for j in $(TK_DECLS) $(TTK_DECLS); do \
1423		    if [ `grep -c "$$i *(" $$j` -gt 0 ]; then \
1424			match=1; \
1425		    fi; \
1426		done; \
1427		if [ $$match -eq 0 ]; then echo $$i; fi \
1428	done
1429
1430#
1431# Target to check for proper usage of UCHAR macro.
1432#
1433
1434checkuchar:
1435	-egrep isalnum\|isalpha\|iscntrl\|isdigit\|islower\|isprint\|ispunct\|isspace\|isupper\|isxdigit\|toupper\|tolower $(SRCS) | grep -v UCHAR
1436
1437#
1438# Target to make sure that only symbols with "Tk", "tk", "Ttk", "ttk" or "X"
1439# prefixes are exported.
1440#
1441
1442checkexports: $(TK_LIB_FILE)
1443	-@nm -p $(TK_LIB_FILE) \
1444	| awk '$$2 ~ /^[TDBCS]$$/ { sub("^_", "", $$3); print $$3 }' \
1445	| sort -n | grep -E -v '^([Tt]t?k|_?X)' || true
1446
1447#
1448# Target to create a Tk RPM for Linux.  Requires that you be on a Linux
1449# system.
1450#
1451
1452rpm: all /bin/rpm
1453	rm -f THIS.TCL.SPEC
1454	echo "%define _builddir `pwd`" > THIS.TK.SPEC
1455	echo "%define _rpmdir `pwd`/RPMS" >> THIS.TK.SPEC
1456	cat tk.spec >> THIS.TK.SPEC
1457	mkdir -p RPMS/i386
1458	rpm -bb THIS.TK.SPEC
1459	mv RPMS/i386/*.rpm .
1460	rm -rf RPMS THIS.TK.SPEC
1461
1462#
1463# Target to create a proper Tk distribution from information in the
1464# master source directory.  DISTDIR must be defined to indicate where
1465# to put the distribution.  DISTDIR must be an absolute path name.
1466#
1467
1468DISTROOT = /tmp/dist
1469DISTNAME = tk${VERSION}${PATCH_LEVEL}
1470ZIPNAME	 = tk${MAJOR_VERSION}${MINOR_VERSION}${PATCH_LEVEL}-src.zip
1471DISTDIR	 = $(DISTROOT)/$(DISTNAME)
1472TCLDIR   = @TCL_SRC_DIR@
1473$(UNIX_DIR)/configure: $(UNIX_DIR)/configure.in $(UNIX_DIR)/tcl.m4 \
1474		$(UNIX_DIR)/aclocal.m4
1475	cd $(UNIX_DIR); autoconf
1476$(MAC_OSX_DIR)/configure: $(MAC_OSX_DIR)/configure.ac $(UNIX_DIR)/configure
1477	cd $(MAC_OSX_DIR); autoconf
1478$(UNIX_DIR)/tkConfig.h.in: $(MAC_OSX_DIR)/configure
1479	cd $(MAC_OSX_DIR); autoheader; touch $@
1480
1481dist:   $(UNIX_DIR)/configure $(UNIX_DIR)/tkConfig.h.in $(MAC_OSX_DIR)/configure genstubs
1482	rm -rf $(DISTDIR)
1483	mkdir -p $(DISTDIR)/unix
1484	cp -p $(UNIX_DIR)/*.c $(UNIX_DIR)/*.h $(DISTDIR)/unix
1485	cp $(TOP_DIR)/license.terms $(UNIX_DIR)/Makefile.in $(DISTDIR)/unix
1486	chmod 664 $(DISTDIR)/unix/Makefile.in
1487	cp $(UNIX_DIR)/configure $(UNIX_DIR)/configure.in $(UNIX_DIR)/tk.spec \
1488		$(UNIX_DIR)/aclocal.m4 $(UNIX_DIR)/tcl.m4 \
1489		$(UNIX_DIR)/tkConfig.sh.in $(TCLDIR)/unix/install-sh \
1490		$(UNIX_DIR)/README $(UNIX_DIR)/installManPage \
1491		$(UNIX_DIR)/tkConfig.h.in $(DISTDIR)/unix
1492	chmod 775 $(DISTDIR)/unix/configure $(DISTDIR)/unix/configure.in
1493	chmod +x $(DISTDIR)/unix/install-sh
1494	mkdir $(DISTDIR)/bitmaps
1495	@(cd $(TOP_DIR); for i in bitmaps/* ; do \
1496	    if [ -f $$i ] ; then \
1497		sed -e 's/static char/static unsigned char/' \
1498		       $$i > $(DISTDIR)/$$i; \
1499	    fi; \
1500	done;)
1501	mkdir $(DISTDIR)/generic
1502	cp -p $(GENERIC_DIR)/*.[ch] $(DISTDIR)/generic
1503	cp -p $(GENERIC_DIR)/*.decls $(DISTDIR)/generic
1504	cp -p $(GENERIC_DIR)/README $(DISTDIR)/generic
1505	cp -p $(TOP_DIR)/changes $(TOP_DIR)/ChangeLog \
1506		$(TOP_DIR)/ChangeLog.2??? $(TOP_DIR)/README \
1507		$(TOP_DIR)/license.terms $(DISTDIR)
1508	rm -f $(DISTDIR)/generic/blt*.[ch]
1509	mkdir $(DISTDIR)/generic/ttk
1510	cp -p $(TTK_DIR)/*.[ch] $(TTK_DIR)/ttk.decls \
1511		$(TTK_DIR)/ttkGenStubs.tcl $(DISTDIR)/generic/ttk
1512	mkdir $(DISTDIR)/win
1513	cp $(TOP_DIR)/win/Makefile.in $(DISTDIR)/win
1514	cp $(TOP_DIR)/win/configure.in \
1515		$(TOP_DIR)/win/configure \
1516		$(TOP_DIR)/win/tkConfig.sh.in \
1517		$(TOP_DIR)/win/aclocal.m4 $(TOP_DIR)/win/tcl.m4 \
1518		$(DISTDIR)/win
1519	cp -p $(TOP_DIR)/win/*.[ch] $(TOP_DIR)/win/*.bat $(DISTDIR)/win
1520	$(TCL_EXE) $(TOOL_DIR)/eolFix.tcl -crlf $(DISTDIR)/win/*.bat
1521	cp -p $(TOP_DIR)/win/makefile.* $(DISTDIR)/win
1522	$(TCL_EXE) $(TOOL_DIR)/eolFix.tcl -crlf $(DISTDIR)/win/makefile.*
1523	cp -p $(TOP_DIR)/win/rules.vc $(DISTDIR)/win
1524	$(TCL_EXE) $(TOOL_DIR)/eolFix.tcl -crlf $(DISTDIR)/win/rules.vc
1525	cp -p $(TOP_DIR)/win/README $(DISTDIR)/win
1526	cp -p $(TOP_DIR)/license.terms $(DISTDIR)/win
1527	mkdir $(DISTDIR)/win/rc
1528	cp -p $(TOP_DIR)/win/wish.exe.manifest.in $(DISTDIR)/win/
1529	cp -p $(TOP_DIR)/win/rc/*.{rc,cur,ico,bmp} $(DISTDIR)/win/rc
1530	$(TCL_EXE) $(TOOL_DIR)/eolFix.tcl -crlf $(DISTDIR)/win/rc/*.rc
1531	$(TCL_EXE) $(TOOL_DIR)/eolFix.tcl -crlf $(DISTDIR)/win/wish.exe.manifest.in
1532	mkdir $(DISTDIR)/macosx
1533	cp -p $(MAC_OSX_DIR)/GNUmakefile $(MAC_OSX_DIR)/README \
1534		$(MAC_OSX_DIR)/Tk.* $(MAC_OSX_DIR)/*.[ch] \
1535		$(MAC_OSX_DIR)/*.in $(MAC_OSX_DIR)/*.ac \
1536		$(MAC_OSX_DIR)/*.xcconfig $(MAC_OSX_DIR)/*.sdef \
1537		$(MAC_OSX_DIR)/configure $(DISTDIR)/macosx
1538	cp -p $(TOP_DIR)/license.terms $(DISTDIR)/macosx
1539	mkdir $(DISTDIR)/macosx/Wish.xcode
1540	cp -p $(MAC_OSX_DIR)/Wish.xcode/project.pbxproj \
1541		$(MAC_OSX_DIR)/Wish.xcode/default.pbxuser \
1542		$(DISTDIR)/macosx/Wish.xcode
1543	mkdir $(DISTDIR)/macosx/Wish.xcodeproj
1544	cp -p $(MAC_OSX_DIR)/Wish.xcodeproj/project.pbxproj \
1545		$(MAC_OSX_DIR)/Wish.xcodeproj/default.pbxuser \
1546		$(DISTDIR)/macosx/Wish.xcodeproj
1547	mkdir $(DISTDIR)/compat
1548	cp -p $(TOP_DIR)/license.terms $(TCLDIR)/compat/unistd.h \
1549		$(TCLDIR)/compat/stdlib.h $(TCLDIR)/compat/limits.h \
1550		$(DISTDIR)/compat
1551	mkdir $(DISTDIR)/xlib
1552	cp -p $(XLIB_DIR)/*.[ch] $(DISTDIR)/xlib
1553	cp -p $(TOP_DIR)/license.terms $(DISTDIR)/xlib
1554	mkdir $(DISTDIR)/xlib/X11
1555	cp -p $(XLIB_DIR)/X11/*.h $(DISTDIR)/xlib/X11
1556	cp -p $(TOP_DIR)/license.terms $(DISTDIR)/xlib/X11
1557	mkdir $(DISTDIR)/library
1558	cp -p $(TOP_DIR)/license.terms $(TOP_DIR)/library/*.tcl \
1559		$(TOP_DIR)/library/tclIndex \
1560		$(DISTDIR)/library
1561	mkdir $(DISTDIR)/library/ttk
1562	cp -p $(TOP_DIR)/library/ttk/*.tcl $(DISTDIR)/library/ttk
1563	mkdir $(DISTDIR)/library/images
1564	@(cd $(TOP_DIR); for i in library/images/* ; do \
1565	    if [ -f $$i ] ; then \
1566		cp $$i $(DISTDIR)/$$i; \
1567	    fi; \
1568	done;)
1569	mkdir $(DISTDIR)/library/msgs
1570	@(cd $(TOP_DIR); for i in library/msgs/*.msg ; do \
1571	    if [ -f $$i ] ; then \
1572		cp $$i $(DISTDIR)/$$i; \
1573	    fi; \
1574	done;)
1575	mkdir $(DISTDIR)/library/demos
1576	cp -pr $(TOP_DIR)/library/demos/*.tcl \
1577		$(TOP_DIR)/library/demos/*.msg \
1578		$(TOP_DIR)/library/demos/tclIndex \
1579		$(TOP_DIR)/library/demos/browse \
1580		$(TOP_DIR)/library/demos/hello $(TOP_DIR)/library/demos/ixset \
1581		$(TOP_DIR)/library/demos/rmt $(TOP_DIR)/library/demos/rolodex \
1582		$(TOP_DIR)/library/demos/square \
1583		$(TOP_DIR)/library/demos/tcolor \
1584		$(TOP_DIR)/library/demos/timer \
1585		$(TOP_DIR)/library/demos/widget \
1586		$(TOP_DIR)/library/demos/README \
1587		$(TOP_DIR)/license.terms $(DISTDIR)/library/demos
1588	mkdir $(DISTDIR)/library/demos/images
1589	@(cd $(TOP_DIR); for i in library/demos/images/* ; do \
1590	    if [ -f $$i ] ; then \
1591		cp $$i $(DISTDIR)/$$i; \
1592	    fi; \
1593	done;)
1594	mkdir $(DISTDIR)/doc
1595	cp -p $(TOP_DIR)/license.terms $(TOP_DIR)/doc/*.[13n] \
1596		$(TCLDIR)/doc/man.macros $(DISTDIR)/doc
1597	mkdir $(DISTDIR)/tests
1598	cp -p $(TOP_DIR)/license.terms $(TEST_DIR)/*.{test,tcl} \
1599		$(TEST_DIR)/README $(TEST_DIR)/*.{gif,ppm,xbm} \
1600		$(TEST_DIR)/option.file* $(DISTDIR)/tests
1601	mkdir $(DISTDIR)/tests/ttk
1602	cp -p $(TEST_DIR)/ttk/*.{test,tcl} $(DISTDIR)/tests/ttk
1603
1604#
1605# The following target can only be used for non-patch releases.  Use
1606# the "allpatch" target below for patch releases.
1607#
1608
1609alldist: dist
1610	rm -f $(DISTROOT)/$(DISTNAME)-src.tar.gz $(DISTROOT)/$(ZIPNAME)
1611	cd $(DISTROOT); tar cf $(DISTNAME)-src.tar $(DISTNAME); \
1612		gzip -9 $(DISTNAME)-src.tar; zip -qr8 $(ZIPNAME) $(DISTNAME)
1613
1614#
1615# The target below is similar to "alldist" except it works for patch
1616# releases.  It is needed because patch releases are peculiar: the
1617# patch designation appears in the name of the compressed file
1618# (e.g. tk8.0p1.tar.gz) but the extracted source directory doesn't
1619# include the patch designation (e.g. tk8.0).
1620#
1621
1622allpatch: dist
1623	rm -f $(DISTROOT)/$(DISTNAME)-src.tar.gz $(DISTROOT)/$(ZIPNAME)
1624	mv $(DISTROOT)/tk${VERSION} $(DISTROOT)/old
1625	mv $(DISTROOT)/$(DISTNAME) $(DISTROOT)/tk${VERSION}
1626	cd $(DISTROOT); tar cf $(DISTNAME)-src.tar tk${VERSION}; \
1627		gzip -9 $(DISTNAME)-src.tar; zip -r8 $(ZIPNAME) tk${VERSION}
1628	mv $(DISTROOT)/tk${VERSION} $(DISTROOT)/$(DISTNAME)
1629	mv $(DISTROOT)/old $(DISTROOT)/tk${VERSION}
1630
1631#
1632# This target creates the HTML folder for Tcl & Tk and places it
1633# in DISTDIR/html.  It uses the tcltk-man2html.tcl tool from
1634# the Tcl group's tool workspace.  It depends on the Tcl & Tk being
1635# in directories called tcl8.3 & tk8.3 up two directories from the
1636# TOOL_DIR.
1637#
1638
1639html:
1640	$(BUILD_HTML)
1641	@EXTRA_BUILD_HTML@
1642html-tcl:
1643	$(BUILD_HTML) --tcl
1644	@EXTRA_BUILD_HTML@
1645html-tk:
1646	$(BUILD_HTML) --tk
1647	@EXTRA_BUILD_HTML@
1648
1649BUILD_HTML = \
1650	@if test -f "$(BUILD_TCLSH)"; then \
1651	$(SHELL_ENV) TCLSH="$(BUILD_TCLSH)"; else \
1652	TCLSH="$(TCL_EXE)"; fi ;\
1653	"$${TCLSH}" $(TOOL_DIR)/tcltk-man2html.tcl --htmldir="$(HTML_INSTALL_DIR)" \
1654		--srcdir=$(TOP_DIR)/.. $(BUILD_HTML_FLAGS)
1655
1656#
1657# Targets to build Solaris package of the distribution for the current
1658# architecture.  To build stream packages for both sun4 and i86pc
1659# architectures: 
1660#
1661#   On the sun4 machine, execute the following:
1662#     make distclean; ./configure
1663#     make DISTDIR=<distdir> package
1664#
1665#   Once the build is complete, execute the following on the i86pc
1666#   machine:
1667#     make DISTDIR=<distdir> package-quick
1668#
1669# <distdir> is the absolute path to a directory where the build should
1670# take place.  These steps will generate the $(PACKAGE).sun4 and
1671# $(PACKAGE).i86pc stream packages.  It is important that the packages be
1672# built in this fashion in order to ensure that the architecture
1673# independent files are exactly the same, including timestamps, in
1674# both packages.
1675#
1676
1677PACKAGE=SCRPtk
1678
1679package: dist package-config package-common package-binaries package-generate
1680package-quick: package-config package-binaries package-generate
1681
1682#
1683# Configure for the current architecture in the dist directory.
1684#
1685package-config:
1686	mkdir -p $(DISTDIR)/unix/`arch`
1687	cd $(DISTDIR)/unix/`arch`; \
1688        ../configure --prefix=/opt/SUNWtcl/$(TCLVERSION) \
1689		--exec_prefix=/opt/SUNWtcl/$(TCLVERSION)/`arch` \
1690		--with-tcl=$(DISTDIR)/../tcl$(TCLVERSION)/unix/`arch` \
1691		--enable-shared
1692	mkdir -p $(DISTDIR)/SUNWtcl/$(TCLVERSION)
1693	mkdir -p $(DISTDIR)/SUNWtcl/$(TCLVERSION)/`arch`
1694
1695#
1696# Build and install the architecture independent files in the dist directory.
1697#
1698
1699package-common:
1700	cd $(DISTDIR)/unix/`arch`;\
1701	$(MAKE); \
1702	$(MAKE) install-libraries install-doc \
1703		prefix=$(DISTDIR)/SUNWtcl/$(TCLVERSION) \
1704		exec_prefix=$(DISTDIR)/SUNWtcl/$(TCLVERSION)/`arch`
1705	mkdir -p $(DISTDIR)/SUNWtcl/$(TCLVERSION)/bin
1706	sed -e "s/TCLVERSION/$(TCLVERSION)/g" \
1707		-e "s/TKVERSION/$(VERSION)/g" < $(UNIX_DIR)/wish.sh \
1708		> $(DISTDIR)/SUNWtcl/$(TCLVERSION)/bin/wish$(VERSION)
1709	chmod 755 $(DISTDIR)/SUNWtcl/$(TCLVERSION)/bin/wish$(VERSION)
1710
1711#
1712# Build and install the architecture specific files in the dist directory.
1713#
1714
1715package-binaries: 
1716	cd $(DISTDIR)/unix/`arch`; \
1717	$(MAKE); \
1718	$(MAKE) install-binaries prefix=$(DISTDIR)/SUNWtcl/$(TCLVERSION) \
1719		exec_prefix=$(DISTDIR)/SUNWtcl/$(TCLVERSION)/`arch`
1720
1721#
1722# Generate a package from the installed files in the dist directory for the
1723# current architecture.
1724#
1725
1726package-generate:
1727	pkgproto $(DISTDIR)/SUNWtcl/$(TCLVERSION)/bin=bin \
1728		 $(DISTDIR)/SUNWtcl/$(TCLVERSION)/include=include \
1729		 $(DISTDIR)/SUNWtcl/$(TCLVERSION)/lib=lib \
1730		 $(DISTDIR)/SUNWtcl/$(TCLVERSION)/man=man \
1731		 $(DISTDIR)/SUNWtcl/$(TCLVERSION)/`arch`=`arch` \
1732	| $(TCL_EXE) $(TCLDIR)/unix/mkProto.tcl $(TCLVERSION) \
1733		$(UNIX_DIR) > prototype
1734	pkgmk -o -d . -f prototype -a `arch`
1735	pkgtrans -s . $(PACKAGE).`arch` $(PACKAGE)
1736	rm -rf $(PACKAGE)
1737
1738# DO NOT DELETE THIS LINE -- make depend depends on it.
1739