# 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-2003 ActiveState Corporation.
# Copyright (C) 1999-2014 Gustaf Neumann (a) (b)
# Copyright (C) 1999-2007 Uwe Zdun (a) (b)
#
# See the file "tcl-license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
# RCS: @(#) $Id: Makefile.in,v 1.25 2007/09/18 19:27:32 neumann Exp $
#========================================================================
# Add additional lines to handle any additional AC_SUBST cases that
# have been added in a customized configure script.
#========================================================================
#XOTCL_VERSION = @PACKAGE_VERSION@
XOTCL_VERSION = @XOTCL_VERSION@
src_lib_dir = ${srcdir}/library
src_doc_dir = ${srcdir}/doc
src_test_dir = ${srcdir}/tests
src_app_dir = ${srcdir}/apps
src_generic_dir = ${srcdir}/generic
src_man_dir = ${srcdir}/man
TCL_LIB_SPEC = @TCL_LIB_SPEC@
TCL_STUB_LIB_SPEC = @TCL_STUB_LIB_SPEC@
TK_LIB_SPEC = @TK_LIB_SPEC@
TK_STUB_LIB_SPEC = @TK_STUB_LIB_SPEC@
subdirs = @subdirs@
aol_prefix = @aol_prefix@
# Requires native paths
PLATFORM_DIR = `@CYGPATH@ $(srcdir)/@TEA_PLATFORM@`
target_doc_dir = ./doc
src_lib_dir_native = `@CYGPATH@ ${src_lib_dir}`
src_doc_dir_native = `@CYGPATH@ ${src_doc_dir}`
src_test_dir_native = `@CYGPATH@ ${src_test_dir}`
src_app_dir_native = `@CYGPATH@ ${src_app_dir}`
src_generic_dir_native = `@CYGPATH@ ${src_generic_dir}`
libdirs = comm lib serialize @libdirs_actiweb@
libsrc = COPYRIGHT pkgIndex.tcl
appdirs = comm scripts utils @apps_actiweb@
appsrc = COPYRIGHT
DOC_SOURCE = \
$(src_doc_dir)/langRef.xotcl \
$(src_lib_dir)/lib/*.xotcl \
$(src_lib_dir)/store/*.xotcl \
$(src_lib_dir)/serialize/Serializer.xotcl \
$(src_test_dir)/*.xotcl \
$(src_app_dir)/scripts/*.xotcl \
$(src_app_dir)/comm/[flsw]*.xotcl \
$(src_app_dir)/actiweb/univ/UNIVERSAL.xotcl \
$(src_app_dir)/utils/xo-*[a-z0-9]
#export TCLLIBPATH=. ${srcdir}
mkinstalldirs= mkdir -p
#========================================================================
# 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_STUB_LIB_FILE = @PKG_STUB_LIB_FILE@
lib_BINARIES = $(PKG_LIB_FILE) $(PKG_STUB_LIB_FILE)
BINARIES = $(lib_BINARIES)
SHELL = @SHELL@
srcdir = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
datarootdir = @datarootdir@
bindir = @bindir@
libdir = @libdir@
datadir = @datadir@
mandir = @mandir@
includedir = @includedir@
DESTDIR =
top_builddir = .
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
# INSTALL = $(SHELL) $(srcdir)/config/install-sh -c ${INSTALL_OPTIONS}
# INSTALL_DATA_DIR = ${INSTALL} -d -m 755
# INSTALL_PROGRAM = ${INSTALL} -m 755
# INSTALL_DATA = ${INSTALL} -m 644
# INSTALL_SCRIPT = ${INSTALL_PROGRAM}
# INSTALL_LIBRARY = ${INSTALL_DATA}
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@
pkgdatadir = @pkgdatadir@
pkglibdir = @pkglibdir@
pkgincludedir = @pkgincludedir@
# XOTCLSH = @XOTCLSH@
#========================================================================
# 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) ${srcdir}"
TCLSH_PROG = @TCLSH_PROG@
TCLSH = $(TCLSH_ENV) $(TCLSH_PROG)
SHARED_BUILD = @SHARED_BUILD@
AM_CPPFLAGS = @PKG_INCLUDES@ @TCL_INCLUDES@ @TK_INCLUDES@ @TK_XINCLUDES@ @XOTCL_BUILD_INCLUDE_SPEC@
EXTRA_CFLAGS = @PKG_CFLAGS@
# TCL_DEFS is not strictly need here, but if you remove it, then you
# must make sure that configure.in 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@ $(EXTRA_CFLAGS)
DEFS = @DEFS@ $(EXTRA_CFLAGS)
CONFIG_CLEAN_FILES = @CONFIG_CLEAN_FILES@
CPPFLAGS = @CPPFLAGS@
LIBS = @PKG_LIBS@ @LIBS@
AR = @AR@
CFLAGS = @CFLAGS@
COMPILE = $(CC) $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
#========================================================================
# 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: binaries libraries doc end
#========================================================================
# 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) @XOTCLSH@ @XOWISH@ pkgIndex.tcl
@if test ! "x$(subdirs)" = "x" ; then dirs="$(subdirs)" ; \
for dir in $$dirs ; do \
if (cd $$dir; $(MAKE) $@) ; then true ; else exit 1 ; fi ; \
done; fi;
libraries:
@if test ! "x$(subdirs)" = "x" ; then dirs="$(subdirs)" ; \
for dir in $$dirs ; do \
if (cd $$dir; $(MAKE) $@) ; then true ; else exit 1 ; fi ; \
done; fi;
libraries-pkgindex:
@$(TCLSH) $(src_lib_dir_native)/lib/make.xotcl -dir $(src_lib_dir_native) -all
fulldoc: doc pdf
# use language reference as sample file to trigger generation of documentation files
doc: $(target_doc_dir)/langRef-xotcl.html
$(target_doc_dir)/langRef-xotcl.html: $(src_doc_dir)/langRef.xotcl $(DOC_SOURCE)
@docs=""; \
for i in $(DOC_SOURCE); do docs="$$docs `@CYGPATH@ $$i`"; done; \
$(TCLSH) $(src_lib_dir_native)/lib/makeDoc.xotcl \
$(target_doc_dir) $$docs
pdf:
-(cd $(src_doc_dir); htmldoc --webpage --format pdf14 --title \
-f tutorial.pdf tutorial.html )
-(cd $(src_doc_dir); htmldoc --webpage --format pdf14 \
-f langRef-xotcl.pdf langRef-xotcl.html )
install: install-binaries install-shells install-libraries install-doc
@if test ! "x$(subdirs)" = "x" ; then dirs="$(subdirs)" ; \
for dir in $$dirs ; do \
if (cd $$dir; $(MAKE) $@) ; then true ; else exit 1 ; fi ; \
done; fi;
install-binaries: binaries install-lib-binaries install-bin-binaries install-pkgIndex
install-aol: install-binaries install-libraries
$(INSTALL) $(src_generic_dir)/aol-xotcl.tcl \
$(DESTDIR)/$(aol_prefix)/modules/tcl/xotcl.tcl
#========================================================================
# This rule installs platform-independent files, such as header files.
#========================================================================
install-libraries: libraries $(DESTDIR)$(includedir) $(DESTDIR)$(pkglibdir)
@echo "Installing header files in $(DESTDIR)$(includedir)"
@for i in $(PKG_HEADERS) ; do \
echo " Installing $$i" ; \
$(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(includedir) ; \
done;
@echo "Installing Libraries to $(DESTDIR)$(pkglibdir)/"
@for i in $(libdirs) ; do \
echo " Installing $$i/" ; \
rm -rf $(DESTDIR)$(pkglibdir)/$$i ; \
mkdir -p $(DESTDIR)$(pkglibdir)/$$i; \
chmod 755 $(DESTDIR)$(pkglibdir)/$$i; \
for j in $(src_lib_dir)/$$i/*.*tcl ; do \
$(INSTALL_DATA) $$j $(DESTDIR)$(pkglibdir)/$$i/; \
done; \
done;
@for i in $(libsrc) ; do \
echo " Installing $$i" ; \
rm -rf $(DESTDIR)$(pkglibdir)/$$i ; \
$(INSTALL_DATA) $(src_lib_dir)/$$i $(DESTDIR)$(pkglibdir)/$$i ; \
done;
cat unix/pkgIndex.unix >> $(DESTDIR)$(pkglibdir)/pkgIndex.tcl
$(INSTALL_DATA) xotclConfig.sh $(DESTDIR)$(libdir)/
@echo "Installing Applications to $(DESTDIR)$(pkglibdir)/apps/"
@for i in $(appdirs) ; do \
echo " Installing $$i/" ; \
rm -rf $(DESTDIR)$(pkglibdir)/apps/$$i ; \
mkdir -p $(DESTDIR)$(pkglibdir)/apps/$$i; \
chmod 755 $(DESTDIR)$(pkglibdir)/apps/$$i; \
for j in $(src_app_dir)/$$i/* ; do \
if test -d $$j; then \
mkdir -p $(DESTDIR)$(pkglibdir)/$$j; \
chmod 755 $(DESTDIR)$(pkglibdir)/$$j; \
for k in $$j/* ; do \
$(INSTALL) $$k $(DESTDIR)$(pkglibdir)/$$j ; \
done; \
else \
$(INSTALL) $$j $(DESTDIR)$(pkglibdir)/apps/$$i/; \
fi; \
done; \
done;
@for i in $(appsrc) ; do \
echo " Installing $$i" ; \
rm -rf $(DESTDIR)$(pkglibdir)/apps/$$i ; \
$(INSTALL_DATA) $(src_app_dir)/$$i $(DESTDIR)$(pkglibdir)/apps ; \
done;
@rm -rf $(DESTDIR)$(pkglibdir)/store/XOTclGdbm
@rm -rf $(DESTDIR)$(pkglibdir)/store/XOTclSdbm
@rm -rf $(DESTDIR)$(pkglibdir)/xml/TclExpat-1.1
#========================================================================
# Install documentation. Unix manpages should go in the $(DESTDIR)$(mandir)
# directory.
#========================================================================
install-doc: doc $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man3 $(DESTDIR)$(mandir)/mann
@if test ! "x$(XOTCLSH)" = "x" ; then \
(cd $(src_man_dir)/ ; \
for i in *.1; do \
echo "Installing $$i"; \
rm -f $(DESTDIR)$(mandir)/man1/$$i; \
sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \
$$i > $(DESTDIR)$(mandir)/man1/$$i; \
chmod 444 $(DESTDIR)$(mandir)/man1/$$i; \
done) ; \
fi
shell: binaries libraries
@$(TCLSH) $(SCRIPT)
gdb:
$(TCLSH_ENV) gdb $(TCLSH_PROG) $(SCRIPT)
test: binaries libraries test-core test-http @test_actiweb@
test-nohttp: binaries libraries test-core
#TESTFLAGS = -srcdir $(srcdir)
test-core: $(TCLSH_PROG)
$(TCLSH) $(src_test_dir_native)/testx.xotcl \
-libdir $(PLATFORM_DIR) $(TESTFLAGS)
$(TCLSH) $(src_test_dir_native)/testo.xotcl \
-libdir $(PLATFORM_DIR) $(TESTFLAGS)
$(TCLSH) $(src_test_dir_native)/speedtest.xotcl \
-libdir $(PLATFORM_DIR) $(TESTFLAGS)
$(TCLSH) $(src_test_dir_native)/forwardtest.xotcl \
-libdir $(PLATFORM_DIR) $(TESTFLAGS)
$(TCLSH) $(src_test_dir_native)/slottest.xotcl \
-libdir $(PLATFORM_DIR) $(TESTFLAGS)
$(TCLSH) $(src_test_dir_native)/mixinoftest.xotcl \
-libdir $(PLATFORM_DIR) $(TESTFLAGS)
$(TCLSH) $(src_test_dir_native)/varresolutiontest.xotcl \
-libdir $(PLATFORM_DIR) $(TESTFLAGS)
test-http: $(TCLSH_PROG)
$(TCLSH) $(src_test_dir_native)/xocomm.test \
-libdir $(PLATFORM_DIR) $(TESTFLAGS)
test-actiweb: $(TCLSH_PROG)
$(TCLSH) $(src_test_dir_native)/actiweb.test \
-libdir $(PLATFORM_DIR) $(TESTFLAGS)
$(TCLSH) $(src_test_dir_native)/persistence.test \
-libdir $(PLATFORM_DIR) $(TESTFLAGS)
$(TCLSH) $(src_test_dir_native)/UNIVERSAL.test \
-libdir $(PLATFORM_DIR) $(TESTFLAGS)
$(TCLSH) $(src_test_dir_native)/xoRDF.test \
-libdir $(PLATFORM_DIR) $(TESTFLAGS)
@rm -rf receiver
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
.c.@OBJEXT@:
$(COMPILE) -c `@CYGPATH@ $<` -o $@
#========================================================================
# xotcl shells
#========================================================================
pkgIndex.tcl: $(PKG_LIB_FILE)
@echo package ifneeded XOTcl $(PACKAGE_VERSION) [list load [file join \$$dir . $(PKG_LIB_FILE)] XOTcl] > pkgIndex.tcl
install-pkgIndex:
# @echo package ifneeded XOTcl $(PACKAGE_VERSION) [list load [file join \$$dir .. "$(PKG_LIB_FILE)"] XOTcl] > "$(pkglibdir)/pkgIndex.tcl"
xotclsh: tclAppInit.o $(PKG_OBJECTS) $(CONDITIONAL_STUB_OBJECTS)
$(CC) -o $@ tclAppInit.o \
$(PKG_OBJECTS) \
$(CFLAGS) $(LDFLAGS_DEFAULT) $(TCL_LIB_SPEC) $(TCL_STUB_LIB_SPEC) \
$(DMALLOC_LIB) $(CONDITIONAL_STUB_OBJECTS)
xowish: tkAppInit.o $(PKG_OBJECTS) $(CONDITIONAL_STUB_OBJECTS)
$(CC) -o $@ tkAppInit.o \
$(PKG_OBJECTS) \
$(CFLAGS) $(LDFLAGS_DEFAULT) $(TCL_LIB_SPEC) $(TCL_STUB_LIB_SPEC) $(TK_LIB_SPEC) $(TK_STUB_LIB_SPEC) \
$(DMALLOC_LIB) $(CONDITIONAL_STUB_OBJECTS)
install-shells:
@if test -f xotclsh; then \
$(INSTALL_PROGRAM) xotclsh $(DESTDIR)$(bindir); \
fi
@if test -f xowish; then \
$(INSTALL_PROGRAM) xowish $(DESTDIR)$(bindir); \
fi
#========================================================================
# 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 $@
#========================================================================
$(src_generic_dir)/predefined.h: $(src_generic_dir)/mk_predefined.xotcl $(src_generic_dir)/predefined.xotcl
(cd $(src_generic_dir); $(TCLSH) mk_predefined.xotcl > predefined.h)
xotclStubInit.$(OBJEXT): $(PKG_HEADERS)
xotclStubLib.$(OBJEXT): $(src_generic_dir)/xotclStubLib.c $(PKG_HEADERS)
xotcl.$(OBJEXT): $(src_generic_dir)/xotcl.c $(src_generic_dir)/predefined.h $(PKG_HEADERS)
xotclError.$(OBJEXT): $(src_generic_dir)/xotclError.c $(PKG_HEADERS)
xotclMetaData.$(OBJEXT): $(src_generic_dir)/xotclMetaData.c $(PKG_HEADERS)
xotclObjectData.$(OBJEXT): $(src_generic_dir)/xotclObjectData.c $(PKG_HEADERS)
xotclProfile.$(OBJEXT): $(src_generic_dir)/xotclProfile.c $(PKG_HEADERS)
xotclTrace.$(OBJEXT): $(src_generic_dir)/xotclTrace.c $(PKG_HEADERS)
xotclUtil.$(OBJEXT): $(src_generic_dir)/xotclUtil.c $(PKG_HEADERS)
xotclShadow.$(OBJEXT): $(src_generic_dir)/xotclShadow.c $(PKG_HEADERS)
aolstub.$(OBJEXT): $(src_generic_dir)/aolstub.c $(PKG_HEADERS)
#
# Target to regenerate header files and stub files from the *.decls tables.
#
genstubs:
$(TCLSH) $(TCL_SRC_DIR)/tools/genStubs.tcl $(src_generic_dir) \
$(src_generic_dir)/xotcl.decls $(src_generic_dir)/xotclInt.decls
#
# Target to check that all exported functions have an entry in the stubs
# tables.
#
checkstubs:
-@for i in `nm -p $(PKG_LIB_FILE) | awk '$$2 ~ /T/ { print $$3 }' \
| sort -n`; do \
match=0; \
for j in $(TCL_DECLS); do \
if [ `grep -c $$i $$j` -gt 0 ]; then \
match=1; \
fi; \
done; \
if [ $$match -eq 0 ]; then echo $$i; fi \
done
#========================================================================
# End of user-definable section
#========================================================================
#========================================================================
# Don't modify the file to clean here. Instead, set the "CLEANFILES"
# variable in configure.in
#========================================================================
clean:
-rm -rf $(BINARIES) $(CLEANFILES) @XOTCLSH@ @XOWISH@ pkgIndex.tcl ./receiver \
$(target_doc_dir)/*-xotcl.html
find ${srcdir} -type f -name \*~ -exec rm \{} \;
@if test ! "x$(subdirs)" = "x" ; then dirs="$(subdirs)" ; \
for dir in $$dirs ; do \
if (cd $$dir; $(MAKE) $@) ; then true ; else exit 1 ; fi ; \
done; fi
distclean: clean
-rm -rf Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log config.status
@if test ! "x$(subdirs)" = "x" ; then dirs="$(subdirs)" ; \
for dir in $$dirs ; do \
if (cd $$dir; $(MAKE) $@) ; then true ; else exit 1 ; fi ; \
done; fi
#========================================================================
# 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:
@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; \
ln -sf $(DESTDIR)$(pkglibdir)/$$p $(DESTDIR)$(libdir)/$$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 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:
@mkdir -p $(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
SUFFIXES= .c .$(OBJEXT)
#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
$(DESTDIR)$(includedir):
$(mkinstalldirs) $@
$(DESTDIR)$(bindir):
$(mkinstalldirs) $@
$(DESTDIR)$(libdir):
$(mkinstalldirs) $@
$(DESTDIR)$(pkglibdir):
$(mkinstalldirs) $@
$(DESTDIR)$(pkglibdir)/apps: $(DESTDIR)$(pkglibdir)
$(mkinstalldirs) $@
$(DESTDIR)$(mandir)/man1:
$(mkinstalldirs) $@
$(DESTDIR)$(mandir)/man3:
$(mkinstalldirs) $@
$(DESTDIR)$(mandir)/mann:
$(mkinstalldirs) $@
end:
@echo ""
@echo "************************************************************"
@echo " Make completed. In order to test XOTcl, invoke:"
@echo " make test"
@echo ""
@echo " In order install XOTcl, invoke:"
@echo " make install"
@echo ""
@echo " In order to install XOTcl for AOLserver 4.x, invoke:"
@echo " make install-aol"
@echo ""
@echo " In order to invoke XOTcl interactively (before install), use:"
@echo " export TCLLIBPATH=\"$(TCLLIBPATH)\" or "
@echo " setenv TCLLIBPATH \"$(TCLLIBPATH)\""
@echo " and"
@if test "x$(XOTCLSH)" = "x" ; then \
echo " @TCLSH_PROG@" ; \
echo " package require XOTcl; namespace import -force xotcl::*" ; \
echo " or" ; \
echo " put the 'package require' line into your ~/.tclshrc" ; \
else \
echo " ./xotclsh" ; \
fi
@echo "************************************************************"
RPMSOURCES=/usr/src/redhat/SOURCES
RPMSPECS=/usr/src/redhat/SPECS
rpm:
@if test ! -d $(RPMSOURCES); then mkdir -p $(RPMSOURCES); fi
@if test ! -d $(RPMSPECS); then mkdir -p $(RPMSPECS); fi
cp unix/xotcl.spec $(RPMSPECS)/xotcl-$(PACKAGE_VERSION).spec
make tar
cp ../xotcl-$(PACKAGE_VERSION).tar.gz $(RPMSOURCES)
rpmbuild -ba $(RPMSPECS)/xotcl-$(PACKAGE_VERSION).spec
bin-tar:
(cd ..; tar zcvf xotcl-$(PACKAGE_VERSION)-bin-linux-i686-glibc.tar.gz \
`find $(exec_prefix)/bin/xotclsh $(exec_prefix)/bin/xowish \
$(prefix)/lib/xotcl$(PACKAGE_VERSION)* \
$(prefix)/lib/libxotcl$(PACKAGE_VERSION)* \
$(prefix)/include/xotcl*.h \
$(DESTDIR)$(pkglibdir) $(prefix)/man/man1/xo* \
-type f -o -type l | fgrep -v CVS | fgrep -v SCCS | fgrep -v .junk| fgrep -v .db | fgrep -v "~" | fgrep -v "#" | fgrep -v /receiver/` \
)
tar: libraries-pkgindex
sh ./tclconfig/mktar.sh
.PHONY: all binaries clean depend distclean doc install libraries \
test test-core test-actiweb
# 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: