@@ -10,172 +10,140 @@ # All rights reserved. # # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: Makefile.in,v 1.19 2004/02/04 04:02:17 razzell Exp $ +# RCS: @(#) $Id: Makefile.in,v 1.20 2004/03/19 21:05:16 hobbs Exp $ -lib_BINARIES=$(tls_LIB_FILE) -BINARIES=$(lib_BINARIES) - #======================================================================== # Enumerate the names of the source files included in this package. # This will be used when a dist target is added to the Makefile. #======================================================================== -tls_SOURCES = tls.c tlsIO.c tlsBIO.c \ - tlsX509.c fixstrtod.c -# strncasecmp.c -SOURCES = $(tls_SOURCES) - -tls_SCRIPT_FILES = tls.tcl - -#======================================================================== -# Enumerate the names of the object files included in this package. -# These objects are created and linked into the final library. -#======================================================================== - -tls_OBJECTS = tls.$(OBJEXT) tlsIO.$(OBJEXT) tlsBIO.$(OBJEXT) \ - tlsX509.$(OBJEXT) fixstrtod.$(OBJEXT) -# strncasecmp.$(OBJEXT) -OBJECTS = $(tls_OBJECTS) - -#======================================================================== -# The substitution of "tls_LIB_FILE" into the variable name below -# allows us to refer to the objects for the library without knowing the name -# of the library in advance. It also lets us use the "$@" variable in -# the rule for building the library, so we can refer to both the list of -# objects and the library itself in a platform-independent manner. -#======================================================================== - -tls_LIB_FILE = @tls_LIB_FILE@ -$(tls_LIB_FILE)_OBJECTS = $(tls_OBJECTS) +PKG_SOURCES = tls.c tlsIO.c tlsBIO.c tlsX509.c fixstrtod.c +PKG_OBJECTS = tls.$(OBJEXT) tlsIO.$(OBJEXT) tlsBIO.$(OBJEXT) \ + tlsX509.$(OBJEXT) fixstrtod.$(OBJEXT) + +#======================================================================== +# RUNTIME_SOURCES identifies Tcl runtime files that are associated with +# this package that need to be installed, if any. +#======================================================================== + +PKG_TCL_SOURCES = tls.tcl #======================================================================== # This is a list of header files to be installed #======================================================================== -GENERIC_HDRS= \ - $(srcdir)/tls.h +PKG_HEADERS = $(srcdir)/tls.h #======================================================================== # Variables and AC_SUBST cases added for tls. #======================================================================== -SSL_DIR = @SSL_DIR@ -SSL_LIB_DIR = @SSL_LIB_DIR@ -SSL_INCLUDE_DIR = @SSL_INCLUDE_DIR@ -SSL_INCLUDE_DIR_NATIVE = @SSL_INCLUDE_DIR_NATIVE@ -SSL_INCLUDES = -I$(SSL_INCLUDE_DIR_NATIVE) - - -#======================================================================== -# This is boilerplate from the sample tcl extension Makefile.in: -# Nothing of the variables below this line need to be changed. Please -# check the TARGETS section below to make sure the make targets are -# correct. -#======================================================================== - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include - -DESTDIR = -RELPATH = @RELPATH@ - -pkgdatadir = $(datadir)/@PACKAGE@@VERSION@ -pkglibdir = $(libdir)/@PACKAGE@@VERSION@ -pkgincludedir = $(includedir)/@PACKAGE@@VERSION@ - -top_builddir = . - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_FLAG = -transform = @program_transform_name@ - -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : - -PACKAGE = @PACKAGE@ -VERSION = @VERSION@ -CC = @CC@ -CFLAGS_DEBUG = @CFLAGS_DEBUG@ -CFLAGS_DEFAULT = @CFLAGS_DEFAULT@ -CFLAGS_OPTIMIZE = @CFLAGS_OPTIMIZE@ -CLEANFILES = @CLEANFILES@ -EXEEXT = @EXEEXT@ -LDFLAGS_DEBUG = @LDFLAGS_DEBUG@ -LDFLAGS_DEFAULT = @LDFLAGS_DEFAULT@ -LDFLAGS_OPTIMIZE = @LDFLAGS_OPTIMIZE@ -MAKE_LIB = @MAKE_LIB@ -MAKE_SHARED_LIB = @MAKE_SHARED_LIB@ -MAKE_STATIC_LIB = @MAKE_STATIC_LIB@ -OBJEXT = @OBJEXT@ -RANLIB = @RANLIB@ -SHLIB_CFLAGS = @SHLIB_CFLAGS@ -SHLIB_LD = @SHLIB_LD@ -SHLIB_LDFLAGS = @SHLIB_LDFLAGS@ -SHLIB_LD_LIBS = @SHLIB_LD_LIBS@ -STLIB_LD = @STLIB_LD@ -TCL_BIN_DIR = @TCL_BIN_DIR@ -TCL_DEFS = @TCL_DEFS@ -TCL_EXTRA_CFLAGS = @TCL_EXTRA_CFLAGS@ -TCL_LD_FLAGS = @TCL_LD_FLAGS@ -TCL_LIBS = @TCL_LIBS@ -TCL_SHLIB_LD_LIBS = @TCL_SHLIB_LD_LIBS@ -TCL_SRC_DIR = @TCL_SRC_DIR@ -TCL_DBGX = @TCL_DBGX@ -TCL_STUB_LIB_FILE = @TCL_STUB_LIB_FILE@ -TCL_STUB_LIB_SPEC = @TCL_STUB_LIB_SPEC@ -TCLSH_PROG = @TCLSH_PROG@ - -AUTOCONF = autoconf - -LDFLAGS = $(LDFLAGS_DEFAULT) - -INCLUDES = @TCL_INCLUDES@ $(SSL_INCLUDES) - -EXTRA_CFLAGS = $(TCL_DEFS) $(PROTO_FLAGS) $(SECURITY_FLAGS) $(MEM_DEBUG_FLAGS) $(KEYSYM_FLAGS) $(NO_DEPRECATED_FLAGS) - -DEFS = @DEFS@ $(EXTRA_CFLAGS) - -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -CONFIGDIR = @CONFIGDIR@ -mkinstalldirs = $(SHELL) $(CONFIGDIR)/mkinstalldirs -CONFIG_CLEAN_FILES = - -CPPFLAGS = @CPPFLAGS@ -LIBS = @LIBS@ -AR = ar -CFLAGS = @CFLAGS@ -COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ +SSL_DIR = @SSL_DIR@ +SSL_LIB_DIR = @SSL_LIB_DIR@ +SSL_INCLUDE_DIR = @SSL_INCLUDE_DIR@ +SSL_INCLUDE_DIR_NATIVE = @SSL_INCLUDE_DIR_NATIVE@ +SSL_INCLUDES = -I$(SSL_INCLUDE_DIR_NATIVE) + +#======================================================================== +# "PKG_LIB_FILE" refers to the library (dynamic or static as per +# configuration options) composed of the named objects. +#======================================================================== + +PKG_LIB_FILE = @PKG_LIB_FILE@ +PKG_STUB_LIB_FILE = @PKG_STUB_LIB_FILE@ + +lib_BINARIES = $(PKG_LIB_FILE) +BINARIES = $(lib_BINARIES) + +SHELL = @SHELL@ + +srcdir = @srcdir@ +prefix = @prefix@ +exec_prefix = @exec_prefix@ + +bindir = @bindir@ +libdir = @libdir@ +datadir = @datadir@ +mandir = @mandir@ +includedir = @includedir@ + +DESTDIR = + +PKG_DIR = $(PACKAGE_NAME)$(PACKAGE_VERSION) +pkgdatadir = $(datadir)/$(PKG_DIR) +pkglibdir = $(libdir)/$(PKG_DIR) +pkgincludedir = $(includedir)/$(PKG_DIR) + +top_builddir = . + +INSTALL = @INSTALL@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ + +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +CC = @CC@ +CFLAGS_DEFAULT = @CFLAGS_DEFAULT@ +CFLAGS_WARNING = @CFLAGS_WARNING@ +CLEANFILES = @CLEANFILES@ +EXEEXT = @EXEEXT@ +LDFLAGS_DEFAULT = @LDFLAGS_DEFAULT@ +MAKE_LIB = @MAKE_LIB@ +MAKE_SHARED_LIB = @MAKE_SHARED_LIB@ +MAKE_STATIC_LIB = @MAKE_STATIC_LIB@ +MAKE_STUB_LIB = @MAKE_STUB_LIB@ +OBJEXT = @OBJEXT@ +RANLIB = @RANLIB@ +RANLIB_STUB = @RANLIB_STUB@ +SHLIB_CFLAGS = @SHLIB_CFLAGS@ +SHLIB_LD = @SHLIB_LD@ +SHLIB_LD_FLAGS = @SHLIB_LD_FLAGS@ +SHLIB_LD_LIBS = @SHLIB_LD_LIBS@ +STLIB_LD = @STLIB_LD@ +TCL_DEFS = @TCL_DEFS@ +TCL_BIN_DIR = @TCL_BIN_DIR@ +TCL_SRC_DIR = @TCL_SRC_DIR@ +# This is necessary for packages that use private Tcl headers +#TCL_TOP_DIR_NATIVE = @TCL_TOP_DIR_NATIVE@ +# Not used, but retained for reference of what libs Tcl required +TCL_LIBS = @TCL_LIBS@ + +#======================================================================== +# TCLLIBPATH seeds the auto_path in Tcl's init.tcl so we can test our +# package without installing. The other environment variables allow us +# to test against an uninstalled Tcl. Add special env vars that you +# require for testing here (like TCLX_LIBRARY). +#======================================================================== + +EXTRA_PATH = $(top_builddir):$(TCL_BIN_DIR) +TCLSH_ENV = TCL_LIBRARY=`@CYGPATH@ $(TCL_SRC_DIR)/library` \ + @LD_LIBRARY_PATH_VAR@="$(EXTRA_PATH):$(@LD_LIBRARY_PATH_VAR@)" \ + PATH="$(EXTRA_PATH):$(PATH)" \ + TCLLIBPATH="$(top_builddir)" +TCLSH_PROG = @TCLSH_PROG@ +TCLSH = $(TCLSH_ENV) $(TCLSH_PROG) +SHARED_BUILD = @SHARED_BUILD@ + +INCLUDES = @TCL_INCLUDES@ @PKG_INCLUDES@ $(SSL_INCLUDES) + +EXTRA_CFLAGS = @EXTRA_CFLAGS@ @PKG_CFLAGS@ + +#DEFS = $(TCL_DEFS) @DEFS@ $(EXTRA_CFLAGS) +DEFS = @DEFS@ $(EXTRA_CFLAGS) + +CONFIG_CLEAN_FILES = Makefile + +CPPFLAGS = @CPPFLAGS@ +LIBS = @PKG_LIBS@ @LIBS@ +AR = ar +CFLAGS = @CFLAGS@ +COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) #======================================================================== # Start of user-definable TARGETS section #======================================================================== @@ -194,113 +162,111 @@ # shared/static libraries, and any other platform-dependent files. # The list of targets to build for "binaries:" is specified at the top # of the Makefile, in the "BINARIES" variable. #======================================================================== -binaries: $(BINARIES) +binaries: $(BINARIES) pkgIndex.tcl -libraries: $(tls_SCRIPT_FILES) +libraries: $(PKG_TCL_SOURCES) doc: install: all install-binaries install-libraries install-doc install-binaries: binaries install-lib-binaries install-bin-binaries - sed -e "s#\@RELPATH\@#$(RELPATH)#" \ - -e "s#\@tls_LIB_FILE\@#$(tls_LIB_FILE)#" \ - < $(srcdir)/pkgIndex.tcl.in > pkgIndex.tcl - $(INSTALL_DATA) pkgIndex.tcl $(pkglibdir) + if test "x$(SHARED_BUILD)" = "x1"; then \ + $(INSTALL_DATA) pkgIndex.tcl $(DESTDIR)$(pkglibdir); \ + fi #======================================================================== # This rule installs platform-independent files, such as header files. #======================================================================== install-libraries: libraries - $(mkinstalldirs) $(includedir) - @echo "Installing header files in $(includedir)" - @for i in $(GENERIC_HDRS) ; do \ + @mkdir -p $(DESTDIR)$(includedir) + @echo "Installing header files in $(DESTDIR)$(includedir)" + @for i in $(PKG_HEADERS) ; do \ echo "Installing $$i" ; \ - $(INSTALL_DATA) $$i $(includedir) ; \ + $(INSTALL_DATA) $$i $(DESTDIR)$(includedir) ; \ done; - $(INSTALL_DATA) $(srcdir)/tls.tcl $(pkglibdir) #======================================================================== # Install documentation. Unix manpages should go in the $(mandir) # directory. #======================================================================== install-doc: doc -# $(mkinstalldirs) $(mandir)/man1 -# $(mkinstalldirs) $(mandir)/man3 -# $(mkinstalldirs) $(mandir)/mann -# @echo "Installing documentation in $(mandir)" -# @for i in $(srcdir)/*.n; \ -# do \ -# echo "Installing $$i"; \ -# rm -f $(mandir)/mann/$$i; \ -# $(INSTALL_DATA) $$i $(mandir)/mann ; \ -# done +# @mkdir -p $(DESTDIR)$(mandir)/mann +# @echo "Installing documentation in $(DESTDIR)$(mandir)" +# @for i in $(srcdir)/doc/*.n; do \ +# echo "Installing $$i"; \ +# rm -f $(DESTDIR)$(mandir)/mann/`basename $$i`; \ +# $(INSTALL_DATA) $$i $(DESTDIR)$(mandir)/mann ; \ +# done test: binaries libraries - sed -e "s#\@RELPATH\@#.#" -e "s#\@tls_LIB_FILE\@#$(tls_LIB_FILE)#" \ - < $(srcdir)/pkgIndex.tcl.in > pkgIndex.tcl - LD_LIBRARY_PATH=$(BUILD_DIR):$(TCL_BIN_DIR):$(LD_LIBRARY_PATH) \ - PATH="$(BUILD_DIR)":"$(TCL_BIN_DIR)":"$(PATH)" \ - $(TCLSH_PROG) `@CYGPATH@ $(srcdir)/tests/all.tcl` $(TESTFLAGS) + $(TCLSH) `@CYGPATH@ $(srcdir)/tests/all.tcl` $(TESTFLAGS) + +shell: binaries libraries + @$(TCLSH) $(SCRIPT) + +gdb: + $(TCLSH_ENV) gdb $(TCLSH_PROG) $(SCRIPT) depend: #======================================================================== -# Enumerate the names of the object files included in this package. -# These objects are created and linked into the final library. In -# most cases these object files will correspond to the source files -# above. -# -# $(exampleA_LIB_FILE) should be listed as part of the BINARIES variable -# at the top of the Makefile. That will ensure that this target is built -# when you run "make binaries". -# -# You shouldn't need to modify this target, except to change the package -# name from "exampleA" to your package's name. +# $(PKG_LIB_FILE) should be listed as part of the BINARIES variable +# mentioned above. That will ensure that this target is built when you +# run "make binaries". +# +# The $(PKG_OBJECTS) objects are created and linked into the final +# library. In most cases these object files will correspond to the +# source files above. #======================================================================== -$(tls_LIB_FILE): $(tls_OBJECTS) - -rm -f $(tls_LIB_FILE) - @MAKE_LIB@ - $(RANLIB) $(tls_LIB_FILE) +$(PKG_LIB_FILE): $(PKG_OBJECTS) + -rm -f $(PKG_LIB_FILE) + ${MAKE_LIB} + $(RANLIB) $(PKG_LIB_FILE) #======================================================================== # We need to enumerate the list of .c to .o lines here. -# Unfortunately, there does not seem to be any other way to do this -# in a Makefile-independent way. We can't use VPATH because it picks up -# object files that may be located in the source directory. # # In the following lines, $(srcdir) refers to the toplevel directory # containing your extension. If your sources are in a subdirectory, # you will have to modify the paths to reflect this: # -# exampleA.$(OBJEXT): $(srcdir)/src/win/exampleA.c -# $(COMPILE) -c `@CYGPATH@ $(srcdir)/src/win/exampleA.c` -o $@ +# sample.$(OBJEXT): $(srcdir)/generic/sample.c +# $(COMPILE) -c `@CYGPATH@ $(srcdir)/generic/sample.c` -o $@ +# +# Setting the VPATH variable to a list of paths will cause the makefile +# to look into these paths when resolving .c to .obj dependencies. +# As necessary, add $(srcdir):$(srcdir)/compat:.... +#======================================================================== + +VPATH = $(srcdir) + +.c.$(OBJEXT): + $(COMPILE) -c `@CYGPATH@ $<` -o $@ + +#======================================================================== +# Create the pkgIndex.tcl file. +# It is usually easiest to let Tcl do this for you with pkg_mkIndex, but +# you may find that you need to customize the package. If so, either +# modify the -hand version, or create a pkgIndex.tcl.in file and have +# the configure script output the pkgIndex.tcl by editing configure.in. #======================================================================== -tls.$(OBJEXT): $(srcdir)/tls.c - $(COMPILE) -c `@CYGPATH@ $(srcdir)/tls.c` -o $@ - -tlsIO.$(OBJEXT): $(srcdir)/tlsIO.c - $(COMPILE) -c `@CYGPATH@ $(srcdir)/tlsIO.c` -o $@ - -tlsBIO.$(OBJEXT): $(srcdir)/tlsBIO.c - $(COMPILE) -c `@CYGPATH@ $(srcdir)/tlsBIO.c` -o $@ - -tlsX509.$(OBJEXT): $(srcdir)/tlsX509.c - $(COMPILE) -c `@CYGPATH@ $(srcdir)/tlsX509.c` -o $@ - -fixstrtod.$(OBJEXT): $(srcdir)/fixstrtod.c - $(COMPILE) -c `@CYGPATH@ $(srcdir)/fixstrtod.c` -o $@ - -strncasecmp.$(OBJEXT): $(srcdir)/strncasecmp.c - $(COMPILE) -c `@CYGPATH@ $(srcdir)/strncasecmp.c` -o $@ +pkgIndex.tcl-auto: + ( echo pkg_mkIndex . $(PKG_LIB_FILE) \; exit; ) | $(TCLSH) + +pkgIndex.tcl: + (echo 'package ifneeded $(PACKAGE_NAME) $(PACKAGE_VERSION) \ + "[list load [file join $$dir $(PKG_LIB_FILE)]] ; \ + [list source [file join $$dir tls.tcl]]"'\ + ) > pkgIndex.tcl #======================================================================== # End of user-definable section #======================================================================== @@ -309,54 +275,50 @@ # variable in configure.in #======================================================================== clean: -test -z "$(BINARIES)" || rm -f $(BINARIES) - -rm -f *.o core *.core - -rm -f *.$(OBJEXT) + -rm -f *.$(OBJEXT) core *.core -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean: clean -rm -f *.tab.c - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -rm -f config.status + -rm -f $(CONFIG_CLEAN_FILES) + -rm -f config.cache config.log config.status -PKG_DIR = $(PACKAGE)$(VERSION) COMPEXE = gzip COMPEXT = gz COMPRESS = tar cvf - $(PKG_DIR) | $(COMPEXE) > $(PKG_DIR).tar.$(COMPEXT) DIST_ROOT = /tmp/dist DIST_DIR = $(DIST_ROOT)/$(PKG_DIR) dist-clean: rm -rf $(DIST_DIR) $(DIST_ROOT)/$(PKG_DIR).tar.$(COMPEXT) -dist: dist-clean $(srcdir)/configure +dist: dist-clean mkdir -p $(DIST_DIR) cp -p $(srcdir)/README.txt $(srcdir)/ChangeLog $(srcdir)/tls.htm \ $(srcdir)/configure $(srcdir)/configure.in \ - $(srcdir)/Makefile.in $(srcdir)/*.c $(srcdir)/*.h \ - $(srcdir)/pkgIndex.tcl.in $(srcdir)/license.terms \ + $(srcdir)/Makefile.in $(srcdir)/*.[ch] \ + $(srcdir)/license.terms \ $(srcdir)/aclocal.m4 $(srcdir)/tls.tcl \ $(DIST_DIR) + chmod 664 $(DIST_DIR)/Makefile.in $(DIST_DIR)/aclocal.m4 + chmod 775 $(DIST_DIR)/configure $(DIST_DIR)/configure.in - mkdir $(DIST_DIR)/config - cp -p $(srcdir)/config/install-sh $(srcdir)/config/mkinstalldirs \ - $(srcdir)/config/tcl.m4 \ - $(DIST_DIR)/config + mkdir $(DIST_DIR)/tclconfig + cp -p $(srcdir)/tclconfig/install-sh $(srcdir)/tclconfig/tcl.m4 \ + $(DIST_DIR)/tclconfig/ + chmod 664 $(DIST_DIR)/tclconfig/tcl.m4 + chmod +x $(DIST_DIR)/tclconfig/install-sh mkdir $(DIST_DIR)/tests cp -p $(srcdir)/tests/*.{tcl,test} $(DIST_DIR)/tests mkdir $(DIST_DIR)/tests/certs cp -p $(srcdir)/tests/certs/*.{pem,key,req,txt} $(DIST_DIR)/tests/certs - chmod 664 $(DIST_DIR)/Makefile.in - chmod 775 $(DIST_DIR)/configure $(DIST_DIR)/configure.in - chmod +x $(DIST_DIR)/config/install-sh - (cd $(DIST_ROOT); $(COMPRESS);) #======================================================================== # Install binary object libraries. On Windows this includes both .dll and # .lib files. Because the .lib files are not explicitly listed anywhere, @@ -367,67 +329,75 @@ # file in the install location (assuming it can find a usable tclsh8.2 shell) # # You should not have to modify this target. #======================================================================== -install-lib-binaries: installdirs - @list='$(lib_BINARIES)'; for p in $$list; do \ - if test -f $$p; then \ - ext=`echo $$p|sed -e "s/.*\.//"`; \ - if test "x$$ext" = "xdll"; then \ - echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$p"; \ - $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$p; \ - lib=`basename $$p|sed -e 's/.[^.]*$$//'`.lib; \ - if test -f $$lib; then \ - echo " $(INSTALL_PROGRAM) $$lib $(DESTDIR)$(libdir)/$$lib"; \ - $(INSTALL_PROGRAM) $$lib $(DESTDIR)$(libdir)/$$lib; \ - fi; \ - else \ - echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libdir)/$$p"; \ - $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libdir)/$$p; \ - fi; \ - else :; fi; \ - done - @list='$(lib_BINARIES)'; for p in $$list; do \ - if test -f $$p; then \ - echo " $(RANLIB) $(DESTDIR)$(bindir)/$$p"; \ - $(RANLIB) $(DESTDIR)$(bindir)/$$p; \ - else :; fi; \ +install-lib-binaries: + @mkdir -p $(DESTDIR)$(pkglibdir) + @list='$(lib_BINARIES)'; for p in $$list; do \ + if test -f $$p; then \ + echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(pkglibdir)/$$p"; \ + $(INSTALL_PROGRAM) $$p $(DESTDIR)$(pkglibdir)/$$p; \ + stub=`echo $$p|sed -e "s/.*\(stub\).*/\1/"`; \ + if test "x$$stub" = "xstub"; then \ + echo " $(RANLIB_STUB) $(DESTDIR)$(pkglibdir)/$$p"; \ + $(RANLIB_STUB) $(DESTDIR)$(pkglibdir)/$$p; \ + else \ + echo " $(RANLIB) $(DESTDIR)$(pkglibdir)/$$p"; \ + $(RANLIB) $(DESTDIR)$(pkglibdir)/$$p; \ + fi; \ + ext=`echo $$p|sed -e "s/.*\.//"`; \ + if test "x$$ext" = "xdll"; then \ + lib=`basename $$p|sed -e 's/.[^.]*$$//'`.lib; \ + if test -f $$lib; then \ + echo " $(INSTALL_DATA) $$lib $(DESTDIR)$(pkglibdir)/$$lib"; \ + $(INSTALL_DATA) $$lib $(DESTDIR)$(pkglibdir)/$$lib; \ + fi; \ + fi; \ + fi; \ + done + @list='$(PKG_TCL_SOURCES)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + destp=`basename $$p`; \ + echo " Install $$destp $(DESTDIR)$(pkglibdir)/$$destp"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkglibdir)/$$destp; \ + fi; \ done #======================================================================== # Install binary executables (e.g. .exe files) # # You should not have to modify this target. #======================================================================== -install-bin-binaries: installdirs +install-bin-binaries: + @mkdir -p $(DESTDIR)$(bindir) @list='$(bin_BINARIES)'; for p in $$list; do \ if test -f $$p; then \ - echo " $(INSTALL_DATA) $$p $(DESTDIR)$(bindir)/$$p"; \ - $(INSTALL_DATA) $$p $(DESTDIR)$(bindir)/$$p; \ - else :; fi; \ + echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$p"; \ + $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$p; \ + fi; \ done -.SUFFIXES: .c .o .obj +.SUFFIXES: .c .$(OBJEXT) Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) \ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status uninstall-binaries: - @$(NORMAL_UNINSTALL) - list='$(BINARIES)'; for p in $$list; do \ - rm -f $(DESTDIR)$(libdir)/$$p; \ + list='$(lib_BINARIES)'; for p in $$list; do \ + rm -f $(DESTDIR)$(pkglibdir)/$$p; \ + done + list='$(PKG_TCL_SOURCES)'; for p in $$list; do \ + p=`basename $$p`; \ + rm -f $(DESTDIR)$(pkglibdir)/$$p; \ + done + list='$(bin_BINARIES)'; for p in $$list; do \ + rm -f $(DESTDIR)$(bindir)/$$p; \ done -installdirs: - $(mkinstalldirs) $(DESTDIR)$(libdir) - $(mkinstalldirs) $(DESTDIR)$(bindir) - $(mkinstalldirs) $(DESTDIR)$(pkglibdir) - -.PHONY: all binaries clean depend distclean doc install installdirs \ -libraries test +.PHONY: all binaries clean depend distclean doc install libraries test # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: