home *** CD-ROM | disk | FTP | other *** search
Makefile | 1993-07-09 | 7.4 KB | 229 lines |
- #
- # This file is a Makefile for Tk. If it has the name "Makefile.in"
- # then it is a template for a Makefile; to generate the actual Makefile,
- # run "./configure", which is a configuration script generated by the
- # "autoconf" program (constructs like "@foo@" will get replaced in the
- # actual Makefile.
-
- #----------------------------------------------------------------
- # Things you can change to personalize the Makefile for your own
- # site (you can make these changes in either Makefile.in or
- # Makefile, but changes to Makefile will get lost if you re-run
- # the configuration script).
- #----------------------------------------------------------------
-
- # Default top-level directories in which to install architecture-
- # specific files (exec_prefix) and machine-independent files such
- # as scripts (prefix). The values specified here may be overridden
- # at configure-time with the --exec_prefix and --prefix options
- # to the "configure" script.
-
- exec_prefix = /usr/local
- prefix = /usr/local
-
- # Directory in which to install the library of Tk scripts and demos
- # (note: you can set the TK_LIBRARY environment variable at run-time to
- # override the compiled-in location):
- TK_LIBRARY = $(prefix)/lib/tk
-
- # Directory in which to install the archive libtk.a:
- LIB_DIR = $(exec_prefix)/lib
-
- # Directory in which to install the program wish:
- BIN_DIR = $(exec_prefix)/bin
-
- # Directory in which to install the include file tk.h:
- INCLUDE_DIR = $(prefix)/include
-
- # Directory in which to install manual entry for wish:
- MAN1_DIR = $(prefix)/man/man1
-
- # Directory in which to install manual entries for Tk's C library
- # procedures:
- MAN3_DIR = $(prefix)/man/man3
-
- # Directory in which to install manual entries for the built-in
- # Tcl commands:
- MANN_DIR = $(prefix)/man/mann
-
- # The directory containing the Tcl sources and headers appropriate
- # for this version of Tk ("@srcdir@" will be replaced or has already
- # been replaced by the configure script):
- TCL_DIR = @srcdir@/../tcl7.0b1
-
- # Libraries to use when linking: must include at least Tk, Tcl, Xlib,
- # and the math library (in that order). The "@LIBS@" part will be
- # replaced (or has already been replaced) with relevant libraries as
- # determined by the configure script.
- LIBS = libtk.a $(TCL_DIR)/libtcl.a -lX11 -lm @LIBS@
-
- # To change the compiler switches, for example to change from -O
- # to -g, change the following line:
- CC_SWITCHES = -O
-
- # To compile under OpenWindows, reverse the comments on the following
- # lines:
- OW_FLAGS =
- #OW_FLAGS = -I/usr/openwin/include -L/usr/openwin/lib
-
- # To turn off the security checks that disallow incoming sends when
- # the X server appears to be insecure, reverse the comments on the
- # following lines:
- SECURITY_FLAGS =
- #SECURITY_FLAGS = -DTK_NO_SECURITY
-
- # To disable ANSI-C procedure prototypes reverse the comment characters
- # on the following lines:
- PROTO_FLAGS =
- #PROTO_FLAGS = -DNO_PROTOTYPE
-
- # To enable memory debugging reverse the comment characters on the following
- # lines. Warning: if you enable memory debugging, you must do it
- # *everywhere*, including all the code that calls Tcl, and you must use
- # ckalloc and ckfree everywhere instead of malloc and free.
- MEM_DEBUG_FLAGS =
- #MEM_DEBUG_FLAGS = -DTCL_MEM_DEBUG
-
- # Some versions of make, like SGI's, use the following variable to
- # determine which shell to use for executing commands:
- SHELL = /bin/sh
-
- #----------------------------------------------------------------
- # The information below is modified by the configure script when
- # Makefile is generated from Makefile.in. You shouldn't normally
- # modify any of this stuff by hand.
- #----------------------------------------------------------------
-
- AC_FLAGS = @DEFS@
- INSTALL = @INSTALL@
- INSTALL_PROGRAM = @INSTALL_PROGRAM@
- INSTALL_DATA = @INSTALL_DATA@
- RANLIB = @RANLIB@
- SRC_DIR = @srcdir@
- VPATH = @srcdir@
-
- #----------------------------------------------------------------
- # The information below should be usable as is. The configure
- # script won't modify it and you shouldn't need to modify it
- # either.
- #----------------------------------------------------------------
-
-
- CC = cc
- CFLAGS = ${CC_SWITCHES} -I${SRC_DIR} -I${TCL_DIR} \
- ${AC_FLAGS} ${OW_FLAGS} ${PROTO_FLAGS} ${SECURITY_FLAGS} ${MEM_DEBUG_FLAGS} \
- -DTK_LIBRARY=\"${TK_LIBRARY}\"
-
- WIDGOBJS = tkButton.o tkEntry.o tkFrame.o tkListbox.o \
- tkMenu.o tkMenubutton.o tkMessage.o tkScale.o \
- tkScrollbar.o
-
- CANVOBJS = tkCanvas.o tkCanvArc.o tkCanvBmap.o tkCanvLine.o \
- tkCanvPoly.o tkCanvPs.o tkCanvText.o tkCanvWind.o \
- tkRectOval.o tkTrig.o
-
- TEXTOBJS = tkText.o tkTextBTree.o tkTextDisp.o tkTextIndex.o tkTextTag.o
-
- OBJS = tk3d.o tkAppInit.o tkArgv.o tkAtom.o tkBind.o tkBitmap.o tkCmds.o \
- tkColor.o tkConfig.o tkCursor.o tkError.o tkEvent.o \
- tkFocus.o tkFont.o tkGet.o tkGC.o tkGeometry.o tkGrab.o \
- tkMain.o tkOption.o tkPack.o tkPlace.o tkPreserve.o tkSelect.o \
- tkSend.o tkWindow.o tkWm.o $(WIDGOBJS) \
- $(CANVOBJS) $(TEXTOBJS)
-
- all: libtk.a wish
-
- libtk.a: $(OBJS)
- rm -f libtk.a
- ar cr libtk.a $(OBJS)
- $(RANLIB) libtk.a
-
- wish: libtk.a $(TCL_DIR)/libtcl.a
- $(CC) $(CFLAGS) tkAppInit.o $(LIBS) -o wish
-
- tktest: libtk.a tkTest.o $(TCL_DIR)/libtcl.a
- ${CC} ${CFLAGS} tkTest.o $(LIBS) -o tktest
-
- test: tktest
- @cwd=`pwd`; \
- cd $(TCL_DIR); TCL_LIBRARY=`pwd`/library; export TCL_LIBRARY; \
- cd $$cwd; cd $(SRC_DIR); TK_LIBRARY=`pwd`/library; export TK_LIBRARY; \
- cd $$cwd; ( echo cd tests\; source all\; exit ) | ./tktest
-
- install: libtk.a wish
- @for i in $(LIB_DIR) $(BIN_DIR) \
- $(INCLUDE_DIR) $(TK_LIBRARY) $(TK_LIBRARY)/demos \
- $(TK_LIBRARY)/demos/bitmaps $(MAN1_DIR) $(MAN3_DIR) \
- $(MANN_DIR) ; \
- do \
- if [ ! -d $$i ] ; then \
- echo "Making directory $$i"; \
- mkdir -p $$i; \
- chmod 755 $$i; \
- else true; \
- fi; \
- done;
- @echo "Installing libtk.a"
- @$(INSTALL_DATA) libtk.a $(LIB_DIR)
- @$(RANLIB) $(LIB_DIR)/libtk.a
- @echo "Installing wish"
- @$(INSTALL_PROGRAM) wish $(BIN_DIR)
- @echo "Installing tk.h"
- @$(INSTALL_DATA) $(SRC_DIR)/tk.h $(INCLUDE_DIR)
- @cd $(SRC_DIR)/library; for i in *.tcl tclIndex prolog.ps; \
- do \
- echo "Installing library/$$i"; \
- $(INSTALL_DATA) $$i $(TK_LIBRARY); \
- done;
- @cd $(SRC_DIR)/library/demos; for i in *; \
- do \
- if [ -f $$i ] ; then \
- echo "Installing library/demos/$$i"; \
- $(INSTALL_DATA) $$i $(TK_LIBRARY)/demos; \
- fi; \
- done;
- @cd $(SRC_DIR)/library/demos/bitmaps; for i in *; \
- do \
- echo "Installing library/demos/bitmaps/$$i"; \
- $(INSTALL_DATA) $$i $(TK_LIBRARY)/demos/bitmaps; \
- done;
- @cd $(SRC_DIR)/doc; for i in *.1; \
- do \
- echo "Installing doc/$$i"; \
- rm -f $(MAN1_DIR)/$$i; \
- sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \
- $$i > $(MAN1_DIR)/$$i; \
- chmod 444 $(MAN1_DIR)/$$i; \
- done;
- @cd $(SRC_DIR)/doc; for i in *.3; \
- do \
- echo "Installing doc/$$i"; \
- rm -f $(MAN3_DIR)/$$i; \
- sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \
- $$i > $(MAN3_DIR)/$$i; \
- chmod 444 $(MAN3_DIR)/$$i; \
- done;
- @cd $(SRC_DIR)/doc; for i in *.n; \
- do \
- echo "Installing doc/$$i"; \
- rm -f $(MANN_DIR)/$$i; \
- sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \
- $$i > $(MANN_DIR)/$$i; \
- chmod 444 $(MANN_DIR)/$$i; \
- done;
-
- Makefile: $(SRC_DIR)/Makefile.in
- $(SHELL) config.status
-
- clean:
- rm -f *.a *.o core errs *~ \#* TAGS *.E a.out errors tktest wish
-
- distclean: clean
- rm -f Makefile config.status
-
- $(OBJS) tkTest.o: tk.h tkInt.h tkConfig.h
- $(WIDGOBJS): default.h
- $(CANVOBJS): default.h tkCanvas.h
- $(TEXTOBJS): default.h tkText.h
- tkWindow.o: patchlevel.h
-