| # Makefile.in -- |
| # |
| # This file is a Makefile for Sample TEA Extension. 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. |
| # |
| # Copyright (c) 1999 Scriptics Corporation. |
| # Copyright (c) 2002-2005 ActiveState Corporation. |
| # |
| # See the file "license.terms" for information on usage and redistribution |
| # of this file, and for a DISCLAIMER OF ALL WARRANTIES. |
| |
| #======================================================================== |
| # Add additional lines to handle any additional AC_SUBST cases that |
| # have been added in a customized configure script. |
| #======================================================================== |
| |
| #SAMPLE_NEW_VAR = @SAMPLE_NEW_VAR@ |
| |
| #======================================================================== |
| # Nothing of the variables below this line should need to be changed. |
| # Please check the TARGETS section below to make sure the make targets |
| # are correct. |
| #======================================================================== |
| |
| #======================================================================== |
| # The names of the source files is defined in the configure script. |
| # The object files are used for linking into the final library. |
| # This will be used when a dist target is added to the Makefile. |
| # It is not important to specify the directory, as long as it is the |
| # $(srcdir) or in the generic, win or unix subdirectory. |
| #======================================================================== |
| |
| PKG_SOURCES = @PKG_SOURCES@ |
| PKG_OBJECTS = @PKG_OBJECTS@ |
| |
| PKG_STUB_SOURCES = @PKG_STUB_SOURCES@ |
| PKG_STUB_OBJECTS = @PKG_STUB_OBJECTS@ |
| |
| #======================================================================== |
| # PKG_TCL_SOURCES identifies Tcl runtime files that are associated with |
| # this package that need to be installed, if any. |
| #======================================================================== |
| |
| PKG_TCL_SOURCES = @PKG_TCL_SOURCES@ |
| |
| #======================================================================== |
| # This is a list of public header files to be installed, if any. |
| #======================================================================== |
| |
| PKG_HEADERS = @PKG_HEADERS@ |
| |
| #======================================================================== |
| # "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_LIB_FILE8 = @PKG_LIB_FILE8@ |
| PKG_LIB_FILE9 = @PKG_LIB_FILE9@ |
| 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@ |
| includedir = @includedir@ |
| datarootdir = @datarootdir@ |
| runstatedir = @runstatedir@ |
| datadir = @datadir@ |
| mandir = @mandir@ |
| |
| DESTDIR = |
| |
| PKG_DIR = $(PACKAGE_NAME)$(PACKAGE_VERSION) |
| pkgdatadir = $(datadir)/$(PKG_DIR) |
| pkglibdir = $(libdir)/$(PKG_DIR) |
| pkgincludedir = $(includedir)/$(PKG_DIR) |
| |
| top_builddir = @abs_top_builddir@ |
| |
| INSTALL_OPTIONS = |
| INSTALL = @INSTALL@ $(INSTALL_OPTIONS) |
| INSTALL_DATA_DIR = @INSTALL_DATA_DIR@ |
| INSTALL_DATA = @INSTALL_DATA@ |
| INSTALL_PROGRAM = @INSTALL_PROGRAM@ |
| INSTALL_SCRIPT = @INSTALL_SCRIPT@ |
| INSTALL_LIBRARY = @INSTALL_LIBRARY@ |
| |
| PACKAGE_NAME = @PACKAGE_NAME@ |
| PACKAGE_VERSION = @PACKAGE_VERSION@ |
| CC = @CC@ |
| CCLD = @CCLD@ |
| CFLAGS_DEFAULT = @CFLAGS_DEFAULT@ |
| CFLAGS_WARNING = @CFLAGS_WARNING@ |
| EXEEXT = @EXEEXT@ |
| LDFLAGS_DEFAULT = @LDFLAGS_DEFAULT@ |
| MAKE_LIB = @MAKE_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_LIBS = @SHLIB_LD_LIBS@ |
| STLIB_LD = @STLIB_LD@ |
| #TCL_DEFS = @TCL_DEFS@ |
| TCL_BIN_DIR = @TCL_BIN_DIR@ |
| TCL_SRC_DIR = @TCL_SRC_DIR@ |
| #TK_BIN_DIR = @TK_BIN_DIR@ |
| #TK_SRC_DIR = @TK_SRC_DIR@ |
| |
| # 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) |
| #EXTRA_PATH = $(top_builddir):$(TCL_BIN_DIR):$(TK_BIN_DIR) |
| TCLLIBPATH = $(top_builddir) |
| TCLSH_ENV = TCL_LIBRARY=`@CYGPATH@ $(TCL_SRC_DIR)/library` |
| PKG_ENV = @LD_LIBRARY_PATH_VAR@="$(EXTRA_PATH):$(@LD_LIBRARY_PATH_VAR@)" \ |
| PATH="$(EXTRA_PATH):$(PATH)" \ |
| TCLLIBPATH="$(TCLLIBPATH)" |
| |
| TCLSH_PROG = @TCLSH_PROG@ |
| TCLSH = $(TCLSH_ENV) $(PKG_ENV) $(TCLSH_PROG) |
| |
| #WISH_ENV = TK_LIBRARY=`@CYGPATH@ $(TK_SRC_DIR)/library` |
| #WISH_PROG = @WISH_PROG@ |
| #WISH = $(TCLSH_ENV) $(WISH_ENV) $(PKG_ENV) $(WISH_PROG) |
| |
| SHARED_BUILD = @SHARED_BUILD@ |
| |
| INCLUDES = @PKG_INCLUDES@ @TCL_INCLUDES@ -I. -I$(srcdir)/.. |
| #INCLUDES = @PKG_INCLUDES@ @TCL_INCLUDES@ @TK_INCLUDES@ @TK_XINCLUDES@ |
| |
| PKG_CFLAGS = @PKG_CFLAGS@ |
| |
| # TCL_DEFS is not strictly need here, but if you remove it, then you |
| # must make sure that configure.ac checks for the necessary components |
| # that your library may use. TCL_DEFS can actually be a problem if |
| # you do not compile with a similar machine setup as the Tcl core was |
| # compiled with. |
| #DEFS = $(TCL_DEFS) @DEFS@ $(PKG_CFLAGS) |
| DEFS = @DEFS@ $(PKG_CFLAGS) |
| |
| # Move pkgIndex.tcl to 'BINARIES' var if it is generated in the Makefile |
| CONFIG_CLEAN_FILES = Makefile pkgIndex.tcl |
| CLEANFILES = @CLEANFILES@ |
| |
| CPPFLAGS = @CPPFLAGS@ |
| LIBS = @PKG_LIBS@ @LIBS@ |
| AR = @AR@ |
| CFLAGS = @CFLAGS@ |
| LDFLAGS = @LDFLAGS@ |
| LDFLAGS_DEFAULT = @LDFLAGS_DEFAULT@ |
| COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) \ |
| $(CFLAGS_DEFAULT) $(CFLAGS_WARNING) $(SHLIB_CFLAGS) $(CFLAGS) |
| |
| GDB = gdb |
| VALGRIND = valgrind |
| VALGRINDARGS = --tool=memcheck --num-callers=8 --leak-resolution=high \ |
| --leak-check=yes --show-reachable=yes -v |
| |
| .SUFFIXES: .c .$(OBJEXT) |
| |
| #======================================================================== |
| # Start of user-definable TARGETS section |
| #======================================================================== |
| |
| #======================================================================== |
| # TEA TARGETS. Please note that the "libraries:" target refers to platform |
| # independent files, and the "binaries:" target includes 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: binaries 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: |
| |
| #======================================================================== |
| # Your doc target should differentiate from doc builds (by the developer) |
| # and doc installs (see install-doc), which just install the docs on the |
| # end user machine when building from source. |
| #======================================================================== |
| |
| doc: |
| @echo "If you have documentation to create, place the commands to" |
| @echo "build the docs in the 'doc:' target. For example:" |
| @echo " xml2nroff sample.xml > sample.n" |
| @echo " xml2html sample.xml > sample.html" |
| |
| install: all install-binaries install-libraries install-doc |
| |
| install-binaries: binaries install-lib-binaries install-bin-binaries |
| |
| #======================================================================== |
| # This rule installs platform-independent files, such as header files. |
| # The list=...; for p in $$list handles the empty list case x-platform. |
| #======================================================================== |
| |
| install-libraries: libraries |
| @$(INSTALL_DATA_DIR) "$(DESTDIR)$(includedir)" |
| @echo "Installing header files in $(DESTDIR)$(includedir)" |
| @list='$(PKG_HEADERS)'; for i in $$list; do \ |
| echo "Installing $(srcdir)/$$i" ; \ |
| $(INSTALL_DATA) $(srcdir)/$$i "$(DESTDIR)$(includedir)" ; \ |
| done; |
| |
| #======================================================================== |
| # Install documentation. Unix manpages should go in the $(mandir) |
| # directory. |
| #======================================================================== |
| |
| install-doc: doc |
| @$(INSTALL_DATA_DIR) "$(DESTDIR)$(mandir)/mann" |
| @echo "Installing documentation in $(DESTDIR)$(mandir)" |
| @list='$(srcdir)/doc/*.n'; for i in $$list; do \ |
| echo "Installing $$i"; \ |
| $(INSTALL_DATA) $$i "$(DESTDIR)$(mandir)/mann" ; \ |
| done |
| |
| test: binaries libraries |
| @echo "SQLite TEA distribution does not include tests" |
| |
| shell: binaries libraries |
| @$(TCLSH) $(SCRIPT) |
| |
| gdb: |
| $(TCLSH_ENV) $(PKG_ENV) $(GDB) $(TCLSH_PROG) $(SCRIPT) |
| |
| gdb-test: binaries libraries |
| $(TCLSH_ENV) $(PKG_ENV) $(GDB) \ |
| --args $(TCLSH_PROG) `@CYGPATH@ $(srcdir)/tests/all.tcl` \ |
| $(TESTFLAGS) -singleproc 1 \ |
| -load "package ifneeded $(PACKAGE_NAME) $(PACKAGE_VERSION) \ |
| [list load `@CYGPATH@ $(PKG_LIB_FILE)` [string totitle $(PACKAGE_NAME)]]" |
| |
| valgrind: binaries libraries |
| $(TCLSH_ENV) $(PKG_ENV) $(VALGRIND) $(VALGRINDARGS) $(TCLSH_PROG) \ |
| `@CYGPATH@ $(srcdir)/tests/all.tcl` $(TESTFLAGS) |
| |
| valgrindshell: binaries libraries |
| $(TCLSH_ENV) $(PKG_ENV) $(VALGRIND) $(VALGRINDARGS) $(TCLSH_PROG) $(SCRIPT) |
| |
| depend: |
| |
| #======================================================================== |
| # $(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. |
| #======================================================================== |
| |
| $(PKG_LIB_FILE): $(PKG_OBJECTS) |
| -rm -f $(PKG_LIB_FILE) |
| ${MAKE_LIB} |
| $(RANLIB) $(PKG_LIB_FILE) |
| |
| $(PKG_STUB_LIB_FILE): $(PKG_STUB_OBJECTS) |
| -rm -f $(PKG_STUB_LIB_FILE) |
| ${MAKE_STUB_LIB} |
| $(RANLIB_STUB) $(PKG_STUB_LIB_FILE) |
| |
| #======================================================================== |
| # We need to enumerate the list of .c to .o lines here. |
| # |
| # 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: |
| # |
| # 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):$(srcdir)/generic:$(srcdir)/unix:$(srcdir)/win:$(srcdir)/macosx |
| |
| .c.@OBJEXT@: |
| $(COMPILE) -c `@CYGPATH@ $<` -o $@ |
| |
| tclsample.@OBJEXT@: sampleUuid.h |
| |
| $(srcdir)/manifest.uuid: |
| printf "git-" >$(srcdir)/manifest.uuid |
| (cd $(srcdir); git rev-parse HEAD >>$(srcdir)/manifest.uuid || \ |
| (printf "svn-r" >$(srcdir)/manifest.uuid ; \ |
| svn info --show-item last-changed-revision >>$(srcdir)/manifest.uuid) || \ |
| printf "unknown" >$(srcdir)/manifest.uuid) |
| |
| sampleUuid.h: $(srcdir)/manifest.uuid |
| echo "#define SAMPLE_VERSION_UUID \\" >$@ |
| cat $(srcdir)/manifest.uuid >>$@ |
| echo "" >>$@ |
| |
| #======================================================================== |
| # Distribution creation |
| # You may need to tweak this target to make it work correctly. |
| #======================================================================== |
| |
| #COMPRESS = tar cvf $(PKG_DIR).tar $(PKG_DIR); compress $(PKG_DIR).tar |
| COMPRESS = tar zcvf $(PKG_DIR).tar.gz $(PKG_DIR) |
| DIST_ROOT = /tmp/dist |
| DIST_DIR = $(DIST_ROOT)/$(PKG_DIR) |
| |
| DIST_INSTALL_DATA = CPPROG='cp -p' $(INSTALL) -m 644 |
| DIST_INSTALL_SCRIPT = CPPROG='cp -p' $(INSTALL) -m 755 |
| |
| dist-clean: |
| rm -rf $(DIST_DIR) $(DIST_ROOT)/$(PKG_DIR).tar.* |
| |
| dist: dist-clean $(srcdir)/manifest.uuid |
| $(INSTALL_DATA_DIR) $(DIST_DIR) |
| |
| # TEA files |
| $(DIST_INSTALL_DATA) $(srcdir)/Makefile.in \ |
| $(srcdir)/aclocal.m4 $(srcdir)/configure.ac \ |
| $(DIST_DIR)/ |
| $(DIST_INSTALL_SCRIPT) $(srcdir)/configure $(DIST_DIR)/ |
| |
| $(INSTALL_DATA_DIR) $(DIST_DIR)/tclconfig |
| $(DIST_INSTALL_DATA) $(srcdir)/tclconfig/README.txt \ |
| $(srcdir)/manifest.uuid \ |
| $(srcdir)/tclconfig/tcl.m4 $(srcdir)/tclconfig/install-sh \ |
| $(DIST_DIR)/tclconfig/ |
| |
| # Extension files |
| $(DIST_INSTALL_DATA) \ |
| $(srcdir)/ChangeLog \ |
| $(srcdir)/README.sha \ |
| $(srcdir)/license.terms \ |
| $(srcdir)/README \ |
| $(srcdir)/pkgIndex.tcl.in \ |
| $(DIST_DIR)/ |
| |
| list='demos doc generic library macosx tests unix win'; \ |
| for p in $$list; do \ |
| if test -d $(srcdir)/$$p ; then \ |
| $(INSTALL_DATA_DIR) $(DIST_DIR)/$$p; \ |
| $(DIST_INSTALL_DATA) $(srcdir)/$$p/* $(DIST_DIR)/$$p/; \ |
| fi; \ |
| done |
| |
| (cd $(DIST_ROOT); $(COMPRESS);) |
| |
| #======================================================================== |
| # End of user-definable section |
| #======================================================================== |
| |
| #======================================================================== |
| # Don't modify the file to clean here. Instead, set the "CLEANFILES" |
| # variable in configure.ac |
| #======================================================================== |
| |
| clean: |
| -test -z "$(BINARIES)" || rm -f $(BINARIES) |
| -rm -f *.$(OBJEXT) core *.core |
| -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) |
| |
| distclean: clean |
| -rm -f *.tab.c |
| -rm -f $(CONFIG_CLEAN_FILES) |
| -rm -f config.cache config.log config.status |
| |
| #======================================================================== |
| # 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. |
| # 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 tclsh shell) |
| # |
| # You should not have to modify this target. |
| #======================================================================== |
| |
| install-lib-binaries: binaries |
| @$(INSTALL_DATA_DIR) "$(DESTDIR)$(pkglibdir)" |
| @list='$(lib_BINARIES)'; for p in $$list; do \ |
| if test -f $$p; then \ |
| echo " $(INSTALL_LIBRARY) $$p $(DESTDIR)$(pkglibdir)/$$p"; \ |
| $(INSTALL_LIBRARY) $$p "$(DESTDIR)$(pkglibdir)/$$p"; \ |
| 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 |
| @if test "x$(SHARED_BUILD)" = "x1"; then \ |
| echo " Install pkgIndex.tcl $(DESTDIR)$(pkglibdir)"; \ |
| $(INSTALL_DATA) pkgIndex.tcl "$(DESTDIR)$(pkglibdir)"; \ |
| fi |
| |
| #======================================================================== |
| # Install binary executables (e.g. .exe files and dependent .dll files) |
| # This is for files that must go in the bin directory (located next to |
| # wish and tclsh), like dependent .dll files on Windows. |
| # |
| # You should not have to modify this target, except to define bin_BINARIES |
| # above if necessary. |
| #======================================================================== |
| |
| install-bin-binaries: binaries |
| @$(INSTALL_DATA_DIR) "$(DESTDIR)$(bindir)" |
| @list='$(bin_BINARIES)'; for p in $$list; do \ |
| if test -f $$p; then \ |
| echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$p"; \ |
| $(INSTALL_PROGRAM) $$p "$(DESTDIR)$(bindir)/$$p"; \ |
| fi; \ |
| done |
| |
| Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status |
| cd $(top_builddir) \ |
| && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status |
| |
| uninstall-binaries: |
| 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 |
| |
| .PHONY: all binaries clean depend distclean doc install libraries test |
| .PHONY: gdb gdb-test valgrind valgrindshell |
| |
| # 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: |