285 lines
8.8 KiB
Makefile
285 lines
8.8 KiB
Makefile
|
#
|
||
|
# 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
|
||
|
|
||
|
# Top-level directory for manual entries:
|
||
|
MAN_DIR = $(prefix)/man
|
||
|
|
||
|
# Directory in which to install manual entry for wish:
|
||
|
MAN1_DIR = $(MAN_DIR)/man1
|
||
|
|
||
|
# Directory in which to install manual entries for Tk's C library
|
||
|
# procedures:
|
||
|
MAN3_DIR = $(MAN_DIR)/man3
|
||
|
|
||
|
# Directory in which to install manual entries for the built-in
|
||
|
# Tcl commands implemented by Tk:
|
||
|
MANN_DIR = $(MAN_DIR)/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.3
|
||
|
|
||
|
# The directory containing the Tcl library archive file appropriate
|
||
|
# for this version of Tk:
|
||
|
TCL_BIN_DIR = ../tcl7.3
|
||
|
|
||
|
# A "-I" switch that can be used when compiling to make all of the
|
||
|
# X11 include files accessible (the configure script will try to
|
||
|
# set this value, and will cause it to be an empty string if the
|
||
|
# include files are accessible via /usr/include).
|
||
|
X11_INCLUDES = @XINCLUDES@
|
||
|
|
||
|
# Linker switch(es) to use to link with the X11 library archive (the
|
||
|
# configure script will try to set this value automatically, but you
|
||
|
# can override it).
|
||
|
X11_LIB_SWITCHES = @XLIBSW@
|
||
|
|
||
|
# 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_BIN_DIR)/libtcl.a $(X11_LIB_SWITCHES) @LIBS@ -lm
|
||
|
|
||
|
# To change the compiler switches, for example to change from -O
|
||
|
# to -g, change the following line:
|
||
|
CFLAGS = -O
|
||
|
|
||
|
# 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@
|
||
|
CC_SWITCHES = ${CFLAGS} -I${SRC_DIR} -I${TCL_DIR} ${X11_INCLUDES} \
|
||
|
${AC_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 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)
|
||
|
DEMOPROGS = browse color dialog hello ixset rmt rolodex size square \
|
||
|
tcolor timer widget
|
||
|
|
||
|
all: libtk.a wish
|
||
|
|
||
|
libtk.a: $(OBJS)
|
||
|
rm -f libtk.a
|
||
|
ar cr libtk.a $(OBJS)
|
||
|
$(RANLIB) libtk.a
|
||
|
|
||
|
wish: tkAppInit.o libtk.a $(TCL_BIN_DIR)/libtcl.a
|
||
|
$(CC) $(CC_SWITCHES) tkAppInit.o $(LIBS) -o wish
|
||
|
|
||
|
tktest: tkTest.o libtk.a $(TCL_BIN_DIR)/libtcl.a
|
||
|
${CC} ${CC_SWITCHES} 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 $(SRC_DIR)/tests\; source all\; exit ) | ./tktest
|
||
|
|
||
|
install: install-binaries install-libraries install-demos install-man
|
||
|
|
||
|
install-binaries: libtk.a wish
|
||
|
@for i in $(LIB_DIR) $(BIN_DIR) ; \
|
||
|
do \
|
||
|
if [ ! -d $$i ] ; then \
|
||
|
echo "Making directory $$i"; \
|
||
|
mkdir $$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)
|
||
|
|
||
|
install-libraries:
|
||
|
@for i in $(prefix)/lib $(INCLUDE_DIR) $(TK_LIBRARY) ; \
|
||
|
do \
|
||
|
if [ ! -d $$i ] ; then \
|
||
|
echo "Making directory $$i"; \
|
||
|
mkdir $$i; \
|
||
|
chmod 755 $$i; \
|
||
|
else true; \
|
||
|
fi; \
|
||
|
done;
|
||
|
@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;
|
||
|
|
||
|
install-demos:
|
||
|
@for i in $(prefix)/lib $(TK_LIBRARY) $(TK_LIBRARY)/demos \
|
||
|
$(TK_LIBRARY)/demos/bitmaps ; \
|
||
|
do \
|
||
|
if [ ! -d $$i ] ; then \
|
||
|
echo "Making directory $$i"; \
|
||
|
mkdir $$i; \
|
||
|
chmod 755 $$i; \
|
||
|
else true; \
|
||
|
fi; \
|
||
|
done;
|
||
|
@cd $(SRC_DIR)/library/demos; for i in *; \
|
||
|
do \
|
||
|
if [ -f $$i ] ; then \
|
||
|
echo "Installing library/demos/$$i"; \
|
||
|
sed -e '1 s|/usr/local/bin/wish|$(BIN_DIR)/wish|' \
|
||
|
$$i > $(TK_LIBRARY)/demos/$$i; \
|
||
|
fi; \
|
||
|
done;
|
||
|
@for i in $(DEMOPROGS); \
|
||
|
do \
|
||
|
chmod 755 $(TK_LIBRARY)/demos/$$i; \
|
||
|
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;
|
||
|
|
||
|
install-man:
|
||
|
@for i in $(MAN_DIR) $(MAN1_DIR) $(MAN3_DIR) $(MANN_DIR) ; \
|
||
|
do \
|
||
|
if [ ! -d $$i ] ; then \
|
||
|
echo "Making directory $$i"; \
|
||
|
mkdir $$i; \
|
||
|
chmod 755 $$i; \
|
||
|
else true; \
|
||
|
fi; \
|
||
|
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
|
||
|
|
||
|
.c.o:
|
||
|
$(CC) -c $(CC_SWITCHES) $<
|
||
|
|
||
|
$(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
|