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
10 # Current Tk version; used in various names.
12 TCLVERSION = @TCL_VERSION@
13 VERSION = @TK_VERSION@
15 #----------------------------------------------------------------
16 # Things you can change to personalize the Makefile for your own
17 # site (you can make these changes in either Makefile.in or
18 # Makefile, but changes to Makefile will get lost if you re-run
19 # the configuration script).
20 #----------------------------------------------------------------
22 # Default top-level directories in which to install architecture-
23 # specific files (exec_prefix) and machine-independent files such
24 # as scripts (prefix). The values specified here may be overridden
25 # at configure-time with the --exec-prefix and --prefix options
26 # to the "configure" script.
29 exec_prefix = @exec_prefix@
32 includedir = @includedir@
35 # The following definition can be set to non-null for special systems
36 # like AFS with replication. It allows the pathnames used for installation
37 # to be different than those used for actually reference files at
38 # run-time. INSTALL_ROOT is prepended to $prefix and $exec_prefix
39 # when installing files.
42 # Directory from which applications will reference the library of Tcl
43 # scripts (note: you can set the TK_LIBRARY environment variable at
44 # run-time to override the compiled-in location):
45 TK_LIBRARY = @datadir@/tk$(VERSION)
47 # CYGNUS LOCAL location independence
48 # What is appended to the prefix to get the library name. Note that
49 # this MUST begin with a "/".
50 TK_LIB_TRAILER = /lib/tk$(VERSION)
53 # Path name to use when installing library scripts:
54 SCRIPT_INSTALL_DIR = $(INSTALL_ROOT)/$(TK_LIBRARY)
56 # Directory in which to install the .a or .so binary for the Tk library:
57 LIB_INSTALL_DIR = $(INSTALL_ROOT)@libdir@
59 # Path to use at runtime to refer to LIB_INSTALL_DIR:
60 LIB_RUNTIME_DIR = @libdir@
62 # Directory in which to install the program wish:
63 BIN_INSTALL_DIR = $(INSTALL_ROOT)@bindir@
65 # Directory from which the program wish should be referenced by scripts:
68 # Directory in which to install the include file tk.h:
69 INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)@includedir@
71 # Top-level directory for manual entries:
72 MAN_INSTALL_DIR = $(INSTALL_ROOT)@mandir@
74 # Directory in which to install manual entry for wish:
75 MAN1_INSTALL_DIR = $(MAN_INSTALL_DIR)/man1
77 # Directory in which to install manual entries for Tk's C library
79 MAN3_INSTALL_DIR = $(MAN_INSTALL_DIR)/man3
81 # Directory in which to install manual entries for the built-in
82 # Tcl commands implemented by Tk:
83 MANN_INSTALL_DIR = $(MAN_INSTALL_DIR)/mann
85 # The directory containing the Tcl sources and headers appropriate
86 # for this version of Tk ("srcdir" will be replaced or has already
87 # been replaced by the configure script):
88 TCL_GENERIC_DIR = @TCL_SRC_DIR@/generic
90 # The directory containing the Tcl library archive file appropriate
91 # for this version of Tk:
92 TCL_BIN_DIR = @TCL_BIN_DIR@
94 # Libraries built with optimization switches have this additional extension
98 CFLAGS_WARNING = @CFLAGS_WARNING@
100 # The default switches for optimization or debugging
101 CFLAGS_DEBUG = @CFLAGS_DEBUG@
102 CFLAGS_OPTIMIZE = @CFLAGS_OPTIMIZE@
104 # To change the compiler switches, for example to change from optimization to
105 # debugging symbols, change the following line:
106 #TK_CFLAGS = $(CFLAGS_DEBUG)
107 #TK_CFLAGS = $(CFLAGS_OPTIMIZE)
108 #TK_CFLAGS = $(CFLAGS_DEBUG) $(CFLAGS_OPTIMIZE)
109 TK_CFLAGS = @CFLAGS_DEFAULT@
113 # Flags to pass to the linker
114 LDFLAGS_DEBUG = @LDFLAGS_DEBUG@
115 LDFLAGS_OPTIMIZE = @LDFLAGS_OPTIMIZE@
116 LDFLAGS = @LDFLAGS@ @LDFLAGS_DEFAULT@
118 # A "-I" switch that can be used when compiling to make all of the
119 # X11 include files accessible (the configure script will try to
120 # set this value, and will cause it to be an empty string if the
121 # include files are accessible via /usr/include).
122 X11_INCLUDES = @XINCLUDES@
124 # Linker switch(es) to use to link with the X11 library archive (the
125 # configure script will try to set this value automatically, but you
127 X11_LIB_SWITCHES = @XLIBSW@
130 # To turn off the security checks that disallow incoming sends when
131 # the X server appears to be insecure, reverse the comments on the
134 #SECURITY_FLAGS = -DTK_NO_SECURITY
136 # To disable ANSI-C procedure prototypes reverse the comment characters
137 # on the following lines:
139 #PROTO_FLAGS = -DNO_PROTOTYPE
141 # To enable memory debugging reverse the comment characters on the following
142 # lines. Warning: if you enable memory debugging, you must do it
143 # *everywhere*, including all the code that calls Tcl, and you must use
144 # ckalloc and ckfree everywhere instead of malloc and free.
146 #MEM_DEBUG_FLAGS = -DTCL_MEM_DEBUG
148 # If your X server is X11R4 or earlier, then you may wish to reverse
149 # the comment characters on the following two lines. This will enable
150 # extra code to speed up XStringToKeysym. In X11R5 and later releases
151 # XStringToKeysym is plenty fast, so you needn't define REDO_KEYSYM_LOOKUP.
153 #KEYSYM_FLAGS = -DREDO_KEYSYM_LOOKUP
155 # Tk does not used deprecated Tcl constructs so it should
156 # compile fine with -DTCL_NO_DEPRECATED. To remove its own
157 # set of deprecated code uncomment the second line.
158 NO_DEPRECATED_FLAGS = -DTCL_NO_DEPRECATED
159 #NO_DEPRECATED_FLAGS = -DTCL_NO_DEPRECATED -DTK_NO_DEPRECATED
161 # Some versions of make, like SGI's, use the following variable to
162 # determine which shell to use for executing commands:
165 # Tk used to let the configure script choose which program to use
166 # for installing, but there are just too many different versions of
167 # "install" around; better to use the install-sh script that comes
168 # with the distribution, which is slower but guaranteed to work.
170 INSTALL = @srcdir@/install-sh -c
171 INSTALL_PROGRAM = ${INSTALL}
172 INSTALL_DATA = ${INSTALL} -m 644
174 # The following specifies which Tcl executable to use for make targets
175 # below. This can generally be 'tclsh', meaning all targets will work
176 # once we have created the initial executable, but in some cases you
177 # may want to use a target without having made tclsh on these sources
178 # (like for make genstubs)
182 # The symbols below provide support for dynamic loading and shared
183 # libraries. The values of the symbols are normally set by the
184 # configure script. You shouldn't normally need to modify any of
185 # these definitions by hand.
187 SHLIB_CFLAGS = @SHLIB_CFLAGS@
189 # To enable support for stubs in Tcl.
190 STUB_LIB_FILE = @TK_STUB_LIB_FILE@
192 TK_STUB_LIB_FILE = @TK_STUB_LIB_FILE@
193 #TK_STUB_LIB_FILE = libtkstub.a
195 TK_STUB_LIB_FLAG = @TK_STUB_LIB_FLAG@
196 #TK_STUB_LIB_FLAG = -ltkstub
198 TK_LIB_FILE = @TK_LIB_FILE@
199 #TK_LIB_FILE = libtk.a
201 TK_LIB_FLAG = @TK_LIB_FLAG@
204 TCL_BUILD_LIB_SPEC = @TCL_BUILD_LIB_SPEC@
206 TK_EXP_FILE = @TK_EXP_FILE@
207 TK_BUILD_EXP_FILE = @TK_BUILD_EXP_FILE@
209 TCL_STUB_FLAGS = @TCL_STUB_FLAGS@
211 # Libraries to use when linking. This definition is determined by the
213 LIBS = @LIBS@ $(X11_LIB_SWITCHES) @DL_LIBS@ @MATH_LIBS@ -lc
214 WISH_LIBS = $(TCL_BUILD_LIB_SPEC) @LIBS@ $(X11_LIB_SWITCHES) @DL_LIBS@ @MATH_LIBS@ -lc
216 # The symbol below provides support for dynamic loading and shared
217 # libraries. See configure.in for a description of what it means.
218 # The values of the symbolis normally set by the configure script.
220 STLIB_LD = @STLIB_LD@
221 SHLIB_LD = @SHLIB_LD@
222 SHLIB_LD_LIBS = @SHLIB_LD_LIBS@
225 # Defines for building libtk
226 SHLIB_SUFFIX = @SHLIB_SUFFIX@
227 TCL_SHARED_LIB_SUFFIX = @TCL_SHARED_LIB_SUFFIX@
228 TCL_UNSHARED_LIB_SUFFIX = @TCL_UNSHARED_LIB_SUFFIX@
229 TK_SHARED_LIB_FILE = @TK_SHARED_LIB_FILE@
230 TK_UNSHARED_LIB_FILE = @TK_UNSHARED_LIB_FILE@
233 SHLIB_LD = @SHLIB_LD@
234 SHLIB_LD_LIBS = @SHLIB_LD_LIBS@
237 # Additional search flags needed to find the various shared libraries
238 # at run-time. The first symbol is for use when creating a binary
239 # with cc, and the second is for use when running ld directly.
240 TK_CC_SEARCH_FLAGS = @TK_CC_SEARCH_FLAGS@
241 TK_LD_SEARCH_FLAGS = @TK_LD_SEARCH_FLAGS@
243 #----------------------------------------------------------------
244 # The information below is modified by the configure script when
245 # Makefile is generated from Makefile.in. You shouldn't normally
246 # modify any of this stuff by hand.
247 #----------------------------------------------------------------
249 AC_FLAGS = @EXTRA_CFLAGS@ @DEFS@
252 SRC_DIR = @srcdir@/..
253 TOP_DIR = @srcdir@/..
254 GENERIC_DIR = $(TOP_DIR)/generic
256 BMAP_DIR = $(TOP_DIR)/bitmaps
257 TOOL_DIR = @TCL_SRC_DIR@/tools
259 #----------------------------------------------------------------
260 # The information below should be usable as is. The configure
261 # script won't modify it and you shouldn't need to modify it
263 #----------------------------------------------------------------
267 CC_SWITCHES_NO_STUBS = ${CFLAGS} ${TK_CFLAGS} ${CFLAGS_WARNING} ${SHLIB_CFLAGS} \
268 -I${UNIX_DIR} -I${GENERIC_DIR} \
269 -I${BMAP_DIR} -I${TCL_GENERIC_DIR} ${X11_INCLUDES} \
270 ${AC_FLAGS} ${PROTO_FLAGS} \
271 ${SECURITY_FLAGS} ${MEM_DEBUG_FLAGS} ${KEYSYM_FLAGS} ${NO_DEPRECATED_FLAGS}
273 CC_SWITCHES = ${CC_SWITCHES_NO_STUBS} ${TCL_STUB_FLAGS}
275 DEPEND_SWITCHES = ${CFLAGS} -I${UNIX_DIR} -I${GENERIC_DIR} \
277 -I${TCL_GENERIC_DIR} ${X11_INCLUDES} \
278 ${AC_FLAGS} ${PROTO_FLAGS} ${SECURITY_FLAGS} ${MEM_DEBUG_FLAGS} \
281 WISH_OBJS = tkAppInit.o
283 TCLTEST_OBJS = ${TCL_BIN_DIR}/tclTest.o ${TCL_BIN_DIR}/tclThreadTest.o \
284 ${TCL_BIN_DIR}/tclUnixTest.o
285 TKTEST_OBJS = $(TCLTEST_OBJS) tkTestInit.o tkTest.o tkSquare.o
287 WIDGOBJS = tkButton.o tkEntry.o tkFrame.o tkListbox.o \
288 tkMenu.o tkMenubutton.o tkMenuDraw.o tkMessage.o tkScale.o \
291 CANVOBJS = tkCanvas.o tkCanvArc.o tkCanvBmap.o tkCanvImg.o \
292 tkCanvLine.o tkCanvPoly.o tkCanvPs.o tkCanvText.o \
293 tkCanvUtil.o tkCanvWind.o tkRectOval.o tkTrig.o
295 IMAGEOBJS = tkImage.o tkImgBmap.o tkImgGIF.o tkImgPPM.o tkImgPhoto.o
297 TEXTOBJS = tkText.o tkTextBTree.o tkTextDisp.o tkTextImage.o tkTextIndex.o \
298 tkTextMark.o tkTextTag.o tkTextWind.o
300 UNIXOBJS = tkUnix.o tkUnix3d.o tkUnixButton.o tkUnixColor.o tkUnixConfig.o \
301 tkUnixCursor.o tkUnixDraw.o tkUnixEmbed.o tkUnixEvent.o \
302 tkUnixFocus.o tkUnixFont.o tkUnixInit.o tkUnixKey.o tkUnixMenu.o \
303 tkUnixMenubu.o tkUnixScale.o tkUnixScrlbr.o tkUnixSelect.o \
304 tkUnixSend.o tkUnixWm.o tkUnixXId.o tkStubInit.o tkStubLib.o
306 STUB_LIB_OBJS = tkStubLib.o tkStubImg.o
308 OBJS = tk3d.o tkArgv.o tkAtom.o tkBind.o tkBitmap.o tkClipboard.o tkCmds.o \
309 tkColor.o tkConfig.o tkConsole.o tkCursor.o tkError.o tkEvent.o \
310 tkFocus.o tkFont.o tkGet.o tkGC.o tkGeometry.o tkGrab.o tkGrid.o \
311 tkMain.o tkObj.o tkOldConfig.o tkOption.o tkPack.o tkPlace.o \
312 tkSelect.o tkUtil.o tkVisual.o tkWindow.o \
313 $(UNIXOBJS) $(WIDGOBJS) $(CANVOBJS) $(IMAGEOBJS) $(TEXTOBJS)
316 $(GENERIC_DIR)/tk.decls \
317 $(GENERIC_DIR)/tkInt.decls
320 $(GENERIC_DIR)/tk3d.c $(GENERIC_DIR)/tkArgv.c \
321 $(GENERIC_DIR)/tkAtom.c $(GENERIC_DIR)/tkBind.c \
322 $(GENERIC_DIR)/tkBitmap.c $(GENERIC_DIR)/tkClipboard.c \
323 $(GENERIC_DIR)/tkCmds.c $(GENERIC_DIR)/tkColor.c \
324 $(GENERIC_DIR)/tkConfig.c $(GENERIC_DIR)/tkCursor.c \
325 $(GENERIC_DIR)/tkError.c $(GENERIC_DIR)/tkEvent.c \
326 $(GENERIC_DIR)/tkFocus.c $(GENERIC_DIR)/tkFont.c \
327 $(GENERIC_DIR)/tkGet.c $(GENERIC_DIR)/tkGC.c \
328 $(GENERIC_DIR)/tkGeometry.c $(GENERIC_DIR)/tkGrab.c \
329 $(GENERIC_DIR)/tkGrid.c $(GENERIC_DIR)/tkConsole.c \
330 $(GENERIC_DIR)/tkMain.c $(GENERIC_DIR)/tkOption.c \
331 $(GENERIC_DIR)/tkPack.c $(GENERIC_DIR)/tkPlace.c \
332 $(GENERIC_DIR)/tkSelect.c $(GENERIC_DIR)/tkUtil.c \
333 $(GENERIC_DIR)/tkVisual.c $(GENERIC_DIR)/tkWindow.c \
334 $(GENERIC_DIR)/tkButton.c $(GENERIC_DIR)/tkObj.c \
335 $(GENERIC_DIR)/tkEntry.c $(GENERIC_DIR)/tkFrame.c \
336 $(GENERIC_DIR)/tkListbox.c $(GENERIC_DIR)/tkMenu.c \
337 $(GENERIC_DIR)/tkMenubutton.c $(GENERIC_DIR)/tkMenuDraw.c \
338 $(GENERIC_DIR)/tkMessage.c \
339 $(GENERIC_DIR)/tkScale.c $(GENERIC_DIR)/tkScrollbar.c \
340 $(GENERIC_DIR)/tkCanvas.c $(GENERIC_DIR)/tkCanvArc.c \
341 $(GENERIC_DIR)/tkCanvBmap.c $(GENERIC_DIR)/tkCanvImg.c \
342 $(GENERIC_DIR)/tkCanvLine.c $(GENERIC_DIR)/tkCanvPoly.c \
343 $(GENERIC_DIR)/tkCanvPs.c $(GENERIC_DIR)/tkCanvText.c \
344 $(GENERIC_DIR)/tkCanvUtil.c \
345 $(GENERIC_DIR)/tkCanvWind.c $(GENERIC_DIR)/tkRectOval.c \
346 $(GENERIC_DIR)/tkTrig.c $(GENERIC_DIR)/tkImage.c \
347 $(GENERIC_DIR)/tkImgBmap.c $(GENERIC_DIR)/tkImgGIF.c \
348 $(GENERIC_DIR)/tkImgPPM.c \
349 $(GENERIC_DIR)/tkImgPhoto.c $(GENERIC_DIR)/tkText.c \
350 $(GENERIC_DIR)/tkTextBTree.c $(GENERIC_DIR)/tkTextDisp.c \
351 $(GENERIC_DIR)/tkTextImage.c \
352 $(GENERIC_DIR)/tkTextIndex.c $(GENERIC_DIR)/tkTextMark.c \
353 $(GENERIC_DIR)/tkTextTag.c $(GENERIC_DIR)/tkTextWind.c \
354 $(GENERIC_DIR)/tkOldConfig.c \
355 $(GENERIC_DIR)/tkSquare.c $(GENERIC_DIR)/tkTest.c \
356 $(GENERIC_DIR)/tkStubInit.c $(GENERIC_DIR)/tkStubLib.c \
357 $(UNIX_DIR)/tkAppInit.c $(UNIX_DIR)/tkUnix.c \
358 $(UNIX_DIR)/tkUnix3d.c \
359 $(UNIX_DIR)/tkUnixButton.c $(UNIX_DIR)/tkUnixColor.c \
360 $(UNIX_DIR)/tkUnixConfig.c \
361 $(UNIX_DIR)/tkUnixCursor.c \
362 $(UNIX_DIR)/tkUnixDraw.c \
363 $(UNIX_DIR)/tkUnixEmbed.c $(UNIX_DIR)/tkUnixEvent.c \
364 $(UNIX_DIR)/tkUnixFocus.c \
365 $(UNIX_DIR)/tkUnixFont.c $(UNIX_DIR)/tkUnixInit.c \
366 $(UNIX_DIR)/tkUnixKey.c \
367 $(UNIX_DIR)/tkUnixMenu.c $(UNIX_DIR)/tkUnixMenubu.c \
368 $(UNIX_DIR)/tkUnixScale.c $(UNIX_DIR)/tkUnixScrlbr.c \
369 $(UNIX_DIR)/tkUnixSelect.c \
370 $(UNIX_DIR)/tkUnixSend.c $(UNIX_DIR)/tkUnixWm.c \
371 $(UNIX_DIR)/tkUnixXId.c
375 default.h ks_names.h tkPatch.h tk.h tkButton.h tkCanvas.h tkInt.h \
376 tkPort.h tkScrollbar.h tkText.h
378 INSTALL_HDRS = $(GENERIC_DIR)/tk.h \
379 $(GENERIC_DIR)/tkInt.h \
380 $(GENERIC_DIR)/tkDecls.h \
381 $(GENERIC_DIR)/tkIntXlibDecls.h
383 DEMOPROGS = browse hello ixset rmt rolodex square tcolor timer widget
385 all: binaries libraries doc
387 binaries: ${TK_LIB_FILE} ${STUB_LIB_FILE} wish
391 $(SRC_DIR)/doc/man.macros:
392 chmod +x $(UNIX_DIR)/install-sh
393 $(INSTALL_DATA) @TCL_SRC_DIR@/doc/man.macros $(SRC_DIR)/doc/man.macros
395 doc: $(SRC_DIR)/doc/man.macros
397 # The following target is configured by autoconf to generate either
398 # a shared library or non-shared library for Tk.
399 ${TK_LIB_FILE}: ${OBJS}
402 $(TK_RANLIB) ${TK_LIB_FILE}
404 ${STUB_LIB_FILE}: ${STUB_LIB_OBJS}
405 rm -f ${STUB_LIB_FILE}
407 $(TK_RANLIB) ${STUB_LIB_FILE}
409 # Make target which outputs the list of the .o contained in the Tk lib
410 # usefull to build a single big shared library containing Tcl/Tk and other
411 # extensions. used for the Tcl Plugin. -- dl
415 # This targets actually build the objects needed for the lib in the above
420 wish: $(WISH_OBJS) $(TK_LIB_FILE) $(TK_STUB_LIB_FILE) @TCL_LIB_FULL_PATH@
421 $(CC) $(LDFLAGS) $(WISH_OBJS) \
422 @TK_BUILD_LIB_SPEC@ \
423 $(WISH_LIBS) $(TK_CC_SEARCH_FLAGS) -o wish
425 # This rule is executed if the user tried to run tktest without first
426 # building tcltest in the Tcl bin directory. Just do it for them.
427 ${TCL_BIN_DIR}/tcltest:
428 cd ${TCL_BIN_DIR} ; \
431 tktest: ${TCL_BIN_DIR}/tcltest $(TKTEST_OBJS) $(TK_LIB_FILE) @TCL_LIB_FULL_PATH@
432 ${CC} $(LDFLAGS) $(TKTEST_OBJS) \
433 @TK_BUILD_LIB_SPEC@ \
434 $(WISH_LIBS) $(TK_CC_SEARCH_FLAGS) -o tktest
436 xttest: test.o tkTest.o tkSquare.o $(TK_LIB_FILE) @TCL_LIB_FULL_PATH@
437 ${CC} $(LDFLAGS) test.o tkTest.o tkSquare.o \
438 @TK_BUILD_LIB_SPEC@ \
439 $(WISH_LIBS) $(TK_LD_SEARCH_FLAGS) -lXt -o xttest
441 # Note, in the target below TCL_LIBRARY needs to be set or else
442 # "make test" won't work in the case where the compilation directory
443 # isn't the same as the source directory.
446 LD_LIBRARY_PATH=`pwd`:${TCL_BIN_DIR}:${LD_LIBRARY_PATH}; \
447 export LD_LIBRARY_PATH; \
448 LIBPATH=`pwd`:${TCL_BIN_DIR}:${LIBPATH}; export LIBPATH; \
449 SHLIB_PATH=`pwd`:${TCL_BIN_DIR}:${SHLIB_PATH}; \
451 TCL_LIBRARY=@TCL_SRC_DIR@/library; export TCL_LIBRARY; \
452 TK_LIBRARY=@TK_SRC_DIR@/library; export TK_LIBRARY; \
453 ./tktest $(TOP_DIR)/tests/all.tcl -geometry +0+0 $(TCLTESTARGS)
455 # Useful target to launch a built tktest with the proper path,...
457 LD_LIBRARY_PATH=`pwd`:${TCL_BIN_DIR}:${LD_LIBRARY_PATH}; \
458 export LD_LIBRARY_PATH; \
459 LIBPATH=`pwd`:${TCL_BIN_DIR}:${LIBPATH}; export LIBPATH; \
460 SHLIB_PATH=`pwd`:${TCL_BIN_DIR}:${SHLIB_PATH}; export SHLIB_PATH; \
461 TCL_LIBRARY=@TCL_SRC_DIR@/library; export TCL_LIBRARY; \
462 TK_LIBRARY=@TK_SRC_DIR@/library; export TK_LIBRARY; \
465 install: all install-binaries install-libraries install-demos install-doc
467 # Note: before running ranlib below, must cd to target directory because
468 # some ranlibs write to current directory, and this might not always be
469 # possible (e.g. if installing as root).
471 install-binaries: $(TK_LIB_FILE) $(TK_STUB_LIB_FILE) $(TK_BUILD_EXP_FILE) wish
472 @for i in $(LIB_INSTALL_DIR) $(BIN_INSTALL_DIR) ; \
474 if [ ! -d $$i ] ; then \
475 echo "Making directory $$i"; \
481 @if test ! -x $(UNIX_DIR)/install-sh; then \
482 chmod +x $(UNIX_DIR)/install-sh; \
484 @if test ! -x $(UNIX_DIR)/mkLinks; then \
485 chmod +x $(UNIX_DIR)/mkLinks; \
487 @echo "Installing $(TK_LIB_FILE) to $(LIB_INSTALL_DIR)/"
488 @$(INSTALL_DATA) $(TK_LIB_FILE) $(LIB_INSTALL_DIR)/$(TK_LIB_FILE)
489 @(cd $(LIB_INSTALL_DIR); $(TK_RANLIB) $(TK_LIB_FILE))
490 @chmod 555 $(LIB_INSTALL_DIR)/$(TK_LIB_FILE)
491 @echo "Installing wish as $(BIN_INSTALL_DIR)/wish$(VERSION)"
492 @$(INSTALL_PROGRAM) wish $(BIN_INSTALL_DIR)/wish$(VERSION)
493 @echo "Installing tkConfig.sh to $(LIB_INSTALL_DIR)/"
494 @$(INSTALL_DATA) tkConfig.sh $(LIB_INSTALL_DIR)/tkConfig.sh
495 @if test "$(TK_BUILD_EXP_FILE)" != ""; then \
496 echo "Installing $(TK_EXP_FILE) to $(LIB_INSTALL_DIR)/"; \
497 $(INSTALL_DATA) $(TK_BUILD_EXP_FILE) \
498 $(LIB_INSTALL_DIR)/$(TK_EXP_FILE); \
500 @if test "$(TK_STUB_LIB_FILE)" != "" ; then \
501 echo "Installing $(TK_STUB_LIB_FILE) to $(LIB_INSTALL_DIR)/"; \
502 $(INSTALL_DATA) $(STUB_LIB_FILE) \
503 $(LIB_INSTALL_DIR)/$(TK_STUB_LIB_FILE); \
507 @for i in $(INSTALL_ROOT)@datadir@ $(INCLUDE_INSTALL_DIR) \
508 $(SCRIPT_INSTALL_DIR) $(SCRIPT_INSTALL_DIR)/images; \
510 if [ ! -d $$i ] ; then \
511 echo "Making directory $$i"; \
517 @if test ! -x $(UNIX_DIR)/install-sh; then \
518 chmod +x $(UNIX_DIR)/install-sh; \
520 @echo "Installing header files";
521 @for i in $(INSTALL_HDRS) ; \
523 $(INSTALL_DATA) $$i $(INCLUDE_INSTALL_DIR); \
525 @echo "Installing library files to $(SCRIPT_INSTALL_DIR)";
526 @for i in $(SRC_DIR)/library/*.tcl $(GENERIC_DIR)/prolog.ps \
527 $(SRC_DIR)/library/tclIndex $(UNIX_DIR)/tkAppInit.c; \
529 $(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR); \
531 @echo "Installing library images directory";
532 @for i in $(SRC_DIR)/library/images/*; \
534 if [ -f $$i ] ; then \
535 $(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR)/images; \
539 # CYGNUS LOCAL: install-minimal target.
541 @for i in $(INSTALL_ROOT)@datadir@ $(INCLUDE_INSTALL_DIR) \
542 $(SCRIPT_INSTALL_DIR) $(SCRIPT_INSTALL_DIR)/images; \
544 if [ ! -d $$i ] ; then \
545 echo "Making directory $$i"; \
551 for i in $(SRC_DIR)/library/*.tcl $(SRC_DIR)/library/tclIndex $(SRC_DIR)/library/prolog.ps; \
553 echo "Installing $$i"; \
554 $(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR); \
558 @for i in $(INSTALL_ROOT)@datadir@ $(SCRIPT_INSTALL_DIR) \
559 $(SCRIPT_INSTALL_DIR)/demos \
560 $(SCRIPT_INSTALL_DIR)/demos/images ; \
562 if [ ! -d $$i ] ; then \
563 echo "Making directory $$i"; \
569 @echo "Installing demos to $(SCRIPT_INSTALL_DIR)/demos/";
570 @for i in $(SRC_DIR)/library/demos/*; \
572 if [ -f $$i ] ; then \
573 sed -e '3 s|exec wish|exec wish$(VERSION)|' \
574 $$i > $(SCRIPT_INSTALL_DIR)/demos/`basename $$i`; \
577 @for i in $(DEMOPROGS); \
579 chmod 755 $(SCRIPT_INSTALL_DIR)/demos/$$i; \
581 @echo "Installing demo images";
582 @for i in $(SRC_DIR)/library/demos/images/*; \
584 if [ -f $$i ] ; then \
585 $(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR)/demos/images; \
590 @for i in $(MAN_INSTALL_DIR) $(MAN1_INSTALL_DIR) $(MAN3_INSTALL_DIR) $(MANN_INSTALL_DIR) ; \
592 if [ ! -d $$i ] ; then \
593 echo "Making directory $$i"; \
599 @echo "Installing top-level (.1) docs";
600 @cd $(SRC_DIR)/doc; for i in *.1; \
602 rm -f $(MAN1_INSTALL_DIR)/$$i; \
603 sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \
604 $$i > $(MAN1_INSTALL_DIR)/$$i; \
605 chmod 644 $(MAN1_INSTALL_DIR)/$$i; \
607 @echo "Cross-linking top-level (.1) docs";
608 @$(UNIX_DIR)/mkLinks $(MAN1_INSTALL_DIR)
609 @echo "Installing C API (.3) docs";
610 @cd $(SRC_DIR)/doc; for i in *.3; \
612 rm -f $(MAN3_INSTALL_DIR)/$$i; \
613 sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \
614 $$i > $(MAN3_INSTALL_DIR)/$$i; \
615 chmod 644 $(MAN3_INSTALL_DIR)/$$i; \
617 @echo "Cross-linking top-level (.3) docs";
618 @$(UNIX_DIR)/mkLinks $(MAN3_INSTALL_DIR)
619 @echo "Installing command (.n) docs";
620 @cd $(SRC_DIR)/doc; for i in *.n; \
622 rm -f $(MANN_INSTALL_DIR)/$$i; \
623 sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \
624 $$i > $(MANN_INSTALL_DIR)/$$i; \
625 chmod 644 $(MANN_INSTALL_DIR)/$$i; \
627 @echo "Cross-linking command (.n) docs";
628 @$(UNIX_DIR)/mkLinks $(MANN_INSTALL_DIR)
630 Makefile: $(UNIX_DIR)/Makefile.in config.status
631 $(SHELL) config.status
633 config.status: $(UNIX_DIR)/configure
634 ./config.status --recheck
637 rm -f *.a *.o libtk* core errs *~ \#* TAGS *.E a.out errors \
638 tktest wish config.info lib.exp
641 rm -f Makefile config.status config.cache config.log tkConfig.sh \
642 $(PACKAGE).* prototype
645 makedepend -- $(DEPEND_SWITCHES) -- $(SRCS)
647 # Test binaries. The rule for tkTestInit.o is complicated because
648 # it is is compiled from tkAppInit.c. Can't use the "-o" option
649 # because this doesn't work on some strange compilers (e.g. UnixWare).
651 tkTestInit.o: $(UNIX_DIR)/tkAppInit.c
652 @if test -f tkAppInit.o ; then \
653 rm -f tkAppInit.sav; \
654 mv tkAppInit.o tkAppInit.sav; \
656 $(CC) -c $(CC_SWITCHES_NO_STUBS) -DTK_TEST $(UNIX_DIR)/tkAppInit.c
658 mv tkAppInit.o tkTestInit.o
659 @if test -f tkAppInit.sav ; then \
660 mv tkAppInit.sav tkAppInit.o; \
663 tkAppInit.o: $(UNIX_DIR)/tkAppInit.c
664 $(CC) -c $(CC_SWITCHES_NO_STUBS) $(UNIX_DIR)/tkAppInit.c
666 tk3d.o: $(GENERIC_DIR)/tk3d.c
667 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tk3d.c
669 tkArgv.o: $(GENERIC_DIR)/tkArgv.c
670 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkArgv.c
672 tkAtom.o: $(GENERIC_DIR)/tkAtom.c
673 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkAtom.c
675 tkBind.o: $(GENERIC_DIR)/tkBind.c
676 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkBind.c
678 tkBitmap.o: $(GENERIC_DIR)/tkBitmap.c
679 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkBitmap.c
681 tkClipboard.o: $(GENERIC_DIR)/tkClipboard.c
682 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkClipboard.c
684 tkCmds.o: $(GENERIC_DIR)/tkCmds.c
685 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCmds.c
687 tkColor.o: $(GENERIC_DIR)/tkColor.c
688 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkColor.c
690 tkConfig.o: $(GENERIC_DIR)/tkConfig.c
691 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkConfig.c
693 tkConsole.o: $(GENERIC_DIR)/tkConsole.c
694 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkConsole.c
696 tkCursor.o: $(GENERIC_DIR)/tkCursor.c
697 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCursor.c
699 tkError.o: $(GENERIC_DIR)/tkError.c
700 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkError.c
702 tkEvent.o: $(GENERIC_DIR)/tkEvent.c
703 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkEvent.c
705 tkFocus.o: $(GENERIC_DIR)/tkFocus.c
706 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkFocus.c
708 tkFont.o: $(GENERIC_DIR)/tkFont.c
709 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkFont.c
711 tkGet.o: $(GENERIC_DIR)/tkGet.c
712 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkGet.c
714 tkGC.o: $(GENERIC_DIR)/tkGC.c
715 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkGC.c
717 tkGeometry.o: $(GENERIC_DIR)/tkGeometry.c
718 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkGeometry.c
720 tkGrab.o: $(GENERIC_DIR)/tkGrab.c
721 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkGrab.c
723 tkGrid.o: $(GENERIC_DIR)/tkGrid.c
724 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkGrid.c
726 tkMain.o: $(GENERIC_DIR)/tkMain.c
727 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkMain.c
729 tkObj.o: $(GENERIC_DIR)/tkObj.c
730 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkObj.c
732 tkOldConfig.o: $(GENERIC_DIR)/tkOldConfig.c
733 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkOldConfig.c
735 tkOption.o: $(GENERIC_DIR)/tkOption.c
736 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkOption.c
738 tkPack.o: $(GENERIC_DIR)/tkPack.c
739 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkPack.c
741 tkPlace.o: $(GENERIC_DIR)/tkPlace.c
742 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkPlace.c
744 tkSelect.o: $(GENERIC_DIR)/tkSelect.c
745 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkSelect.c
747 tkUtil.o: $(GENERIC_DIR)/tkUtil.c
748 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkUtil.c
750 tkVisual.o: $(GENERIC_DIR)/tkVisual.c
751 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkVisual.c
753 tkWindow.o: $(GENERIC_DIR)/tkWindow.c
754 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkWindow.c
756 tkButton.o: $(GENERIC_DIR)/tkButton.c
757 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkButton.c
759 tkEntry.o: $(GENERIC_DIR)/tkEntry.c
760 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkEntry.c
762 tkFrame.o: $(GENERIC_DIR)/tkFrame.c
763 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkFrame.c
765 tkListbox.o: $(GENERIC_DIR)/tkListbox.c
766 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkListbox.c
768 tkMenu.o: $(GENERIC_DIR)/tkMenu.c
769 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkMenu.c
771 tkMenubutton.o: $(GENERIC_DIR)/tkMenubutton.c
772 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkMenubutton.c
774 tkMenuDraw.o: $(GENERIC_DIR)/tkMenuDraw.c
775 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkMenuDraw.c
777 tkMessage.o: $(GENERIC_DIR)/tkMessage.c
778 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkMessage.c
780 tkScale.o: $(GENERIC_DIR)/tkScale.c
781 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkScale.c
783 tkScrollbar.o: $(GENERIC_DIR)/tkScrollbar.c
784 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkScrollbar.c
786 tkSquare.o: $(GENERIC_DIR)/tkSquare.c
787 $(CC) -c $(CC_SWITCHES_NO_STUBS) $(GENERIC_DIR)/tkSquare.c
789 tkCanvas.o: $(GENERIC_DIR)/tkCanvas.c
790 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCanvas.c
792 tkCanvArc.o: $(GENERIC_DIR)/tkCanvArc.c
793 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCanvArc.c
795 tkCanvBmap.o: $(GENERIC_DIR)/tkCanvBmap.c
796 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCanvBmap.c
798 tkCanvImg.o: $(GENERIC_DIR)/tkCanvImg.c
799 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCanvImg.c
801 tkCanvLine.o: $(GENERIC_DIR)/tkCanvLine.c
802 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCanvLine.c
804 tkCanvPoly.o: $(GENERIC_DIR)/tkCanvPoly.c
805 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCanvPoly.c
807 tkCanvPs.o: $(GENERIC_DIR)/tkCanvPs.c
808 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCanvPs.c
810 tkCanvText.o: $(GENERIC_DIR)/tkCanvText.c
811 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCanvText.c
813 tkCanvUtil.o: $(GENERIC_DIR)/tkCanvUtil.c
814 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCanvUtil.c
816 tkCanvWind.o: $(GENERIC_DIR)/tkCanvWind.c
817 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCanvWind.c
819 tkRectOval.o: $(GENERIC_DIR)/tkRectOval.c
820 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkRectOval.c
822 tkTrig.o: $(GENERIC_DIR)/tkTrig.c
823 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkTrig.c
825 tkImage.o: $(GENERIC_DIR)/tkImage.c
826 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkImage.c
828 tkImgBmap.o: $(GENERIC_DIR)/tkImgBmap.c
829 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkImgBmap.c
831 tkImgGIF.o: $(GENERIC_DIR)/tkImgGIF.c
832 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkImgGIF.c
834 tkImgPPM.o: $(GENERIC_DIR)/tkImgPPM.c
835 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkImgPPM.c
837 tkImgPhoto.o: $(GENERIC_DIR)/tkImgPhoto.c
838 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkImgPhoto.c
840 tkTest.o: $(GENERIC_DIR)/tkTest.c
841 $(CC) -c $(CC_SWITCHES_NO_STUBS) $(GENERIC_DIR)/tkTest.c
843 tkText.o: $(GENERIC_DIR)/tkText.c
844 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkText.c
846 tkTextBTree.o: $(GENERIC_DIR)/tkTextBTree.c
847 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkTextBTree.c
849 tkTextDisp.o: $(GENERIC_DIR)/tkTextDisp.c
850 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkTextDisp.c
852 tkTextImage.o: $(GENERIC_DIR)/tkTextImage.c
853 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkTextImage.c
855 tkTextIndex.o: $(GENERIC_DIR)/tkTextIndex.c
856 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkTextIndex.c
858 tkTextMark.o: $(GENERIC_DIR)/tkTextMark.c
859 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkTextMark.c
861 tkTextTag.o: $(GENERIC_DIR)/tkTextTag.c
862 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkTextTag.c
864 tkTextWind.o: $(GENERIC_DIR)/tkTextWind.c
865 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkTextWind.c
867 tkStubInit.o: $(GENERIC_DIR)/tkStubInit.c
868 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkStubInit.c
870 # Stub library binaries, these must be compiled for use in a shared library
871 # even though they will be placed in a static archive
873 tkStubLib.o: $(GENERIC_DIR)/tkStubLib.c
874 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkStubLib.c
876 tkStubImg.o: $(GENERIC_DIR)/tkStubImg.c
877 $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkStubImg.c
879 tkUnix.o: $(UNIX_DIR)/tkUnix.c
880 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnix.c
882 tkUnix3d.o: $(UNIX_DIR)/tkUnix3d.c
883 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnix3d.c
885 tkUnixButton.o: $(UNIX_DIR)/tkUnixButton.c
886 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixButton.c
888 tkUnixColor.o: $(UNIX_DIR)/tkUnixColor.c
889 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixColor.c
891 tkUnixConfig.o: $(UNIX_DIR)/tkUnixConfig.c
892 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixConfig.c
894 tkUnixCursor.o: $(UNIX_DIR)/tkUnixCursor.c
895 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixCursor.c
897 tkUnixDraw.o: $(UNIX_DIR)/tkUnixDraw.c
898 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixDraw.c
900 tkUnixEmbed.o: $(UNIX_DIR)/tkUnixEmbed.c
901 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixEmbed.c
903 tkUnixEvent.o: $(UNIX_DIR)/tkUnixEvent.c
904 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixEvent.c
906 tkUnixFocus.o: $(UNIX_DIR)/tkUnixFocus.c
907 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixFocus.c
909 tkUnixFont.o: $(UNIX_DIR)/tkUnixFont.c
910 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixFont.c
912 tkUnixInit.o: $(UNIX_DIR)/tkUnixInit.c $(GENERIC_DIR)/tkInitScript.h tkConfig.sh
913 $(CC) -c $(CC_SWITCHES) -DTK_LIBRARY=\"${TK_LIBRARY}\" \
914 $(UNIX_DIR)/tkUnixInit.c
916 tkUnixKey.o: $(UNIX_DIR)/tkUnixKey.c
917 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixKey.c
919 tkUnixMenu.o: $(UNIX_DIR)/tkUnixMenu.c
920 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixMenu.c
922 tkUnixMenubu.o: $(UNIX_DIR)/tkUnixMenubu.c
923 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixMenubu.c
925 tkUnixScale.o: $(UNIX_DIR)/tkUnixScale.c
926 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixScale.c
928 tkUnixScrlbr.o: $(UNIX_DIR)/tkUnixScrlbr.c
929 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixScrlbr.c
931 tkUnixSelect.o: $(UNIX_DIR)/tkUnixSelect.c
932 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixSelect.c
934 tkUnixSend.o: $(UNIX_DIR)/tkUnixSend.c
935 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixSend.c
937 tkUnixWm.o: $(UNIX_DIR)/tkUnixWm.c
938 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixWm.c
940 tkUnixXId.o: $(UNIX_DIR)/tkUnixXId.c
941 $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixXId.c
944 $(CC) -c $(CC_SWITCHES) $<
947 # Target to check for proper usage of UCHAR macro.
951 -egrep isalnum\|isalpha\|iscntrl\|isdigit\|islower\|isprint\|ispunct\|isspace\|isupper\|isxdigit\|toupper\|tolower $(SRCS) | grep -v UCHAR
954 # Target to make sure that only symbols with "Tk" prefixes are
958 checkexports: $(TK_LIB_FILE)
959 -nm -p $(TK_LIB_FILE) | awk '$$2 ~ /[TDB]/ { print $$3 }' | sort -n | grep -v '^[Tt]k'
961 # Target to regenerate header files and stub files from the *.decls tables.
965 $(TCL_EXE) $(TOOL_DIR)/genStubs.tcl $(GENERIC_DIR) \
966 $(GENERIC_DIR)/tk.decls $(GENERIC_DIR)/tkInt.decls
969 # Target to check that all exported functions have an entry in the stubs
974 -@for i in `nm -p $(TK_LIB_FILE) | awk '$$2 ~ /T/ { print $$3 }' \
977 for j in $(TK_DECLS); do \
978 if [ `grep -c $$i $$j` -gt 0 ]; then \
982 if [ $$match -eq 0 ]; then echo $$i; fi \
987 # Target to create a Tk RPM for Linux. Requires that you be on a Linux
993 echo "%define _builddir `pwd`" > THIS.TK.SPEC
994 echo "%define _rpmdir `pwd`/RPMS" >> THIS.TK.SPEC
995 cat tk.spec >> THIS.TK.SPEC
999 rm -rf RPMS THIS.TK.SPEC
1002 # Target to create a proper Tk distribution from information in the
1003 # master source directory. DISTDIR must be defined to indicate where
1004 # to put the distribution. DISTDIR must be an absolute path name.
1007 DISTROOT = /tmp/dist
1008 DISTNAME = tk@TK_VERSION@@TK_PATCH_LEVEL@
1009 ZIPNAME = tk@TK_MAJOR_VERSION@@TK_MINOR_VERSION@@TK_PATCH_LEVEL@.zip
1010 DISTDIR = $(DISTROOT)/$(DISTNAME)
1011 TCLDIR = @TCL_SRC_DIR@
1012 $(UNIX_DIR)/configure:
1013 autoconf $(UNIX_DIR)/configure.in > $(UNIX_DIR)/configure
1015 dist: $(UNIX_DIR)/configure
1018 mkdir $(DISTDIR)/unix
1019 cp -p $(UNIX_DIR)/*.c $(UNIX_DIR)/*.h $(DISTDIR)/unix
1020 cp $(TOP_DIR)/license.terms $(UNIX_DIR)/Makefile.in $(DISTDIR)/unix
1021 chmod 664 $(DISTDIR)/unix/Makefile.in
1022 cp $(UNIX_DIR)/configure $(UNIX_DIR)/configure.in \
1023 $(UNIX_DIR)/aclocal.m4 \
1024 $(UNIX_DIR)/tkConfig.sh.in $(TCLDIR)/unix/install-sh \
1025 $(UNIX_DIR)/README $(DISTDIR)/unix
1026 chmod 775 $(DISTDIR)/unix/configure $(DISTDIR)/unix/configure.in
1027 chmod +x $(DISTDIR)/unix/install-sh
1028 $(TCL_EXE) $(TCLDIR)/unix/mkLinks.tcl $(TOP_DIR)/doc/*.[13n] \
1029 > $(DISTDIR)/unix/mkLinks
1030 chmod +x $(DISTDIR)/unix/mkLinks
1031 mkdir $(DISTDIR)/bitmaps
1032 @(cd $(TOP_DIR); for i in bitmaps/* ; do \
1033 if [ -f $$i ] ; then \
1034 sed -e 's/static char/static unsigned char/' \
1035 $$i > $(DISTDIR)/$$i; \
1038 mkdir $(DISTDIR)/generic
1039 cp -p $(GENERIC_DIR)/*.c $(GENERIC_DIR)/*.h $(GENERIC_DIR)/prolog.ps \
1041 cp -p $(GENERIC_DIR)/*.decls $(DISTDIR)/generic
1042 cp -p $(GENERIC_DIR)/README $(DISTDIR)/generic
1043 cp -p $(TOP_DIR)/changes $(TOP_DIR)/ChangeLog $(TOP_DIR)/README \
1044 $(TOP_DIR)/license.terms $(DISTDIR)
1045 rm -f $(DISTDIR)/generic/blt*.[ch]
1046 mkdir $(DISTDIR)/win
1047 cp $(TOP_DIR)/win/Makefile.in $(DISTDIR)/win
1048 cp $(TOP_DIR)/win/configure.in \
1049 $(TOP_DIR)/win/configure \
1050 $(TOP_DIR)/win/tkConfig.sh.in \
1051 $(TOP_DIR)/win/aclocal.m4 \
1053 cp -p $(TOP_DIR)/win/*.c $(TOP_DIR)/win/*.h $(DISTDIR)/win
1054 cp -p $(TOP_DIR)/win/*.bat $(DISTDIR)/win
1055 cp -p $(TOP_DIR)/win/makefile.* $(DISTDIR)/win
1056 cp -p $(TOP_DIR)/win/README $(DISTDIR)/win
1057 cp -p $(TOP_DIR)/license.terms $(DISTDIR)/win
1058 mkdir $(DISTDIR)/win/rc
1059 cp -p $(TOP_DIR)/win/rc/*.rc $(TOP_DIR)/win/rc/*.cur \
1060 $(TOP_DIR)/win/rc/*.ico $(TOP_DIR)/win/rc/*.bmp \
1062 mkdir $(DISTDIR)/mac
1063 cp -p $(TOP_DIR)/mac/tkMacProjects.sea.hqx $(DISTDIR)/mac
1064 cp -p $(TOP_DIR)/mac/*.c $(TOP_DIR)/mac/*.h $(TOP_DIR)/mac/*.r \
1066 cp -p $(TOP_DIR)/mac/README $(DISTDIR)/mac
1067 cp -p $(TOP_DIR)/license.terms $(DISTDIR)/mac
1068 cp -p $(TOP_DIR)/mac/*.pch $(DISTDIR)/mac
1069 cp -p $(TOP_DIR)/mac/*.doc $(DISTDIR)/mac
1070 cp -p $(TOP_DIR)/mac/*.exp $(DISTDIR)/mac
1071 cp -p $(TOP_DIR)/mac/*.tcl $(DISTDIR)/mac
1072 mkdir $(DISTDIR)/compat
1073 cp -p $(TOP_DIR)/license.terms $(TCLDIR)/compat/unistd.h \
1074 $(TCLDIR)/compat/stdlib.h $(TCLDIR)/compat/limits.h \
1076 mkdir $(DISTDIR)/xlib
1077 cp -p $(TOP_DIR)/xlib/*.h $(TOP_DIR)/xlib/*.c $(DISTDIR)/xlib
1078 cp -p $(TOP_DIR)/license.terms $(DISTDIR)/xlib
1079 mkdir $(DISTDIR)/xlib/X11
1080 cp -p $(TOP_DIR)/xlib/X11/*.h $(DISTDIR)/xlib/X11
1081 cp -p $(TOP_DIR)/license.terms $(DISTDIR)/xlib/X11
1082 mkdir $(DISTDIR)/library
1083 cp -p $(TOP_DIR)/license.terms $(TOP_DIR)/library/*.tcl \
1084 $(TOP_DIR)/library/tclIndex \
1086 mkdir $(DISTDIR)/library/images
1087 @(cd $(TOP_DIR); for i in library/images/* ; do \
1088 if [ -f $$i ] ; then \
1089 cp $$i $(DISTDIR)/$$i; \
1092 mkdir $(DISTDIR)/library/demos
1093 cp -pr $(TOP_DIR)/library/demos/*.tcl \
1094 $(TOP_DIR)/library/demos/tclIndex \
1095 $(TOP_DIR)/library/demos/browse \
1096 $(TOP_DIR)/library/demos/hello $(TOP_DIR)/library/demos/ixset \
1097 $(TOP_DIR)/library/demos/rmt $(TOP_DIR)/library/demos/rolodex \
1098 $(TOP_DIR)/library/demos/square \
1099 $(TOP_DIR)/library/demos/tcolor \
1100 $(TOP_DIR)/library/demos/timer \
1101 $(TOP_DIR)/library/demos/widget \
1102 $(TOP_DIR)/library/demos/README \
1103 $(TOP_DIR)/license.terms $(DISTDIR)/library/demos
1104 mkdir $(DISTDIR)/library/demos/images
1105 @(cd $(TOP_DIR); for i in library/demos/images/* ; do \
1106 if [ -f $$i ] ; then \
1107 cp $$i $(DISTDIR)/$$i; \
1110 mkdir $(DISTDIR)/doc
1111 cp -p $(TOP_DIR)/license.terms $(TOP_DIR)/doc/*.[13n] \
1112 $(TCLDIR)/doc/man.macros $(DISTDIR)/doc
1113 mkdir $(DISTDIR)/tests
1114 cp -p $(TOP_DIR)/license.terms $(TOP_DIR)/tests/*.test \
1115 $(TOP_DIR)/tests/*.tcl $(TOP_DIR)/tests/README \
1116 $(TOP_DIR)/tests/option.file* $(DISTDIR)/tests
1119 # The following target can only be used for non-patch releases. Use
1120 # the "allpatch" target below for patch releases.
1124 rm -f $(DISTROOT)/$(DISTNAME).tar.Z \
1125 $(DISTROOT)/$(DISTNAME).tar.gz \
1126 $(DISTROOT)/$(ZIPNAME)
1127 cd $(DISTROOT); tar cf $(DISTNAME).tar $(DISTNAME); \
1128 gzip -9 -c $(DISTNAME).tar > $(DISTNAME).tar.gz; \
1129 compress $(DISTNAME).tar; zip -qr8 $(ZIPNAME) $(DISTNAME)
1132 # The target below is similar to "alldist" except it works for patch
1133 # releases. It is needed because patch releases are peculiar: the
1134 # patch designation appears in the name of the compressed file
1135 # (e.g. tcl8.0p1.tar.gz) but the extracted source directory doesn't
1136 # include the patch designation (e.g. tcl8.0).
1140 rm -f $(DISTROOT)/$(DISTNAME).tar.Z \
1141 $(DISTROOT)/$(DISTNAME).tar.gz \
1142 $(DISTROOT)/$(ZIPNAME)
1143 mv $(DISTROOT)/tk${VERSION} $(DISTROOT)/old
1144 mv $(DISTROOT)/$(DISTNAME) $(DISTROOT)/tk${VERSION}
1145 cd $(DISTROOT); tar cf $(DISTNAME).tar tk${VERSION}; \
1146 gzip -9 -c $(DISTNAME).tar > $(DISTNAME).tar.gz; \
1147 compress $(DISTNAME).tar; zip -r8 $(ZIPNAME) tk${VERSION}
1148 mv $(DISTROOT)/tk${VERSION} $(DISTROOT)/$(DISTNAME)
1149 mv $(DISTROOT)/old $(DISTROOT)/tk${VERSION}
1152 # Target to create a Macintosh version of the distribution. This will
1153 # do a normal distribution and then massage the output to prepare it
1154 # for moving to the Mac platform. This requires a few scripts and
1155 # programs found only in the Tcl greoup's tool workspace.
1159 rm -f $(DISTDIR)/mac/tkMacProjects.sea.hqx
1160 $(TCL_EXE) $(TOOL_DIR)/man2html.tcl $(DISTDIR)/tmp ../.. tk$(VERSION)
1161 mv $(DISTDIR)/tmp/tk$(VERSION) $(DISTDIR)/html
1162 rm -rf $(DISTDIR)/doc
1163 rm -rf $(DISTDIR)/tmp
1164 $(TCL_EXE) $(TOOL_DIR)/cvtEOL.tcl $(DISTDIR)
1167 # Targets to build Solaris package of the distribution for the current
1168 # architecture. To build stream packages for both sun4 and i86pc
1171 # On the sun4 machine, execute the following:
1172 # make distclean; ./configure
1173 # make DISTDIR=<distdir> package
1175 # Once the build is complete, execute the following on the i86pc
1177 # make DISTDIR=<distdir> package-quick
1179 # <distdir> is the absolute path to a directory where the build should
1180 # take place. These steps will generate the $(PACKAGE).sun4 and
1181 # $(PACKAGE).i86pc stream packages. It is important that the packages be
1182 # built in this fashion in order to ensure that the architecture
1183 # independent files are exactly the same, including timestamps, in
1189 package: dist package-config package-common package-binaries package-generate
1190 package-quick: package-config package-binaries package-generate
1193 # Configure for the current architecture in the dist directory.
1196 mkdir -p $(DISTDIR)/unix/`arch`
1197 cd $(DISTDIR)/unix/`arch`; \
1198 ../configure --prefix=/opt/SUNWtcl/$(TCLVERSION) \
1199 --exec_prefix=/opt/SUNWtcl/$(TCLVERSION)/`arch` \
1200 --with-tcl=$(DISTDIR)/../tcl$(TCLVERSION)/unix/`arch` \
1202 mkdir -p $(DISTDIR)/SUNWtcl/$(TCLVERSION)
1203 mkdir -p $(DISTDIR)/SUNWtcl/$(TCLVERSION)/`arch`
1206 # Build and install the architecture independent files in the dist directory.
1210 cd $(DISTDIR)/unix/`arch`;\
1212 $(MAKE) install-libraries install-doc \
1213 prefix=$(DISTDIR)/SUNWtcl/$(TCLVERSION) \
1214 exec_prefix=$(DISTDIR)/SUNWtcl/$(TCLVERSION)/`arch`
1215 mkdir -p $(DISTDIR)/SUNWtcl/$(TCLVERSION)/bin
1216 sed -e "s/TCLVERSION/$(TCLVERSION)/g" \
1217 -e "s/TKVERSION/$(VERSION)/g" < $(UNIX_DIR)/wish.sh \
1218 > $(DISTDIR)/SUNWtcl/$(TCLVERSION)/bin/wish$(VERSION)
1219 chmod 755 $(DISTDIR)/SUNWtcl/$(TCLVERSION)/bin/wish$(VERSION)
1222 # Build and install the architecture specific files in the dist directory.
1226 cd $(DISTDIR)/unix/`arch`; \
1228 $(MAKE) install-binaries prefix=$(DISTDIR)/SUNWtcl/$(TCLVERSION) \
1229 exec_prefix=$(DISTDIR)/SUNWtcl/$(TCLVERSION)/`arch`
1232 # Generate a package from the installed files in the dist directory for the
1233 # current architecture.
1237 pkgproto $(DISTDIR)/SUNWtcl/$(TCLVERSION)/bin=bin \
1238 $(DISTDIR)/SUNWtcl/$(TCLVERSION)/include=include \
1239 $(DISTDIR)/SUNWtcl/$(TCLVERSION)/lib=lib \
1240 $(DISTDIR)/SUNWtcl/$(TCLVERSION)/man=man \
1241 $(DISTDIR)/SUNWtcl/$(TCLVERSION)/`arch`=`arch` \
1242 | $(TCL_EXE) $(TCLDIR)/unix/mkProto.tcl $(TCLVERSION) \
1243 $(UNIX_DIR) > prototype
1244 pkgmk -o -d . -f prototype -a `arch`
1245 pkgtrans -s . $(PACKAGE).`arch` $(PACKAGE)
1248 # DO NOT DELETE THIS LINE -- make depend depends on it.