2016-07-04 14:46:30 +03:00
# 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.
2022-12-08 16:48:31 +03:00
# Copyright (c) 2002-2005 ActiveState Corporation.
2016-07-04 14:46:30 +03:00
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#========================================================================
2022-12-08 16:48:31 +03:00
# 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.
2016-07-04 14:46:30 +03:00
#========================================================================
#========================================================================
# 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
2022-12-08 16:48:31 +03:00
# $(srcdir) or in the generic, win or unix subdirectory.
2016-07-04 14:46:30 +03:00
#========================================================================
PKG_SOURCES = @PKG_SOURCES@
PKG_OBJECTS = @PKG_OBJECTS@
2022-12-08 16:48:31 +03:00
PKG_STUB_SOURCES = @PKG_STUB_SOURCES@
PKG_STUB_OBJECTS = @PKG_STUB_OBJECTS@
2016-07-04 14:46:30 +03:00
#========================================================================
# 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@
2022-12-08 16:48:31 +03:00
PKG_LIB_FILE8 = @PKG_LIB_FILE8@
PKG_LIB_FILE9 = @PKG_LIB_FILE9@
2016-07-04 14:46:30 +03:00
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@
2022-12-08 16:48:31 +03:00
includedir = @includedir@
datarootdir = @datarootdir@
runstatedir = @runstatedir@
2016-07-04 14:46:30 +03:00
datadir = @datadir@
mandir = @mandir@
DESTDIR =
PKG_DIR = $( PACKAGE_NAME) $( PACKAGE_VERSION)
pkgdatadir = $( datadir) /$( PKG_DIR)
pkglibdir = $( libdir) /$( PKG_DIR)
pkgincludedir = $( includedir) /$( PKG_DIR)
2022-12-08 16:48:31 +03:00
top_builddir = @abs_top_builddir@
2016-07-04 14:46:30 +03:00
2022-12-08 16:48:31 +03:00
INSTALL_OPTIONS =
INSTALL = @INSTALL@ $( INSTALL_OPTIONS)
INSTALL_DATA_DIR = @INSTALL_DATA_DIR@
2016-07-04 14:46:30 +03:00
INSTALL_DATA = @INSTALL_DATA@
2022-12-08 16:48:31 +03:00
INSTALL_PROGRAM = @INSTALL_PROGRAM@
2016-07-04 14:46:30 +03:00
INSTALL_SCRIPT = @INSTALL_SCRIPT@
2022-12-08 16:48:31 +03:00
INSTALL_LIBRARY = @INSTALL_LIBRARY@
2016-07-04 14:46:30 +03:00
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
CC = @CC@
2022-12-08 16:48:31 +03:00
CCLD = @CCLD@
2016-07-04 14:46:30 +03:00
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@
2022-12-08 16:48:31 +03:00
#TCL_DEFS = @TCL_DEFS@
2016-07-04 14:46:30 +03:00
TCL_BIN_DIR = @TCL_BIN_DIR@
2022-12-08 16:48:31 +03:00
TCL_SRC_DIR = @TCL_SRC_DIR@
#TK_BIN_DIR = @TK_BIN_DIR@
#TK_SRC_DIR = @TK_SRC_DIR@
2016-07-04 14:46:30 +03:00
2022-12-08 16:48:31 +03:00
# Not used, but retained for reference of what libs Tcl required
#TCL_LIBS = @TCL_LIBS@
2016-07-04 14:46:30 +03:00
#========================================================================
# 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).
#========================================================================
2022-12-08 16:48:31 +03:00
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@) " \
2016-07-04 14:46:30 +03:00
PATH = " $( EXTRA_PATH) : $( PATH) " \
2022-12-08 16:48:31 +03:00
TCLLIBPATH = " $( TCLLIBPATH) "
2016-07-04 14:46:30 +03:00
TCLSH_PROG = @TCLSH_PROG@
2022-12-08 16:48:31 +03:00
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@
2016-07-04 14:46:30 +03:00
2022-12-08 16:48:31 +03:00
INCLUDES = @PKG_INCLUDES@ @TCL_INCLUDES@ -I.
#INCLUDES = @PKG_INCLUDES@ @TCL_INCLUDES@ @TK_INCLUDES@ @TK_XINCLUDES@
2016-07-04 14:46:30 +03:00
PKG_CFLAGS = @PKG_CFLAGS@
2022-12-08 16:48:31 +03:00
# 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)
2016-07-04 14:46:30 +03:00
DEFS = @DEFS@ $( PKG_CFLAGS)
2022-12-08 16:48:31 +03:00
# Move pkgIndex.tcl to 'BINARIES' var if it is generated in the Makefile
CONFIG_CLEAN_FILES = Makefile pkgIndex.tcl
CLEANFILES = @CLEANFILES@
2016-07-04 14:46:30 +03:00
CPPFLAGS = @CPPFLAGS@
LIBS = @PKG_LIBS@ @LIBS@
AR = @AR@
CFLAGS = @CFLAGS@
2022-12-08 16:48:31 +03:00
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 )
2016-07-04 14:46:30 +03:00
#========================================================================
# Start of user-definable TARGETS section
#========================================================================
#========================================================================
# TEA TARGETS. Please note that the "libraries:" target refers to platform
2022-12-08 16:48:31 +03:00
# independent files, and the "binaries:" target includes executable programs and
2016-07-04 14:46:30 +03:00
# 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.
#========================================================================
2022-12-08 16:48:31 +03:00
binaries : $( BINARIES )
2016-07-04 14:46:30 +03:00
libraries :
2022-12-08 16:48:31 +03:00
#========================================================================
# 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.
#========================================================================
2016-07-04 14:46:30 +03:00
doc :
2022-12-08 16:48:31 +03:00
@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"
2016-07-04 14:46:30 +03:00
2022-12-08 16:48:31 +03:00
#install: all install-binaries install-libraries install-doc
2020-09-30 14:19:12 +03:00
install : all install -binaries install -libraries
2016-07-04 14:46:30 +03:00
install-binaries : binaries install -lib -binaries install -bin -binaries
#========================================================================
# This rule installs platform-independent files, such as header files.
2022-12-08 16:48:31 +03:00
# The list=...; for p in $$list handles the empty list case x-platform.
2016-07-04 14:46:30 +03:00
#========================================================================
install-libraries : libraries
2022-12-08 16:48:31 +03:00
@$( 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 ;
2016-07-04 14:46:30 +03:00
#========================================================================
# Install documentation. Unix manpages should go in the $(mandir)
# directory.
#========================================================================
install-doc : doc
2022-12-08 16:48:31 +03:00
@$( INSTALL_DATA_DIR) " $( DESTDIR) $( mandir) /mann "
2016-07-04 14:46:30 +03:00
@echo " Installing documentation in $( DESTDIR) $( mandir) "
@list= '$(srcdir)/doc/*.n' ; for i in $$ list; do \
2022-12-08 16:48:31 +03:00
echo " Installing $$ i " ; \
$( INSTALL_DATA) $$ i " $( DESTDIR) $( mandir) /mann " ; \
2016-07-04 14:46:30 +03:00
done
2022-12-08 16:48:31 +03:00
test : binaries libraries
$( TCLSH) ` @CYGPATH@ $( srcdir) /tests/all.tcl` $( TESTFLAGS) \
-load " package ifneeded $( PACKAGE_NAME) $( PACKAGE_VERSION) \
[ list load ` @CYGPATH@ $( PKG_LIB_FILE) ` [ string totitle $( PACKAGE_NAME) ] ] "
2016-07-04 14:46:30 +03:00
shell : binaries libraries
@$( TCLSH) $( SCRIPT)
gdb :
2022-12-08 16:48:31 +03:00
$( 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)
2016-07-04 14:46:30 +03:00
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)
2022-12-08 16:48:31 +03:00
$(PKG_STUB_LIB_FILE) : $( PKG_STUB_OBJECTS )
-rm -f $( PKG_STUB_LIB_FILE)
${ MAKE_STUB_LIB }
$( RANLIB_STUB) $( PKG_STUB_LIB_FILE)
2016-07-04 14:46:30 +03:00
#========================================================================
2022-12-08 16:48:31 +03:00
# We need to enumerate the list of .c to .o lines here.
#
2016-07-04 14:46:30 +03:00
# 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:
#
2022-12-08 16:48:31 +03:00
# sample.$(OBJEXT): $(srcdir)/generic/sample.c
# $(COMPILE) -c `@CYGPATH@ $(srcdir)/generic/sample.c` -o $@
2016-07-04 14:46:30 +03:00
#
2022-12-08 16:48:31 +03:00
# 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:....
2016-07-04 14:46:30 +03:00
#========================================================================
2022-12-08 16:48:31 +03:00
VPATH = $( srcdir) :$( srcdir) /../backend
2016-07-04 14:46:30 +03:00
.c.@OBJEXT@ :
$( COMPILE) -c ` @CYGPATH@ $<` -o $@
2022-12-08 16:48:31 +03:00
#========================================================================
# 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) ; )
2016-07-04 14:46:30 +03:00
#========================================================================
# End of user-definable section
#========================================================================
#========================================================================
# Don't modify the file to clean here. Instead, set the "CLEANFILES"
2022-12-08 16:48:31 +03:00
# variable in configure.ac
2016-07-04 14:46:30 +03:00
#========================================================================
clean :
-test -z " $( BINARIES) " || rm -f $( BINARIES)
2022-12-08 16:48:31 +03:00
-rm -f *.$( OBJEXT) core *.core
2016-07-04 14:46:30 +03:00
-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.
2022-12-08 16:48:31 +03:00
# 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)
2016-07-04 14:46:30 +03:00
#
# You should not have to modify this target.
#========================================================================
2022-12-08 16:48:31 +03:00
install-lib-binaries : binaries
@$( INSTALL_DATA_DIR) " $( DESTDIR) $( pkglibdir) "
2016-07-04 14:46:30 +03:00
@list= '$(lib_BINARIES)' ; for p in $$ list; do \
if test -f $$ p; then \
2022-12-08 16:48:31 +03:00
echo " $( INSTALL_LIBRARY) $$ p $( DESTDIR) $( pkglibdir) / $$ p " ; \
$( INSTALL_LIBRARY) $$ p " $( DESTDIR) $( pkglibdir) / $$ p " ; \
2016-07-04 14:46:30 +03:00
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 " ; \
2022-12-08 16:48:31 +03:00
$( INSTALL_DATA) $$ lib " $( DESTDIR) $( pkglibdir) / $$ lib " ; \
2016-07-04 14:46:30 +03:00
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 " ; \
2022-12-08 16:48:31 +03:00
$( INSTALL_DATA) $( srcdir) /$$ p " $( DESTDIR) $( pkglibdir) / $$ destp " ; \
2016-07-04 14:46:30 +03:00
fi ; \
done
2022-12-08 16:48:31 +03:00
@if test " x $( SHARED_BUILD) " = "x1" ; then \
echo " Install pkgIndex.tcl $( DESTDIR) $( pkglibdir) " ; \
$( INSTALL_DATA) pkgIndex.tcl " $( DESTDIR) $( pkglibdir) " ; \
fi
2016-07-04 14:46:30 +03:00
#========================================================================
2022-12-08 16:48:31 +03:00
# 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.
2016-07-04 14:46:30 +03:00
#
2022-12-08 16:48:31 +03:00
# You should not have to modify this target, except to define bin_BINARIES
# above if necessary.
2016-07-04 14:46:30 +03:00
#========================================================================
2022-12-08 16:48:31 +03:00
install-bin-binaries : binaries
@$( INSTALL_DATA_DIR) " $( DESTDIR) $( bindir) "
2016-07-04 14:46:30 +03:00
@list= '$(bin_BINARIES)' ; for p in $$ list; do \
if test -f $$ p; then \
echo " $( INSTALL_PROGRAM) $$ p $( DESTDIR) $( bindir) / $$ p " ; \
2022-12-08 16:48:31 +03:00
$( INSTALL_PROGRAM) $$ p " $( DESTDIR) $( bindir) / $$ p " ; \
2016-07-04 14:46:30 +03:00
fi ; \
done
2022-12-08 16:48:31 +03:00
Makefile : $( srcdir ) /Makefile .in $( top_builddir ) /config .status
2016-07-04 14:46:30 +03:00
cd $( top_builddir) \
&& CONFIG_FILES = $@ CONFIG_HEADERS = $( SHELL) ./config.status
uninstall-binaries :
list = '$(lib_BINARIES)' ; for p in $$ list; do \
2022-12-08 16:48:31 +03:00
rm -f " $( DESTDIR) $( pkglibdir) / $$ p " ; \
2016-07-04 14:46:30 +03:00
done
list = '$(PKG_TCL_SOURCES)' ; for p in $$ list; do \
p = ` basename $$ p` ; \
2022-12-08 16:48:31 +03:00
rm -f " $( DESTDIR) $( pkglibdir) / $$ p " ; \
2016-07-04 14:46:30 +03:00
done
list = '$(bin_BINARIES)' ; for p in $$ list; do \
2022-12-08 16:48:31 +03:00
rm -f " $( DESTDIR) $( bindir) / $$ p " ; \
2016-07-04 14:46:30 +03:00
done
.PHONY : all binaries clean depend distclean doc install libraries test
2022-12-08 16:48:31 +03:00
.PHONY : gdb gdb -test valgrind valgrindshell
2016-07-04 14:46:30 +03:00
# 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 :
2022-12-08 16:48:31 +03:00