# 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. # # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # # RCS: @(#) $Id: Makefile,v 1.12 2004/07/20 12:57:59 neumann Exp $ #======================================================================== # Add additional lines to handle any additional AC_SUBST cases that # have been added in a customized configure script. #======================================================================== #XOTCL_VERSION = 1.2.1 XOTCL_VERSION = 1.2 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 PLATFORM_DIR = $(srcdir)/unix TCL_LIB_SPEC = -L/home/neumann/tcl8.4.5/unix -ltcl8.4 TK_LIB_SPEC = -L/usr/lib -ltk8.3 subdirs = library/store/XOTclSdbm/ library/store/XOTclGdbm/ library/xml/TclExpat-1.1/ libdirs = comm lib serialize actiweb rdf registry store xml patterns libsrc = COPYRIGHT pkgIndex.tcl appdirs = comm scripts utils actiweb persistence 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=. 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 = xotcl.c xotclError.c xotclMetaData.c xotclObjectData.c xotclProfile.c xotclTrace.c xotclUtil.c xotclShadow.c xotclCompile.c aolstub.c xotclStubInit.c PKG_OBJECTS = xotcl.o xotclError.o xotclMetaData.o xotclObjectData.o xotclProfile.o xotclTrace.o xotclUtil.o xotclShadow.o xotclCompile.o aolstub.o xotclStubInit.o PKG_STUB_SOURCES = xotclStubLib.c PKG_STUB_OBJECTS = xotclStubLib.o #======================================================================== # PKG_TCL_SOURCES identifies Tcl runtime files that are associated with # this package that need to be installed, if any. #======================================================================== PKG_TCL_SOURCES = #======================================================================== # This is a list of public header files to be installed, if any. #======================================================================== PKG_HEADERS = generic/xotcl.h generic/xotclInt.h #======================================================================== # "PKG_LIB_FILE" refers to the library (dynamic or static as per # configuration options) composed of the named objects. #======================================================================== PKG_LIB_FILE = libxotcl1.2.1.so PKG_STUB_LIB_FILE = libxotclstub1.2.1.a lib_BINARIES = $(PKG_LIB_FILE) $(PKG_STUB_LIB_FILE) BINARIES = $(lib_BINARIES) SHELL = /bin/sh srcdir = . prefix = /usr exec_prefix = /usr bindir = ${exec_prefix}/bin libdir = /usr/lib datadir = /usr/share mandir = ${prefix}/man includedir = /usr/include DESTDIR = top_builddir = . INSTALL = /usr/bin/install -c INSTALL_PROGRAM = ${INSTALL} INSTALL_DATA = ${INSTALL} -m 644 INSTALL_SCRIPT = ${INSTALL} PACKAGE_NAME = xotcl PACKAGE_VERSION = 1.2.1 CC = gcc -pipe CFLAGS_DEFAULT = -O -g CFLAGS_WARNING = -Wall -Wconversion -Wno-implicit-int CLEANFILES = *.o *.a *.so *~ core gmon.out config.* EXEEXT = LDFLAGS_DEFAULT = -rdynamic MAKE_LIB = ${SHLIB_LD} -o $@ $(PKG_OBJECTS) ${SHLIB_LD_FLAGS} ${SHLIB_LD_LIBS} MAKE_SHARED_LIB = ${SHLIB_LD} -o $@ $(PKG_OBJECTS) ${SHLIB_LD_FLAGS} ${SHLIB_LD_LIBS} MAKE_STATIC_LIB = ${STLIB_LD} $@ $(PKG_OBJECTS) MAKE_STUB_LIB = ${STLIB_LD} $@ $(PKG_STUB_OBJECTS) OBJEXT = o RANLIB = : RANLIB_STUB = ranlib SHLIB_CFLAGS = -fPIC SHLIB_LD = gcc -pipe -shared SHLIB_LD_FLAGS = SHLIB_LD_LIBS = ${LIBS} -L/home/neumann/tcl8.4.5/unix -ltclstub8.4 -L/usr/lib -ltkstub8.3 STLIB_LD = ${AR} cr TCL_DEFS = -DHAVE_UNISTD_H=1 -DHAVE_LIMITS_H=1 -DTCL_THREADS=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DHAVE_PTHREAD_ATTR_SETSTACKSIZE=1 -DHAVE_READDIR_R=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_STRUCT_STAT64=1 -DHAVE_TYPE_OFF64_T=1 -DHAVE_GETCWD=1 -DHAVE_OPENDIR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_STRTOLL=1 -DHAVE_STRTOULL=1 -DHAVE_TMPNAM=1 -DHAVE_WAITPID=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_TERMIOS=1 -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_TM_ZONE=1 -DHAVE_GMTIME_R=1 -DHAVE_LOCALTIME_R=1 -DHAVE_TM_GMTOFF=1 -DHAVE_TIMEZONE_VAR=1 -DHAVE_ST_BLKSIZE=1 -DSTDC_HEADERS=1 -DHAVE_SIGNED_CHAR=1 -DHAVE_LANGINFO=1 -DPEEK_XCLOSEIM=1 -DHAVE_SYS_IOCTL_H=1 TCL_BIN_DIR = /home/neumann/tcl8.4.5/unix TCL_SRC_DIR = /home/neumann/tcl8.4.5 # This is necessary for packages that use private Tcl headers #TCL_TOP_DIR_NATIVE = $(TCL_SRC_DIR) # Not used, but retained for reference of what libs Tcl required TCL_LIBS = ${DL_LIBS} ${LIBS} ${MATH_LIBS} pkgdatadir = /usr/share/xotcl1.2.1 pkglibdir = /usr/lib/xotcl1.2.1 pkgincludedir = /usr/include/xotcl1.2.1 #======================================================================== # 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=`echo $(TCL_SRC_DIR)/library` \ LD_LIBRARY_PATH="$(EXTRA_PATH):$(LD_LIBRARY_PATH)" \ PATH="$(EXTRA_PATH):$(PATH)" \ TCLLIBPATH="$(top_builddir)" TCLSH_PROG = /home/neumann/tcl8.4.5/unix/tclsh TCLSH = $(TCLSH_ENV) $(TCLSH_PROG) SHARED_BUILD = 1 INCLUDES = -I$(TCL_SRC_DIR)/generic -I$(TCL_SRC_DIR)/unix -I/home/neumann/xotcl-1.2.1/generic EXTRA_CFLAGS = -DXOTCLVERSION=\"1.2\" -DXOTCLPATCHLEVEL=\".1\" -DHAVE_TCL_COMPILE_H=1 # 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) -DPACKAGE_NAME=\"xotcl\" -DPACKAGE_TARNAME=\"xotcl\" -DPACKAGE_VERSION=\"1.2.1\" -DPACKAGE_STRING=\"xotcl\ 1.2.1\" -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_STRUCT_STAT64=1 -DHAVE_TYPE_OFF64_T=1 -DHAVE_LIMITS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DHAVE_PTHREAD_ATTR_SETSTACKSIZE=1 -DHAVE_READDIR_R=1 -DTCL_THREADS=1 -DUSE_TCL_STUBS=1 -DCOMPILE_XOTCL_STUBS=1 $(EXTRA_CFLAGS) DEFS = -DPACKAGE_NAME=\"xotcl\" -DPACKAGE_TARNAME=\"xotcl\" -DPACKAGE_VERSION=\"1.2.1\" -DPACKAGE_STRING=\"xotcl\ 1.2.1\" -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_STRUCT_STAT64=1 -DHAVE_TYPE_OFF64_T=1 -DHAVE_LIMITS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DHAVE_PTHREAD_ATTR_SETSTACKSIZE=1 -DHAVE_READDIR_R=1 -DTCL_THREADS=1 -DUSE_TCL_STUBS=1 -DCOMPILE_XOTCL_STUBS=1 $(EXTRA_CFLAGS) CONFIG_CLEAN_FILES = Makefile xotclConfig.sh apps/utils/xotclsh apps/utils/xowish unix/xotcl.spec unix/pkgIndex.unix autom4te.cache CPPFLAGS = LIBS = AR = ar CFLAGS = ${CFLAGS_DEFAULT} ${CFLAGS_WARNING} ${SHLIB_CFLAGS} COMPILE = $(CC) $(DEFS) $(INCLUDES) $(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 #======================================================================== # 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_PROG) $(src_lib_dir)/lib/make.xotcl -dir $(src_lib_dir) -all fulldoc: doc pdf # use language reference as sample file to trigger generation of documentation files doc: $(src_doc_dir)/langRef-xotcl.html $(src_doc_dir)/langRef-xotcl.html: $(src_doc_dir)/langRef.xotcl $(DOC_SOURCE) @$(TCLSH_PROG) $(src_lib_dir)/lib/makeDoc.xotcl $(src_doc_dir) $(DOC_SOURCE) 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)/usr/local/aolserver/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 $(srcdir)/$$i" ; \ $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(includedir) ; \ done; @for i in $(libdirs) ; do \ echo "Installing $$i" ; \ rm -rf $(DESTDIR)$(pkglibdir)/$$i ; \ (cd $(src_lib_dir); $(INSTALL) -d $$i $(DESTDIR)$(pkglibdir)/$$i ; \ $(INSTALL) $$i/*tcl $(DESTDIR)$(pkglibdir)/$$i/) ; \ done; for i in $(libsrc) ; do \ echo "Installing $$i" ; \ rm -rf $(DESTDIR)$(pkglibdir)/$$i ; \ (cd $(src_lib_dir); $(INSTALL) $$i $(DESTDIR)$(pkglibdir)/$$i) ; \ done; cat ${srcdir}/unix/pkgIndex.unix >> $(DESTDIR)$(pkglibdir)/pkgIndex.tcl $(INSTALL) xotclConfig.sh $(DESTDIR)$(libdir)/ @for i in $(appdirs) ; do \ echo "Installing $$i" ; \ rm -rf $(DESTDIR)$(pkglibdir)/apps/$$i ; \ (cd $(src_app_dir); $(INSTALL) -d $$i $(DESTDIR)$(pkglibdir)/apps/$$i) ; \ done; @for i in $(appsrc) ; do \ echo "Installing $$i" ; \ rm -rf $(DESTDIR)$(pkglibdir)/apps/$$i ; \ $(INSTALL) $(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 test: binaries libraries test-core test-actiweb #TESTFLAGS = -srcdir $(srcdir) test-core: $(TCLSH_PROG) $(TCLSH_PROG) `echo $(src_test_dir)/testx.xotcl` \ -libdir `echo $(PLATFORM_DIR)` $(TESTFLAGS) $(TCLSH_PROG) `echo $(src_test_dir)/testo.xotcl` \ -libdir `echo $(PLATFORM_DIR)` $(TESTFLAGS) $(TCLSH_PROG) `echo $(src_test_dir)/speedtest.xotcl` \ -libdir `echo $(PLATFORM_DIR)` $(TESTFLAGS) $(TCLSH_PROG) `echo $(src_test_dir)/forwardtest.xotcl` \ -libdir `echo $(PLATFORM_DIR)` $(TESTFLAGS) $(TCLSH_PROG) `echo $(src_test_dir)/xocomm.test` \ -libdir `echo $(PLATFORM_DIR)` $(TESTFLAGS) test-actiweb: $(TCLSH_PROG) $(TCLSH_PROG) `echo $(src_test_dir)/actiweb.test` \ -libdir `echo $(PLATFORM_DIR)` $(TESTFLAGS) $(TCLSH_PROG) `echo $(src_test_dir)/persistence.test` \ -libdir `echo $(PLATFORM_DIR)` $(TESTFLAGS) $(TCLSH_PROG) `echo $(src_test_dir)/UNIVERSAL.test` \ -libdir `echo $(PLATFORM_DIR)` $(TESTFLAGS) $(TCLSH_PROG) `echo $(src_test_dir)/xoRDF.test` \ -libdir `echo $(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 `echo $(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)/generic:$(srcdir)/unix:$(srcdir)/win .c.o: $(COMPILE) -c `echo $<` -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) -rdynamic -o $@ tclAppInit.o \ $(PKG_OBJECTS) \ $(CFLAGS) $(TCL_LIB_SPEC) \ $(DMALLOC_LIB) $(CONDITIONAL_STUB_OBJECTS) xowish: tkAppInit.o $(PKG_OBJECTS) $(CONDITIONAL_STUB_OBJECTS) $(CC) -rdynamic -o $@ tkAppInit.o \ $(PKG_OBJECTS) \ $(CFLAGS) $(TCL_LIB_SPEC) $(TK_LIB_SPEC) \ $(DMALLOC_LIB) $(CONDITIONAL_STUB_OBJECTS) install-shells: @if test -e xotclsh; then \ $(INSTALL_PROGRAM) xotclsh $(DESTDIR)$(bindir); \ fi @if test -e 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 `echo $(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_PROG) 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_PROG) $(TCL_TOOL_DIR_NATIVE)/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 $(src_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) @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; \ 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 " /home/neumann/tcl8.4.5/unix/tclsh" ; \ 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: tar @if test ! -d $(RPMSOURCES); then mkdir -p $(RPMSOURCES); fi @if test ! -d $(RPMSPECS); then mkdir -p $(RPMSPECS); fi cp ../../xotcl-$(PACKAGE_VERSION).tar.gz $(RPMSOURCES) cp xotcl.spec $(RPMSPECS)/xotcl-$(PACKAGE_VERSION).spec 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)/include/xotcl*.h \ $(prefix)/lib/$(PKG_LIB_FILE) \ $(prefix)/lib/$(PKG_STUB_LIB_FILE) \ $(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: clean (cd ..; tar zcvf ./xotcl-$(PACKAGE_VERSION).tar.gz \ `find ./xotcl-$(PACKAGE_VERSION) -type f -o -type l| fgrep -v CVS | fgrep -v SCCS | fgrep -v Attic | fgrep -v "autom4te"| fgrep -v config\.status | fgrep -v "~"|fgrep -v .db | fgrep -v .junk | fgrep -v "#" | grep -v "/o$$"`) .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: