# Copyright (c) 1993 - 2005 CENA, Patrick Lecoanet -- # # See the file "Copyright" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # # $Revision$ # # # This Makefile.in is derived from the Sample TEA template which is: # # Copyright (c) 1999 Scriptics Corporation. # Copyright (c) 2002 ActiveState SRL. # #======================================================================== # Enumerate the names of the source files included in this package. # EXTRA_SOURCES will be replaced by WIN_SOURCES or UNIX_SOURCES, as is # appropriate for your platform. It is not important to specify the # directory, as long as it is the $(srcdir) or in the generic, win or # unix subdirectory. #======================================================================== Atc_SOURCES = @Atc_SOURCES@ Tkzinc_SOURCES = Tabular.c Rectangle.c Arc.c Curve.c Item.c \ PostScript.c Attrs.c Draw.c Geo.c List.c \ perfos.c Transfo.c Group.c Icon.c Text.c \ Image.c Color.c Field.c Triangles.c Window.c \ tkZinc.c @EXTRA_SOURCES@ $(Atc_SOURCES) WIN_SOURCES = WinPort.c UNIX_SOURCES = #======================================================================== # Identify the object files. This replaces .c with .$(OBJEXT) for all # the named source files. These objects are created and linked into the # final library. # Normally we would use $(OBJEXT), but certain make executables won't do # the extra macro in a macro conversion properly. # # "Tkzinc_LIB_FILE" refers to the library (dynamic or static as per # configuration options) composed of the named objects. #======================================================================== Tkzinc_OBJECTS = $(Tkzinc_SOURCES:.c=.@OBJEXT@) Tkzinc_LIB_FILE = @Tkzinc_LIB_FILE@ #======================================================================== # RUNTIME_SOURCES identifies Tcl runtime files that are associated with # this package that need to be installed, if any. #======================================================================== RUNTIME_SOURCES = zincLogo.tcl zincText.tcl zincGraphics.tcl #======================================================================== # This is a list of header files to be installed #======================================================================== GENERIC_HDRS = #======================================================================== # Nothing of the variables below this line need to be changed. #======================================================================== lib_BINARIES = $($(PACKAGE)_LIB_FILE) aux_BINARIES = @aux_BINARIES@ bin_BINARIES = @bin_BINARIES@ BINARIES = $(lib_BINARIES) SHELL = @SHELL@ srcdir = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ libdir = @libdir@ datadir = @datadir@ mandir = @mandir@ includedir = @includedir@ DESTDIR = PKG_DIR = $(PACKAGE)$(VERSION) pkgdatadir = $(datadir)/$(PKG_DIR) pkglibdir = $(libdir)/$(PKG_DIR) pkgincludedir = $(includedir)/$(PKG_DIR) top_builddir = . generic_dir = $(srcdir)/generic unix_dir = $(srcdir)/unix windows_dir = $(srcdir)/win INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ PACKAGE = @PACKAGE@ VERSION = @VERSION@ CC = @CC@ CFLAGS_DEBUG = @CFLAGS_DEBUG@ CFLAGS_DEFAULT = @CFLAGS_DEFAULT@ CFLAGS_OPTIMIZE = @CFLAGS_OPTIMIZE@ CFLAGS_WARNING = @CFLAGS_WARNING@ 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_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@ # # This is necessary for packages that use private Tcl headers TCL_TOP_DIR_NATIVE = @TCL_TOP_DIR_NATIVE@ TK_TOP_DIR_NATIVE = @TK_TOP_DIR_NATIVE@ # 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) TCLSH_ENV = TCL_LIBRARY=`@CYGPATH@ $(TCL_SRC_DIR)/library` \ LD_LIBRARY_PATH="$(EXTRA_PATH):$(LD_LIBRARY_PATH)" \ LIBPATH="$(EXTRA_PATH):${LIBPATH}" \ SHLIB_PATH="$(EXTRA_PATH):${SHLIB_PATH}" \ PATH="$(EXTRA_PATH):$(PATH)" \ TCLLIBPATH="$(top_builddir)" TCLSH_PROG = @TCLSH_PROG@ WISH_PROG = @WISH_PROG@ TCLSH = $(TCLSH_ENV) $(TCLSH_PROG) WISH = $(TCLSH_ENV) $(WISH_PROG) SHARED_BUILD = @SHARED_BUILD@ # The local includes must come first, because the TK_XINCLUDES can be # just a comment INCLUDES = -I$(srcdir)/generic @TCL_INCLUDES@ @TK_INCLUDES@ @TK_XINCLUDES@ @GL_INCLUDES@ EXTRA_CFLAGS = $(MEM_DEBUG_FLAGS) @EXTRA_CFLAGS@ DEFS = $(TCL_DEFS) @DEFS@ $(EXTRA_CFLAGS) CONFIG_CLEAN_FILES = Makefile CPPFLAGS = @CPPFLAGS@ LIBS = @LIBS@ AR = ar CFLAGS = @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) pkgIndex.tcl libraries: #======================================================================== # The doc target is for building man pages. Currently the zinc doc is # only available in html and pdf formats. These formats require tools # (LaTeX, pdfTeX, LaTeX2html) that are not readily available on all # platforms. To ease automatic construction of the package the target # doc does not involve the construction of pdf and html. #======================================================================== doc: pdf: doc/refman.tex (cd doc; \ rm -f refman.aux refman.ilg refman.ind refman.out refman.tpt; \ rm -f refman.idx refman.lof refman.log refman.lot refman.toc; \ pdflatex refman.tex; \ pdflatex refman.tex; \ makeindex refman.idx; \ pdflatex refman.tex; \ thumbpdf refman.pdf; \ pdflatex refman.tex;) html: doc/refman.tex (cd doc; \ rm -f refman.ilg refman.ind refman.out; \ rm -f refman.idx refman.lof refman.log refman.lot refman.toc; \ mkdir -p refman; cp -f *.png refman; \ latex2html -split 4 -show_section_numbers -local_icons refman.tex) install: all install-binaries install-libraries install-demos install-doc install-binaries: binaries install-lib-binaries install-bin-binaries #======================================================================== # This rule installs platform-independent files, such as header files. #======================================================================== install-libraries: libraries @if test "x$(GENERIC_HDRS)" != "x"; then \ mkdir -p $(DESTDIR)$(includedir); \ echo "Installing header files in $(DESTDIR)$(includedir)"; \ for i in "$(GENERIC_HDRS)" ; do \ echo "Installing $$i" ; \ $(INSTALL_DATA) $$i $(DESTDIR)$(includedir) ; \ done; \ fi #======================================================================== # This rule installs the demos files and associated images. #======================================================================== install-demos: @mkdir -p $(DESTDIR)$(pkglibdir)/demos @echo "Installing demo files in $(DESTDIR)$(pkglibdir)/demos" @for p in $(srcdir)/demos/*; do \ if test -f $$p; then \ p=`basename $$p`; \ echo " Install $$p $(DESTDIR)$(pkglibdir)/demos/$$p"; \ $(INSTALL_DATA) $(srcdir)/demos/$$p $(DESTDIR)$(pkglibdir)/demos/$$p; \ fi; \ done @mkdir -p $(DESTDIR)$(pkglibdir)/demos/images @mkdir -p $(DESTDIR)$(pkglibdir)/demos/data @for p in $(srcdir)/demos/images/*; do \ if test -f $$p; then \ p=`basename $$p`; \ echo " Install $$p $(DESTDIR)$(pkglibdir)/demos/images/$$p"; \ $(INSTALL_DATA) $(srcdir)/demos/images/$$p $(DESTDIR)$(pkglibdir)/demos/images/$$p; \ fi; \ done @for p in $(srcdir)/demos/data/*; do \ if test -f $$p; then \ p=`basename $$p`; \ echo " Install $$p $(DESTDIR)$(pkglibdir)/demos/data/$$p"; \ $(INSTALL_DATA) $(srcdir)/demos/data/$$p $(DESTDIR)$(pkglibdir)/demos/data/$$p; \ fi; \ done #======================================================================== # Install documentation. Unix manpages should go in the $(mandir) # directory. #======================================================================== install-doc: doc @mkdir -p $(DESTDIR)$(mandir)/mann @echo "Installing documentation in $(DESTDIR)$(mandir)" @for i in $(srcdir)/doc/*.n; do \ if test -f $$i; then \ i=`basename $$i`; \ echo "Installing $$i"; \ rm -f $(DESTDIR)$(mandir)/mann/$$i; \ $(INSTALL_DATA) $(srcdir)/doc/$$i $(DESTDIR)$(mandir)/mann/$$i ; \ fi \ done test: binaries libraries $(TCLSH) `@CYGPATH@ $(srcdir)/tests/all.tcl` $(TESTFLAGS) ; \ shell: binaries libraries @$(TCLSH) $(SCRIPT) gdb: $(TCLSH_ENV) gdb $(TCLSH_PROG) $(SCRIPT) depend: #======================================================================== # $($(PACKAGE)_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 $($(PACKAGE)_OBJECTS) objects are created and linked into the final # library. In most cases these object files will correspond to the # source files above. #======================================================================== $($(PACKAGE)_LIB_FILE): $($(PACKAGE)_OBJECTS) -rm -f $($(PACKAGE)_LIB_FILE) ${MAKE_LIB} #$(RANLIB) $($(PACKAGE)_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 .SUFFIXES: .c .$(OBJEXT) .c.$(OBJEXT): $(COMPILE) -c `@CYGPATH@ $<` -o $@ #======================================================================== # Create the pkgIndex.tcl file. # It is usually easiest to let Tcl do this for you with pkg_mkIndex, but # you may find that you need to customize the package. If so, either # modify the -hand version, or create a pkgIndex.tcl.in file and have # the configure script output the pkgIndex.tcl by editing configure.in. #======================================================================== pkgIndex.tcl: ( echo package require Tk \; pkg_mkIndex -verbose -load Tk . $($(PACKAGE)_LIB_FILE) \; exit ) | $(TCLSH) pkgIndex.tcl-hand: (echo 'package ifneeded $(PACKAGE) $(VERSION) \ [list load [file join $$dir $($(PACKAGE)_LIB_FILE)]]'\ ) > pkgIndex.tcl #======================================================================== # Distribution creation # You may need to tweak this target to make it work correctly. #======================================================================== COMPRESS = tar zcvf $(PKG_DIR).tar.gz $(PKG_DIR) DIST_ROOT = /tmp/dist DIST_DIR = $(DIST_ROOT)/$(PKG_DIR) dist-clean: rm -rf $(DIST_DIR) $(DIST_ROOT)/$(PKG_DIR).tar.* dist: dist-clean mkdir -p $(DIST_DIR) cp -p $(srcdir)/BUGS $(srcdir)/README* $(srcdir)/Copyright* \ $(srcdir)/aclocal.m4 $(srcdir)/configure $(srcdir)/*.in \ $(DIST_DIR)/ chmod 664 $(DIST_DIR)/Makefile.in $(DIST_DIR)/aclocal.m4 chmod 775 $(DIST_DIR)/configure $(DIST_DIR)/configure.in -cp -p $(srcdir)/*.[ch] $(DIST_DIR)/ mkdir $(DIST_DIR)/tclconfig cp $(srcdir)/tclconfig/install-sh $(srcdir)/tclconfig/tcl.m4 \ $(DIST_DIR)/tclconfig/ chmod 664 $(DIST_DIR)/tclconfig/tcl.m4 chmod +x $(DIST_DIR)/tclconfig/install-sh -list='demos doc generic debian redhat library mac tests unix win Perl Python'; \ for p in $$list; do \ if test -d $(srcdir)/$$p ; then \ tar cf - --exclude=CVS --exclude=.cvsignore $$p | \ (cd $(DIST_DIR); tar xf -) \ 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.in #======================================================================== clean: -test -z "$(BINARIES)" || rm -f $(BINARIES) -rm -f *.$(OBJEXT) core *.core -test -z "$(CLEANFILES)" || rm -Rf $(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: @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; \ echo " $(RANLIB) $(DESTDIR)$(pkglibdir)/$$p"; \ $(RANLIB) $(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='$(aux_BINARIES)'; for p in $$list; do \ if test -f $$p; then \ echo " Install $$p $(DESTDIR)$(libdir)/$$p"; \ $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libdir)/$$p; \ fi; \ done @list='$(RUNTIME_SOURCES)'; for p in $$list; do \ if test -f $(srcdir)/library/$$p; then \ echo " Install $$p $(DESTDIR)$(pkglibdir)/$$p"; \ $(INSTALL_DATA) $(srcdir)/library/$$p $(DESTDIR)$(pkglibdir)/$$p; \ fi; \ done # # Construct a full pkgIndex in the installation directory (cd $(DESTDIR)$(pkglibdir); \ (echo package require Tk \; pkg_mkIndex -load Tk . \ $(RUNTIME_SOURCES) $($(PACKAGE)_LIB_FILE) \; exit;) | $(TCLSH)) #======================================================================== # 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='$(RUNTIME_SOURCES)'; for p in $$list; do \ 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 # 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: