--- Makefile.in.orig Tue Nov 25 10:31:41 1997 +++ Makefile.in Thu Sep 17 17:29:28 1998 @@ -55,7 +55,9 @@ BIN_INSTALL_DIR = $(INSTALL_ROOT)$(exec_prefix)/bin # Directory in which to install the include file tcl.h: -INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/include +INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/include/tcl$(VERSION) +GENERIC_INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/include/tcl$(VERSION)/generic +UNIX_INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/include/tcl$(VERSION)/unix # Top-level directory in which to install manual entries: MAN_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/man @@ -133,7 +135,7 @@ # "install" around; better to use the install-sh script that comes # with the distribution, which is slower but guaranteed to work. -INSTALL = @srcdir@/install-sh -c +INSTALL = install -c INSTALL_PROGRAM = ${INSTALL} INSTALL_DATA = ${INSTALL} -m 644 @@ -310,15 +312,21 @@ SRCS = $(GENERIC_SRCS) $(UNIX_SRCS) -all: ${TCL_LIB_FILE} tclsh +all: ${TCL_LIB_FILE} libtcl80.a tclsh # The following target is configured by autoconf to generate either # a shared library or non-shared library for Tcl. ${TCL_LIB_FILE}: ${OBJS} rm -f ${TCL_LIB_FILE} @MAKE_LIB@ + ln -sf ${TCL_LIB_FILE} libtcl80.so $(RANLIB) ${TCL_LIB_FILE} +libtcl80.a: ${OBJS} + rm -f libtcl80.a + ar cr libtcl80.a ${OBJS} + $(RANLIB) libtcl80.a + # Make target which outputs the list of the .o contained in the Tcl lib # usefull to build a single big shared library containing Tcl and other # extensions. used for the Tcl Plugin. -- dl @@ -410,7 +418,7 @@ # some ranlibs write to current directory, and this might not always be # possible (e.g. if installing as root). -install-binaries: $(TCL_LIB_FILE) tclsh +install-binaries: $(TCL_LIB_FILE) libtcl80.a tclsh @for i in $(LIB_INSTALL_DIR) $(BIN_INSTALL_DIR) ; \ do \ if [ ! -d $$i ] ; then \ @@ -424,18 +432,23 @@ @$(INSTALL_DATA) $(TCL_LIB_FILE) $(LIB_INSTALL_DIR)/$(TCL_LIB_FILE) @(cd $(LIB_INSTALL_DIR); $(RANLIB) $(TCL_LIB_FILE)) @chmod 555 $(LIB_INSTALL_DIR)/$(TCL_LIB_FILE) + @echo "Installing libtcl80.a" + @$(INSTALL_DATA) libtcl80.a $(LIB_INSTALL_DIR)/libtcl80.a + @(cd $(LIB_INSTALL_DIR); $(RANLIB) libtcl80.a) + @chmod 555 $(LIB_INSTALL_DIR)/libtcl80.a @echo "Installing tclsh" @$(INSTALL_PROGRAM) tclsh $(BIN_INSTALL_DIR)/tclsh$(VERSION) @echo "Installing tclConfig.sh" - @$(INSTALL_DATA) tclConfig.sh $(LIB_INSTALL_DIR)/tclConfig.sh + @mkdir -p $(SCRIPT_INSTALL_DIR) + @$(INSTALL_DATA) tclConfig.sh $(SCRIPT_INSTALL_DIR)/tclConfig.sh install-libraries: - @for i in $(INSTALL_ROOT)$(prefix)/lib $(INCLUDE_INSTALL_DIR) \ - $(SCRIPT_INSTALL_DIR); \ + @for i in $(INSTALL_ROOT)$(prefix)/lib $(GENERIC_INCLUDE_INSTALL_DIR) \ + $(UNIX_INCLUDE_INSTALL_DIR) $(SCRIPT_INSTALL_DIR); \ do \ if [ ! -d $$i ] ; then \ echo "Making directory $$i"; \ - mkdir $$i; \ + mkdir -p $$i; \ chmod 755 $$i; \ else true; \ fi; \ @@ -449,8 +462,15 @@ else true; \ fi; \ done; - @echo "Installing tcl.h" - @$(INSTALL_DATA) $(GENERIC_DIR)/tcl.h $(INCLUDE_INSTALL_DIR)/tcl.h + @echo "Installing libraries, tcl.h and other headers" + @for i in $(GENERIC_DIR)/*.h ; \ + do \ + echo "Installing $$i"; \ + $(INSTALL_DATA) $$i $(GENERIC_INCLUDE_INSTALL_DIR); \ + done; + @ln -sf $(GENERIC_INCLUDE_INSTALL_DIR)/tcl.h $(INCLUDE_INSTALL_DIR)/tcl.h + @echo "Installing $(TOP_DIR)unix/tclUnixPort.h" + @$(INSTALL_DATA) $(TOP_DIR)/unix/tclUnixPort.h $(UNIX_INCLUDE_INSTALL_DIR) @for i in $(TOP_DIR)/library/*.tcl $(TOP_DIR)/library/tclIndex $(UNIX_DIR)/tclAppInit.c $(UNIX_DIR)/ldAix; \ do \ echo "Installing $$i"; \ @@ -478,30 +498,37 @@ @cd $(TOP_DIR)/doc; for i in *.1; \ do \ echo "Installing doc/$$i"; \ - rm -f $(MAN1_INSTALL_DIR)/$$i; \ + rm -f $(MAN1_INSTALL_DIR)/$$i $(MAN1_INSTALL_DIR)/$$i.gz ; \ sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \ - $$i > $(MAN1_INSTALL_DIR)/$$i; \ - chmod 444 $(MAN1_INSTALL_DIR)/$$i; \ + $$i | gzip -c > $(MAN1_INSTALL_DIR)/$$i.gz; \ + chmod 444 $(MAN1_INSTALL_DIR)/$$i.gz; \ done; $(UNIX_DIR)/mkLinks $(MAN1_INSTALL_DIR) @cd $(TOP_DIR)/doc; for i in *.3; \ do \ echo "Installing doc/$$i"; \ - rm -f $(MAN3_INSTALL_DIR)/$$i; \ + rm -f $(MAN3_INSTALL_DIR)/$$i $(MAN3_INSTALL_DIR)/$$i.gz ; \ sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \ - $$i > $(MAN3_INSTALL_DIR)/$$i; \ - chmod 444 $(MAN3_INSTALL_DIR)/$$i; \ + $$i | gzip -c > $(MAN3_INSTALL_DIR)/$$i.gz; \ + chmod 444 $(MAN3_INSTALL_DIR)/$$i.gz; \ done; $(UNIX_DIR)/mkLinks $(MAN3_INSTALL_DIR) @cd $(TOP_DIR)/doc; for i in *.n; \ do \ echo "Installing doc/$$i"; \ - rm -f $(MANN_INSTALL_DIR)/$$i; \ + rm -f $(MANN_INSTALL_DIR)/$$i $(MANN_INSTALL_DIR)/$$i.gz; \ sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \ - $$i > $(MANN_INSTALL_DIR)/$$i; \ - chmod 444 $(MANN_INSTALL_DIR)/$$i; \ + $$i | gzip -c > $(MANN_INSTALL_DIR)/$$i.gz; \ + chmod 444 $(MANN_INSTALL_DIR)/$$i.gz; \ done; $(UNIX_DIR)/mkLinks $(MANN_INSTALL_DIR) + @echo "**********" + @echo "IMPORTANT:" + @echo "**********" + @echo "tclConfig.sh in $(SCRIPT_INSTALL_DIR)/tclConfig.sh" + @echo "tcl.h in $(INCLUDE_INSTALL_DIR)/tcl.h" + @echo "There are NOT default place, but good place to avoid" + @echo "conflicting with another version of Tcl/Tks." Makefile: $(UNIX_DIR)/Makefile.in $(SHELL) config.status