# Makefile.in -- # # This file is a Makefile for the tclhttpd web server # # Copyright (c) 1999-2000 Scriptics Corporation. # # 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.30 2003/08/11 16:46:57 welch Exp $ #======================================================================== # Edit the following few lines when writing a new extension #======================================================================== #======================================================================== # Change the name of the variable "exampleA_LIB_FILE" to match the one # used in the configure script. This is the parameterized name of the # library that we are building. #======================================================================== #lib_BINARIES=$(crypt_LIB_FILE) $(limit_LIB_FILE) lib_BINARIES=$(crypt_LIB_FILE) @LIMIT_EXTENSION@ 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. #======================================================================== limit_SOURCES = src/limit.c crypt_SOURCES = src/crypt.c src/cryptLib.c SOURCES = $(crypt_SOURCES) $(limit_SOURCES) #======================================================================== # 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. # # CRYPT_OBJS is the name of the object files needed to provide the # crypt() C function. Most unix platforms already have it in a standard # library. Windows doesn't, so we need to account for that possibility # here. #======================================================================== CRYPT_OBJS = @CRYPT_OBJS@ limit_OBJECTS = limit.$(OBJEXT) crypt_OBJECTS = crypt.$(OBJEXT) $(CRYPT_OBJS) OBJECTS = $(crypt_OBJECTS) #======================================================================== # The substitution of "exampleA_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. #======================================================================== limit_LIB_FILE = @limit_LIB_FILE@ $(limit_LIB_FILE)_OBJECTS = $(limit_OBJECTS) crypt_LIB_FILE = @crypt_LIB_FILE@ $(crypt_LIB_FILE)_OBJECTS = $(crypt_OBJECTS) #======================================================================== # This is a list of header files to be installed #======================================================================== GENERIC_HDRS= #======================================================================== # Add additional lines to handle any additional AC_SUBST cases that # have been added to the configure script. #======================================================================== # SAMPLE_NEW_VAR=@SAMPLE_NEW_VAR@ BUILD_LIMIT = @BUILD_LIMIT@ # DISTDIR and DEST are used when creating distributions DISTDIR=/tmp/ DEST=${DISTDIR}/tclhttpd-${VERSION} TCL_VERSION=@TCL_VERSION@ TCLLIB_VERSION=@TCLLIB_VERSION@ TCL_DIR=@TCL_DIR@ TCLLIB_DIR=@TCLLIB_DIR@ THREAD_VERSION=@THREAD_VERSION@ #======================================================================== # 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 = pkgdatadir = $(datadir)/@PACKAGE@@VERSION@ pkglibdir = $(libdir)/@PACKAGE@@VERSION@ cryptlibdir = $(libdir)/@CRYPT_PACKAGE@@CRYPT_VERSION@ limitlibdir = $(libdir)/@LIMIT_PACKAGE@@LIMIT_VERSION@ pkgincludedir = $(includedir)/@PACKAGE@@VERSION@ SERVER_ROOT = @SERVER_ROOT@ htdocsdir = $(prefix)/share/@PACKAGE@@VERSION@ customdir = $(SERVER_ROOT)/custom top_builddir = . INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ -m 755 INSTALL_DATA = @INSTALL_DATA@ -m 644 INSTALL_SCRIPT = @INSTALL_SCRIPT@ -m 644 INSTALL_STRIP_FLAG = transform = @program_transform_name@ NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : PACKAGE = @PACKAGE@ VERSION = @VERSION@ RELEASE = @RELEASE@ WIN_VERSION = @WIN_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@ TCL_TOOL_DIR_NATIVE = @TCL_TOOL_DIR_NATIVE@ TCL_TOP_DIR_NATIVE = @TCL_TOP_DIR_NATIVE@ TCL_UNIX_DIR_NATIVE = @TCL_UNIX_DIR_NATIVE@ TCL_WIN_DIR_NATIVE = @TCL_WIN_DIR_NATIVE@ INCLUDE_DIR_NATIVE = @INCLUDE_DIR_NATIVE@ TCL_BMAP_DIR_NATIVE = @TCL_BMAP_DIR_NATIVE@ TCL_PLATFORM_DIR_NATIVE = @TCL_PLATFORM_DIR_NATIVE@ TCL_GENERIC_DIR_NATIVE = @TCL_GENERIC_DIR_NATIVE@ TCLSH_PROG = @TCLSH_PROG@ SHARED_BUILD = @SHARED_BUILD@ AUTOCONF = autoconf LDFLAGS = $(LDFLAGS_DEFAULT) INCLUDES = @TCL_INCLUDES@ EXTRA_CFLAGS = $(PROTO_FLAGS) $(SECURITY_FLAGS) $(MEM_DEBUG_FLAGS) $(KEYSYM_FLAGS) $(NO_DEPRECATED_FLAGS) DEFS = @DEFS@ $(TCL_DEFS) $(TCL_EXTRA_CFLAGS) $(EXTRA_CFLAGS) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 CONFIGDIR = @CONFIGDIR@ mkinstalldirs = mkdir -p 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 $@ #======================================================================== # Start of user-definable TARGETS section #======================================================================== #======================================================================== # TEA TARGETS. Please note that the "libraries:" target refers to platform # independent files, and the "binaries:" target inclues executable programs and # platform-dependent libraries. Modify these targets so that they install # the various pieces of your package. The make and install rules # for the BINARIES that you specified above have already been done. #======================================================================== all: libraries doc #======================================================================== # The binaries target builds executable programs, Windows .dll's, unix # 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) libraries: doc: install: all install-libraries install-doc install-binaries: binaries install-lib-binaries test: 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. #======================================================================== # NOTE - MAKE_LIB can't work here, because it wants to reference # tclhttpd_LIB_OBJECTS, but we need to make two extensions. # So, we directly jam in the MAKE_SHARED_LIB macro results, but # only the Unix variant. These extensions don't apply to Windows anyway $(crypt_LIB_FILE): $(crypt_OBJECTS) -rm -f $(crypt_LIB_FILE) ${SHLIB_LD} -o $@ $(crypt_OBJECTS) ${SHLIB_LDFLAGS} ${SHLIB_LD_LIBS} $(RANLIB) $(crypt_LIB_FILE) $(limit_LIB_FILE): $(limit_OBJECTS) -rm -f $(limit_LIB_FILE) ${SHLIB_LD} -o $@ $(limit_OBJECTS) ${SHLIB_LDFLAGS} ${SHLIB_LD_LIBS} $(RANLIB) $(limit_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 $@ #======================================================================== limit.$(OBJEXT): $(srcdir)/src/limit.c $(COMPILE) -c `@CYGPATH@ $(srcdir)/src/limit.c` -o $@ crypt.$(OBJEXT): $(srcdir)/src/crypt.c $(COMPILE) -c `@CYGPATH@ $(srcdir)/src/crypt.c` -o $@ cryptLib.$(OBJEXT): $(srcdir)/src/cryptLib.c $(COMPILE) -c `@CYGPATH@ $(srcdir)/src/cryptLib.c` -o $@ install-binaries: @echo "Installing script programs in $(DESTDIR)$(prefix)/bin" @for i in $(srcdir)/bin/*.tcl ; do \ $(INSTALL_PROGRAM) $$i $(DESTDIR)$(prefix)/bin ; \ done; @for i in $(srcdir)/bin/*.rc ; do \ $(INSTALL_DATA) $$i $(DESTDIR)$(prefix)/bin ; \ done; @echo "Installing sample boot script" $(INSTALL_DATA) $(srcdir)/bin/tclhttpd.etc.init $(DESTDIR)$(SERVER_ROOT) install-libraries: install-custom installdirs @echo "Installing script files in $(DESTDIR)$(pkglibdir)" @for i in $(srcdir)/lib/*.tcl ; do \ $(INSTALL_SCRIPT) $$i $(DESTDIR)$(pkglibdir) ; \ done; $(INSTALL_SCRIPT) $(srcdir)/lib/mime.types $(DESTDIR)$(pkglibdir) install-htdocs: @echo "Creating htdocs tree in $(htdocsdir)" -chmod 755 `@CYGPATH@ $(srcdir)/htdocs/cgi-bin/*.cgi` $(TCLSH_PROG) `@CYGPATH@ $(srcdir)/bin/CopyDist` `@CYGPATH@ $(srcdir)/htdocs` `@CYGPATH@ $(DESTDIR)$(htdocsdir)` -$(mkinstalldirs) $(DESTDIR)$(htdocsdir)/links @echo "Copying some READMEs into $(htdocsdir)/links" $(INSTALL_DATA) $(srcdir)/README $(DESTDIR)$(htdocsdir)/links/README.txt $(INSTALL_DATA) $(srcdir)/certs/README.ssl $(DESTDIR)$(htdocsdir)/links/README.ssl.txt $(INSTALL_DATA) $(srcdir)/WHATSNEW $(DESTDIR)$(htdocsdir)/links/WHATSNEW.txt $(INSTALL_DATA) $(srcdir)/INSTALL $(DESTDIR)$(htdocsdir)/links/INSTALL.txt @echo "Copying license.terms into $(DESTDIR)$(htdocsdir)" $(INSTALL_DATA) $(srcdir)/license.terms $(DESTDIR)$(htdocsdir)/license.terms $(INSTALL_DATA) $(srcdir)/doc/httpd.1 $(DESTDIR)$(mandir)/man1/tclhttpd.1 install-custom: @echo "Adding custom code in $(DESTDIR)$(customdir)" $(TCLSH_PROG) `@CYGPATH@ $(srcdir)/bin/CopyDist` `@CYGPATH@ $(srcdir)/custom` `@CYGPATH@ $(DESTDIR)$(customdir)` install-doc: install-htdocs @echo "Installing README" $(INSTALL_DATA) $(srcdir)/README $(DESTDIR)$(SERVER_ROOT) $(INSTALL_DATA) $(srcdir)/bin/README_custom $(DESTDIR)$(SERVER_ROOT) installdirs: $(mkinstalldirs) $(DESTDIR)$(pkglibdir) $(DESTDIR)$(prefix)/bin $(DESTDIR)$(htdocsdir) $(DESTDIR)$(customdir) clean: -test -z "$(BINARIES)" || rm -f $(BINARIES) -rm -f *.o core *.core -rm -f *.$(OBJEXT) -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 limit_pkgIndex.tcl crypt_pkgIndex.tcl #======================================================================== # Install binary object libraries. On Windows this includes both .dll and # .lib files. Because the .lib files are not explicitly listed anywhere, # we need to deduce their existence from the .dll file of the same name. # Additionally, the .dll files go into the bin directory, but the .lib # files go into the lib directory. On Unix platforms, all library files # go into the lib directory. In addition, this will generate the pkgIndex.tcl # 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)$(libdir)/$$p"; \ $(RANLIB) $(DESTDIR)$(libdir)/$$p; \ else :; fi; \ done $(INSTALL_SCRIPT) crypt_pkgIndex.tcl $(DESTDIR)$(cryptlibdir)/pkgIndex.tcl if test "$(BUILD_LIMIT)" = "1" ; then \ $(mkinstalldirs) $(DESTDIR)$(limitlibdir) ; \ $(INSTALL_SCRIPT) limit_pkgIndex.tcl $(DESTDIR)$(limitlibdir)/pkgIndex.tcl;\ fi Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) \ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status # dist target dist: rm -rf $(DEST) mkdir $(DEST) $(TCLSH_PROG) $(srcdir)/bin/CopyDist $(srcdir) $(DEST) (cd $(DISTDIR); tar cf - ./tclhttpd-$(VERSION) | gzip > tclhttpd-$(VERSION).tar.gz) (cd $(DISTDIR) ; zip -9 -r -o tclhttpd$(WIN_VERSION).zip tclhttpd-$(VERSION)) rpm: dist rm -rf $(DISTDIR)/dist mkdir -p $(DISTDIR)/dist/SPECS mkdir -p $(DISTDIR)/dist/SRPMS mkdir -p $(DISTDIR)/dist/RPMS mkdir -p $(DISTDIR)/dist/SOURCES mkdir -p $(DISTDIR)/dist/BUILD cp $(DISTDIR)/$(PACKAGE)-$(VERSION).tar.gz $(DISTDIR)/dist/SOURCES/ cp $(srcdir)/$(PACKAGE).spec $(DISTDIR)/dist/SPECS/$(PACKAGE)-$(VERSION)-$(RELEASE).spec rpmbuild --define "_topdir $(DISTDIR)/dist" -ba $(DISTDIR)/dist/SPECS/$(PACKAGE)-$(VERSION)-$(RELEASE).spec .PHONY: all binaries clean depend distclean doc install installdirs \ 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: