Mercurial > octave-nkf
diff src/Makefile.am @ 9794:0d4613a736e9
convert build system to use automake and libtool
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 10 Nov 2009 15:02:25 -0500 |
parents | |
children | 2d6a5af744b6 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/Makefile.am Tue Nov 10 15:02:25 2009 -0500 @@ -0,0 +1,798 @@ +# Makefile for octave's src directory +# +# Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 John W. Eaton +# +# This file is part of Octave. +# +# Octave is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at +# your option) any later version. +# +# Octave is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# You should have received a copy of the GNU General Public License +# along with Octave; see the file COPYING. If not, see +# <http://www.gnu.org/licenses/>. + +TOPDIR = .. + +include ../common.mk + +octlib_LTLIBRARIES = \ + liboctinterp.la + +AM_CPPFLAGS = \ + @CPPFLAGS@ -I$(top_srcdir)/libcruft/misc -I../liboctave -I$(top_srcdir)/liboctave -I. -I$(srcdir) + +AUTOMAKE_OPTIONS = subdir-objects + +BUILT_DISTFILES = \ + DOCSTRINGS \ + oct-gperf.h \ + oct-parse.cc \ + oct-parse.h \ + lex.cc \ + $(OPT_HANDLERS) \ + $(OPT_INC) + +EXTRA_DIST = \ + ChangeLog \ + Makefile.in \ + defaults.h.in \ + find-defun-files.sh \ + genprops.awk \ + graphics.h.in \ + mk-errno-list \ + mk-pkg-add \ + mkbuiltins \ + mkdefs \ + mkgendoc \ + mkops \ + mxarray.h.in \ + oct-conf.h.in \ + oct-errno.cc.in \ + octave.gperf \ + $(BUILT_DISTFILES) + +DLL_CDEFS = @OCTINTERP_DLL_DEFS@ +DLL_CXXDEFS = @OCTINTERP_DLL_DEFS@ + +.cc.df: + @echo making $@ from $< + @(echo "// DO NOT EDIT! Generated automatically by mkdefs." ; \ + echo " XDEFUN_FILE_NAME (\"$<\")" ; \ + egrep '^(///*|/\*) *PKG_ADD:' $< ; \ + $(CXXCPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) \ + -DMAKE_BUILTINS $< | $(srcdir)/mkdefs) > $@-t + @mv $@-t $@ + +OPT_HANDLERS = \ + DASPK-opts.cc \ + DASRT-opts.cc \ + DASSL-opts.cc \ + LSODE-opts.cc \ + Quad-opts.cc + +OPT_IN = \ + ../liboctave/DASPK-opts.in \ + ../liboctave/DASRT-opts.in \ + ../liboctave/DASSL-opts.in \ + ../liboctave/LSODE-opts.in \ + ../liboctave/Quad-opts.in + +OPT_INC = \ + ../liboctave/DASPK-opts.h \ + ../liboctave/DASRT-opts.h \ + ../liboctave/DASSL-opts.h \ + ../liboctave/LSODE-opts.h \ + ../liboctave/Quad-opts.h + +OV_INTTYPE_INC = \ + ov-base-int.h \ + ov-base-int.cc \ + ov-int-traits.h \ + ov-int16.h \ + ov-int32.h \ + ov-int64.h \ + ov-int8.h \ + ov-intx.h \ + ov-uint16.h \ + ov-uint32.h \ + ov-uint64.h \ + ov-uint8.h + +OV_INCLUDES = \ + ov-base-diag.h \ + ov-base-diag.cc \ + ov-base-mat.h \ + ov-base-mat.cc \ + ov-base-scalar.h \ + ov-base-scalar.cc \ + ov-base.h \ + ov-bool-mat.h \ + ov-bool-mat.cc \ + ov-bool.h \ + ov-builtin.h \ + ov-cell.h \ + ov-ch-mat.h \ + ov-class.h \ + ov-colon.h \ + ov-complex.h \ + ov-cs-list.h \ + ov-cx-diag.h \ + ov-cx-mat.h \ + ov-dld-fcn.h \ + ov-fcn-handle.h \ + ov-fcn-inline.h \ + ov-fcn.h \ + ov-float.h \ + ov-flt-complex.h \ + ov-flt-cx-diag.h \ + ov-flt-cx-mat.h \ + ov-flt-re-diag.h \ + ov-flt-re-mat.h \ + ov-list.h \ + ov-mex-fcn.h \ + ov-null-mat.h \ + ov-perm.h \ + ov-range.h \ + ov-re-diag.h \ + ov-re-mat.h \ + ov-scalar.h \ + ov-str-mat.h \ + ov-struct.h \ + ov-type-conv.h \ + ov-typeinfo.h \ + ov-usr-fcn.h \ + ov.h \ + $(OV_INTTYPE_INC) + +OV_SPARSE_INCLUDES = \ + ov-base-sparse.h \ + ov-bool-sparse.h \ + ov-cx-sparse.h \ + ov-re-sparse.h + +PT_INCLUDES = \ + pt-all.h \ + pt-arg-list.h \ + pt-assign.h \ + pt-binop.h \ + pt-bp.h \ + pt-cbinop.h \ + pt-cell.h \ + pt-check.h \ + pt-cmd.h \ + pt-colon.h \ + pt-const.h \ + pt-decl.h \ + pt-eval.h \ + pt-except.h \ + pt-exp.h \ + pt-fcn-handle.h \ + pt-id.h \ + pt-idx.h \ + pt-jump.h \ + pt-loop.h \ + pt-mat.h \ + pt-misc.h \ + pt-pr-code.h \ + pt-select.h \ + pt-stmt.h \ + pt-unop.h \ + pt-walk.h \ + pt.h + +octinclude_HEADERS = \ + Cell.h \ + base-list.h \ + builtins.h \ + c-file-ptr-stream.h \ + comment-list.h \ + debug.h \ + defaults.h \ + defun-dld.h \ + defun-int.h \ + defun.h \ + dirfns.h \ + display.h \ + dynamic-ld.h \ + error.h \ + file-io.h \ + gl-render.h \ + graphics.h \ + graphics-props.cc \ + gripes.h \ + help.h \ + input.h \ + lex.h \ + load-path.h \ + load-save.h \ + ls-ascii-helper.h \ + ls-hdf5.h \ + ls-mat-ascii.h \ + ls-mat4.h \ + ls-mat5.h \ + ls-oct-ascii.h \ + ls-oct-binary.h \ + ls-utils.h \ + mex.h \ + mexproto.h \ + mxarray.h \ + oct-conf.h \ + oct-errno.h \ + oct-fstrm.h \ + oct-gperf.h \ + oct-hdf5.h \ + oct-hist.h \ + oct-iostrm.h \ + oct-lvalue.h \ + oct-map.h \ + oct-obj.h \ + oct-prcstrm.h \ + oct-procbuf.h \ + oct-stdstrm.h \ + oct-stream.h \ + oct-strstrm.h \ + oct.h \ + octave.h \ + ops.h \ + pager.h \ + parse.h \ + pr-output.h \ + procstream.h \ + sighandlers.h \ + siglist.h \ + sparse-xdiv.h \ + sparse-xpow.h \ + symtab.h \ + sysdep.h \ + token.h \ + toplev.h \ + txt-eng-ft.h \ + txt-eng.h \ + unwind-prot.h \ + utils.h \ + variables.h \ + version.h \ + xdiv.h \ + xnorm.h \ + xpow.h \ + zfstream.h \ + $(OV_INCLUDES) \ + $(OV_SPARSE_INCLUDES) \ + $(PT_INCLUDES) + +OV_INTTYPE_SRC = \ + ov-int16.cc \ + ov-int32.cc \ + ov-int64.cc \ + ov-int8.cc \ + ov-uint16.cc \ + ov-uint32.cc \ + ov-uint64.cc \ + ov-uint8.cc + +OV_SPARSE_SRC = \ + ov-base-sparse.cc \ + ov-bool-sparse.cc \ + ov-cx-sparse.cc \ + ov-re-sparse.cc + +OV_SRC = \ + ov-base.cc \ + ov-bool-mat.cc \ + ov-bool.cc \ + ov-builtin.cc \ + ov-cell.cc \ + ov-ch-mat.cc \ + ov-class.cc \ + ov-colon.cc \ + ov-complex.cc \ + ov-cs-list.cc \ + ov-cx-diag.cc \ + ov-cx-mat.cc \ + ov-dld-fcn.cc \ + ov-fcn-handle.cc \ + ov-fcn-inline.cc \ + ov-fcn.cc \ + ov-float.cc \ + ov-flt-complex.cc \ + ov-flt-cx-diag.cc \ + ov-flt-cx-mat.cc \ + ov-flt-re-diag.cc \ + ov-flt-re-mat.cc \ + ov-list.cc \ + ov-mex-fcn.cc \ + ov-null-mat.cc \ + ov-perm.cc \ + ov-range.cc \ + ov-re-diag.cc \ + ov-re-mat.cc \ + ov-scalar.cc \ + ov-str-mat.cc \ + ov-struct.cc \ + ov-typeinfo.cc \ + ov-usr-fcn.cc \ + ov.cc \ + $(OV_INTTYPE_SRC) \ + $(OV_SPARSE_SRC) + +PT_SRC = \ + pt-arg-list.cc \ + pt-assign.cc \ + pt-binop.cc \ + pt-bp.cc \ + pt-cbinop.cc \ + pt-cell.cc \ + pt-check.cc \ + pt-cmd.cc \ + pt-colon.cc \ + pt-const.cc \ + pt-decl.cc \ + pt-eval.cc \ + pt-except.cc \ + pt-exp.cc \ + pt-fcn-handle.cc \ + pt-id.cc \ + pt-idx.cc \ + pt-jump.cc \ + pt-loop.cc \ + pt-mat.cc \ + pt-misc.cc \ + pt-pr-code.cc \ + pt-select.cc \ + pt-stmt.cc \ + pt-unop.cc \ + pt.cc + +DIST_SRC = \ + Cell.cc \ + bitfcns.cc \ + c-file-ptr-stream.cc \ + comment-list.cc \ + cutils.c \ + data.cc \ + debug.cc \ + defaults.cc \ + defun.cc \ + dirfns.cc \ + display.cc \ + dynamic-ld.cc \ + error.cc \ + file-io.cc \ + gl-render.cc \ + graphics.cc \ + gripes.cc \ + help.cc \ + input.cc \ + lex.ll \ + load-path.cc \ + load-save.cc \ + ls-ascii-helper.cc \ + ls-hdf5.cc \ + ls-mat-ascii.cc \ + ls-mat4.cc \ + ls-mat5.cc \ + ls-oct-ascii.cc \ + ls-oct-binary.cc \ + ls-utils.cc \ + mappers.cc \ + matherr.c \ + mex.cc \ + oct-fstrm.cc \ + oct-hist.cc \ + oct-iostrm.cc \ + oct-lvalue.cc \ + oct-map.cc \ + oct-obj.cc \ + oct-parse.yy \ + oct-prcstrm.cc \ + oct-procbuf.cc \ + oct-stream.cc \ + oct-strstrm.cc \ + octave.cc \ + pager.cc \ + pr-output.cc \ + procstream.cc \ + sighandlers.cc \ + siglist.c \ + sparse-xdiv.cc \ + sparse-xpow.cc \ + strfns.cc \ + symtab.cc \ + syscalls.cc \ + sysdep.cc \ + token.cc \ + toplev.cc \ + txt-eng-ft.cc \ + unwind-prot.cc \ + utils.cc \ + variables.cc \ + xdiv.cc \ + xnorm.cc \ + xpow.cc \ + zfstream.cc \ + $(OV_SRC) \ + $(PT_SRC) + +include DLD-FUNCTIONS/module.mk +include OPERATORS/module.mk +include TEMPLATE-INST/module.mk + +if AMCOND_ENABLE_DYNAMIC_LINKING + DLD_DYNAMIC_SRC = $(DLD_FUNCTIONS_SRC) + DLD_STATIC_SRC = + OCT_FILES = $(DLD_FUNCTIONS_SRC:.cc=.oct) +else + DLD_DYNAMIC_SRC = + DLD_STATIC_SRC = $(DLD_FUNCTIONS_SRC) + OCT_FILES = +endif + +liboctinterp_la_SOURCES = \ + $(DIST_SRC) \ + $(DLD_STATIC_SRC) \ + $(OPERATORS_SRC) \ + $(TEMPLATE_INST_SRC) + +DLD_DYNAMIC_DEF_FILES = $(DLD_DYNAMIC_SRC:.cc=.df) +DLD_STATIC_DEF_FILES = $(DLD_STATIC_SRC:.cc=.df) + +SRC_DEF_FILES := $(shell $(srcdir)/find-defun-files.sh "$(srcdir)" $(DIST_SRC)) + +DEF_FILES = $(SRC_DEF_FILES) $(DLD_DYNAMIC_DEF_FILES) $(DLD_STATIC_DEF_FILES) + +if AMCOND_ENABLE_DYNAMIC_LINKING + OCTAVE_LIBS = \ + ./liboctinterp.la \ + ../liboctave/liboctave.la \ + ../libcruft/libcruft.la \ + $(FFTW_XLDFLAGS) $(FFTW_XLIBS) \ + $(SPARSE_XLDFLAGS) $(SPARSE_XLIBS) \ + $(GRAPHICS_LDFLAGS) $(GRAPHICS_LIBS) \ + $(FT2_LDFLAGS) $(FT2_LIBS) \ + $(HDF5_LDFLAGS) $(HDF5_LIBS) $(Z_LDFLAGS) $(Z_LIBS) \ + $(OPENGL_LIBS) $(X11_LIBS) $(CARBON_LIBS) \ + $(READLINE_LIBS) $(TERM_LIBS) \ + $(LIBGLOB) \ + $(LAPACK_LIBS) $(BLAS_LIBS) \ + $(LIBS) \ + $(FLIBS) +else + ## FIXME -- this list is probably not complete now. It may not even + ## be possible to build a statically linked copy of Octave that is + ## fully functional. + OCTAVE_LIBS = \ + ./liboctinterp.la \ + ../liboctave/liboctave.la \ + ../libcruft/libcruft.la \ + $(FFTW_XLDFLAGS) $(FFTW_XLIBS) + $(QHULL_LDFLAGS) $(QHULL_LIBS) \ + $(ARPACK_LDFLAGS) $(ARPACK_LIBS) \ + $(QRUPDATE_LDFLAGS) $(QRUPDATE_LIBS) \ + $(SPARSE_XLDFLAGS) $(SPARSE_XLIBS) \ + $(REGEX_LDFLAGS) $(REGEX_LIBS) \ + $(CURL_LDFLAGS) $(CURL_LIBS) \ + $(GLPK_LDFLAGS) $(GLPK_LIBS) \ + $(MAGICK_LDFLAGS) $(MAGICK_LIBS) \ + $(GRAPHICS_LDFLAGS) $(GRAPHICS_LIBS) \ + $(FT2_LDFLAGS) $(FT2_LIBS) \ + $(HDF5_LDFLAGS) $(HDF5_LIBS) $(Z_LDFLAGS) $(Z_LIBS) \ + $(OPENGL_LIBS) $(X11_LIBS) $(CARBON_LIBS) \ + $(READLINE_LIBS) $(TERM_LIBS) \ + $(LIBGLOB) \ + $(LAPACK_LIBS) $(BLAS_LIBS) \ + $(LIBS) \ + $(FLIBS) +endif + +OCTINTERP_LINK_DEPS = \ + $(RLD_FLAG) \ + ../liboctave/liboctave.la \ + ../libcruft/libcruft.la \ + $(FFTW_XLDFLAGS) $(FFTW_XLIBS) \ + $(HDF5_LDFLAGS) $(HDF5_LIBS) $(Z_LDFLAGS) $(Z_LIBS) \ + $(OPENGL_LIBS) $(X11_LIBS) $(CARBON_LIBS) \ + $(READLINE_LIBS) $(TERM_LIBS) \ + $(LIBGLOB) \ + $(LAPACK_LIBS) $(BLAS_LIBS) \ + $(LIBS) \ + $(FLIBS) + +liboctinterp_la_LIBADD = $(OCTINTERP_LINK_DEPS) + +OCT_LINK_DEPS = \ + $(RLD_FLAG) $(LDFLAGS) \ + ./liboctinterp.la \ + ../liboctave/liboctave.la \ + ../libcruft/libcruft.la + +bin_PROGRAMS = octave + +octave_SOURCES = main.c + +nodist_liboctinterp_la_SOURCES = \ + builtins.cc \ + defaults.h \ + graphics.h \ + mxarray.h \ + oct-conf.h \ + oct-errno.cc \ + ops.cc \ + version.h \ + $(OPT_HANDLERS) \ + $(OPT_INC) + +liboctinterp_la_LDFLAGS = -release $(version) $(NO_UNDEFINED_LDFLAG) + +## Order matters here. Leave builtins.cc last, because it depends on +## $(DEF_FILES), and building those requires all the sources +## (except builtins.cc) to be available. List only one of graphics.h +## and graphics-props.cc because if both are listed, building in +## parallel will vail. +BUILT_SOURCES = \ + defaults.h \ + graphics.h \ + lex.cc \ + oct-conf.h \ + oct-errno.cc \ + oct-gperf.h \ + oct-parse.cc \ + ops.cc \ + $(OPT_HANDLERS) \ + $(OPT_INC) \ + builtins.cc + +CLEANFILES = $(BUILT_SOURCES) + +octave_LDADD = $(OCTAVE_LIBS) + +all-local: $(OCT_FILES) DLD-FUNCTIONS/PKG_ADD DOCSTRINGS + +lex.lo lex.o oct-parse.lo oct-parse.o: \ + AM_CXXFLAGS := $(filter-out -Wold-style-cast, $(AM_CXXFLAGS)) + +fltk_backend.lo fltk_backend.o: \ + AM_CXXFLAGS := $(filter-out $(DLL_CXXDEFS), $(AM_CXXFLAGS) $(GRAPHICS_CFLAGS)) + +# XERBLA = ../libcruft/blas-xtra/xerbla.o + +builtins.cc: $(DEF_FILES) mkbuiltins + @echo making $@ + @echo DEF_FILES = $(DEF_FILES) + @echo $(DEF_FILES) > def-files + @$(srcdir)/mkbuiltins def-files > $@-t + @mv $@-t $@ + +## FIXME -- maybe genprops.awk should write both output files? +## Or maybe there should be separate commands to generate each file? +graphics.h graphics-props.cc: graphics.h.in genprops.awk + @echo making graphics.h and graphics-props.cc + @$(AWK) -f $(srcdir)/genprops.awk $< > graphics.h-t + @mv graphics.h-t graphics.h + +DLD-FUNCTIONS/PKG_ADD: $(DLD_DYNAMIC_DEF_FILES) + $(srcdir)/mk-pkg-add $(DLD_DYNAMIC_DEF_FILES) > $@-t + @mv $@-t $@ + +DOCSTRINGS: gendoc$(BUILD_EXEEXT) + @echo making $@ + @./gendoc > $@-t + @mv $@-t $@ + +doc-files: $(DEF_FILES) + @echo making $@ + @echo DEF_FILES = $(DEF_FILES) + @echo $(DEF_FILES) > $@-t + mv $@-t $@ + +gendoc.cc: doc-files mkgendoc + @echo making $@ + @$(srcdir)/mkgendoc doc-files > $@-t + @mv $@-t $@ + +gendoc$(BUILD_EXEEXT): gendoc.cc + $(BUILD_CXX) $(BUILD_CXXFLAGS) -o $@ $^ $(BUILD_LDFLAGS) + +ops.cc: $(OPERATORS_SRC) mkops + @echo making $@ from $(OPERATORS_SRC) + @$(srcdir)/mkops $(OPERATORS_SRC) > $@-t + @mv $@-t $@ + +$(DEF_FILES): $(OPT_INC) mkdefs + +install-exec-hook: make-version-links + +install-data-hook: install-oct + +uninstall-local: remove-version-links uninstall-oct +.PHONY: uninstall-local + +make-version-links: + cd $(DESTDIR)$(bindir) && \ + mv octave$(EXEEXT) octave-$(version)$(EXEEXT) && \ + $(LN_S) octave-$(version)$(EXEEXT) octave$(EXEEXT) +.PHONY: make-version-links + +remove-version-links: + rm -f $(DESTDIR)$(bindir)/octave-$(version)$(EXEEXT) +.PHONY: remove-version-links + +if AMCOND_ENABLE_DYNAMIC_LINKING +install-oct: + $(top_srcdir)/mkinstalldirs $(DESTDIR)$(octfiledir) + if [ -n "`cat DLD-FUNCTIONS/PKG_ADD`" ]; then \ + $(INSTALL_DATA) DLD-FUNCTIONS/PKG_ADD $(DESTDIR)$(octfiledir)/PKG_ADD; \ + fi + cd $(DESTDIR)/$(octlibdir) && \ + for ltlib in $(DLD_FUNCTIONS_LIBS); do \ + f=`echo $$ltlib | $(SED) 's,.*/,,'`; \ + dl=`$(SED) -n -e "s/dlname='\([^']*\)'/\1/p" < $$f`; \ + if [ -n "$$dl" ]; then \ + $(INSTALL_PROGRAM) $$dl $(DESTDIR)$(octfiledir)/`echo $$f | $(SED) 's,^lib,,; s,\.la$$,.oct,'`; \ + else \ + echo "error: dlname is empty in $$ltlib!"; \ + exit 1; \ + fi; \ + lnames=`$(SED) -n -e "s/library_names='\([^']*\)'/\1/p" < $$f`; \ + if [ -n "$$lnames" ]; then \ + rm -f $$f $$lnames; \ + fi \ + done + +uninstall-oct: + for f in $(OCT_FILES); do \ + rm -f $(DESTDIR)$(octfiledir)/`echo $$f | $(SED) 's,.*/,,'`; \ + done + rm -f $(DESTDIR)$(octfiledir)/PKG_ADD +endif +.PHONY: install-oct uninstall-oct + +# Special rules -- these files need special things to be defined. + +$(OPT_HANDLERS) : %.cc : $(top_srcdir)/liboctave/%.in $(top_srcdir)/mk-opts.pl + @echo making $@ from $< + @$(PERL) $(top_srcdir)/mk-opts.pl --opt-handler-fcns $< > $@-t + @mv $@-t $@ + +## We require Bison. +#parse.cc : parse.y +# @echo "expect 14 shift/reduce conflicts" +# $(YACC) $(YFLAGS) --output=$@ --defines=y.tab.h $< + +#lex.cc : lex.l +# $(LEX) $(LFLAGS) $< > $(@F)-t +# @mv $(@F)-t $@ + + +$(OPT_INC) : %.h : %.in + $(MAKE) -C $(@D) $@ + +## We want to force an update of defaults.h and oct-conf.h every +## time make is run because some values may come from the command +## line or the environment. The substitution rules use move-if-change, +## so this should not cause trouble if the file already exists and the +## newly generated file is not different. + +defaults.h: defaults.h.in Makefile + @$(do_subst_default_vals) + +oct-conf.h: oct-conf.h.in Makefile + @$(do_subst_config_vals) + +oct-errno.cc: oct-errno.cc.in Makefile + @echo "making $@ from $<" + @if test -n "$(PERL)"; then \ + $(srcdir)/mk-errno-list --perl "$(PERL)" < $< > $@-t; \ + elif test -n "$(PYTHON)"; then \ + $(srcdir)/mk-errno-list --python "$(PYTHON)" < $< > $@-t; \ + else \ + $(SED) '/@SYSDEP_ERRNO_LIST@/D' $< > $@-t; \ + fi + @mv $@-t $@ + +## Don't use a pipeline to process gperf output since if gperf +## is missing but sed is not, the exit status of the pipeline +## will still be success and we will end up creating an empty +## oct-gperf.h file. +oct-gperf.h: octave.gperf + $(GPERF) -t -C -D -G -L C++ -Z octave_kw_hash $< > $@-t1 + $(SED) 's,lookup\[,gperf_lookup[,' < $@-t1 > $@-t2 + mv $@-t2 $@ + rm -f $@-t1 + +display.df display.lo: CPPFLAGS += $(X11_FLAGS) + +DLD-FUNCTIONS/__magick_read__.df: CPPFLAGS += $(MAGICK_CPPFLAGS) +DLD_FUNCTIONS___magick_read___la_CPPFLAGS = $(AM_CPPFLAGS) $(MAGICK_CPPFLAGS) +DLD_FUNCTIONS___magick_read___la_LIBADD += $(MAGICK_LDFLAGS) $(MAGICK_LIBS) + +DLD-FUNCTIONS/convhulln.df: CPPFLAGS += $(QHULL_CPPFLAGS) +DLD_FUNCTIONS_convhulln_la_CPPFLAGS = $(AM_CPPFLAGS) $(QHULL_CPPFLAGS) +DLD_FUNCTIONS_convhulln_la_LIBADD += $(QHULL_LDFLAGS) $(QHULL_LIBS) + +DLD-FUNCTIONS/__delaunayn__.df: CPPFLAGS += $(QHULL_CPPFLAGS) +DLD_FUNCTIONS___delaunayn___la_CPPFLAGS = $(AM_CPPFLAGS) $(QHULL_CPPFLAGS) +DLD_FUNCTIONS___delaunayn___la_LIBADD += $(QHULL_LDFLAGS) $(QHULL_LIBS) + +DLD-FUNCTIONS/__voronoi__.df: CPPFLAGS += $(QHULL_CPPFLAGS) +DLD_FUNCTIONS___voronoi___la_CPPFLAGS = $(AM_CPPFLAGS) $(QHULL_CPPFLAGS) +DLD_FUNCTIONS___voronoi___la_LIBADD += $(QHULL_LDFLAGS) $(QHULL_LIBS) + +DLD-FUNCTIONS/eigs.df: CPPFLAGS += $(ARPACK_CPPFLAGS) $(SPARSE_XCPPFLAGS) +DLD_FUNCTIONS_eigs_la_CPPFLAGS = $(AM_CPPFLAGS) $(ARPACK_CPPFLAGS) $(SPARSE_XCPPFLAGS) +DLD_FUNCTIONS_eigs_la_LIBADD += $(ARPACK_LDFLAGS) $(ARPACK_LIBS) $(SPARSE_XLDFLAGS) $(SPARSE_XLIBS) $(LAPACK_LIBS) $(BLAS_LIBS) + +#DLD-FUNCTIONS/qz.df DLD-FUNCTIONS/qz.lo: +DLD_FUNCTIONS_qz_la_LIBADD += $(LAPACK_LIBS) $(BLAS_LIBS) + +DLD-FUNCTIONS/qr.df: CPPFLAGS += $(QRUPDATE_CPPFLAGS) $(SPARSE_XCPPFLAGS) +DLD_FUNCTIONS_qr_la_CPPFLAGS = $(AM_CPPFLAGS) $(QRUPDATE_CPPFLAGS) $(SPARSE_XCPPFLAGS) +DLD_FUNCTIONS_qr_la_LIBADD += $(QRUPDATE_LDFLAGS) $(QRUPDATE_LIBS) $(SPARSE_XLDFLAGS) $(SPARSE_XLIBS) + +DLD-FUNCTIONS/chol.df: CPPFLAGS += $(QRUPDATE_CPPFLAGS) $(SPARSE_XCPPFLAGS) +DLD_FUNCTIONS_chol_la_CPPFLAGS = $(AM_CPPFLAGS) $(QRUPDATE_CPPFLAGS) $(SPARSE_XCPPFLAGS) +DLD_FUNCTIONS_chol_la_LIBADD += $(QRUPDATE_LDFLAGS) $(QRUPDATE_LIBS) $(SPARSE_XLDFLAGS) $(SPARSE_XLIBS) + +DLD-FUNCTIONS/regexp.df: CPPFLAGS += $(REGEX_CPPFLAGS) +DLD_FUNCTIONS_regexp_la_CPPFLAGS = $(AM_CPPFLAGS) $(REGEX_CPPFLAGS) +DLD_FUNCTIONS_regexp_la_LIBADD += $(REGEX_LDFLAGS) $(REGEX_LIBS) + +DLD-FUNCTIONS/urlwrite.df: CPPFLAGS += $(CURL_CPPFLAGS) +DLD_FUNCTIONS_urlwrite_la_CPPFLAGS = $(AM_CPPFLAGS) $(CURL_CPPFLAGS) +DLD_FUNCTIONS_urlwrite_la_LIBADD += $(CURL_LDFLAGS) $(CURL_LIBS) + +DLD-FUNCTIONS/__glpk__.df: CPPFLAGS += $(GLPK_CPPFLAGS) +DLD_FUNCTIONS___glpk___la_CPPFLAGS = $(AM_CPPFLAGS) $(GLPK_CPPFLAGS) +DLD_FUNCTIONS___glpk___la_LIBADD += $(GLPK_LDFLAGS) $(GLPK_LIBS) + +DLD-FUNCTIONS/fltk_backend.df: CPPFLAGS += $(GRAPHICS_CPPFLAGS) $(FT2_CPPFLAGS) +DLD_FUNCTIONS_fltk_backend_la_CPPFLAGS = $(AM_CPPFLAGS) $(GRAPHICS_CPPFLAGS) $(FT2_CPPFLAGS) +DLD_FUNCTIONS_fltk_backend_la_LIBADD += $(GRAPHICS_LDFLAGS) $(GRAPHICS_LIBS) $(FT2_LDFLAGS) $(FT2_LIBS) + +DLD-FUNCTIONS/amd.df: CPPFLAGS += $(SPARSE_XCPPFLAGS) +DLD_FUNCTIONS_amd_la_CPPFLAGS = $(AM_CPPFLAGS) $(SPARSE_XCPPFLAGS) +DLD_FUNCTIONS_amd_la_LIBADD += $(SPARSE_XLDFLAGS) $(SPARSE_XLIBS) + +DLD-FUNCTIONS/colamd.df: CPPFLAGS += $(SPARSE_XCPPFLAGS) +DLD_FUNCTIONS_colamd_la_CPPFLAGS = $(AM_CPPFLAGS) $(SPARSE_XCPPFLAGS) +DLD_FUNCTIONS_colamd_la_LIBADD += $(SPARSE_XLDFLAGS) $(SPARSE_XLIBS) + +DLD-FUNCTIONS/ccolamd.df: CPPFLAGS += $(SPARSE_XCPPFLAGS) +DLD_FUNCTIONS_ccolamd_la_CPPFLAGS = $(AM_CPPFLAGS) $(SPARSE_XCPPFLAGS) +DLD_FUNCTIONS_ccolamd_la_LIBADD += $(SPARSE_XLDFLAGS) $(SPARSE_XLIBS) + +DLD-FUNCTIONS/symbfact.df: CPPFLAGS += $(SPARSE_XCPPFLAGS) +DLD_FUNCTIONS_symbfact_la_CPPFLAGS = $(AM_CPPFLAGS) $(SPARSE_XCPPFLAGS) +DLD_FUNCTIONS_symbfact_la_LIBADD += $(SPARSE_XLDFLAGS) $(SPARSE_XLIBS) + +DLD-FUNCTIONS/dmperm.df: CPPFLAGS += $(SPARSE_XCPPFLAGS) +DLD_FUNCTIONS_dmperm_la_CPPFLAGS = $(AM_CPPFLAGS) $(SPARSE_XCPPFLAGS) +DLD_FUNCTIONS_dmperm_la_LIBADD += $(SPARSE_XLDFLAGS) $(SPARSE_XLIBS) + +DLD-FUNCTIONS/symrcm.df: CPPFLAGS += $(SPARSE_XCPPFLAGS) +DLD_FUNCTIONS_symrcm_la_CPPFLAGS = $(AM_CPPFLAGS) $(SPARSE_XCPPFLAGS) +DLD_FUNCTIONS_symrcm_la_LIBADD += $(SPARSE_XLDFLAGS) $(SPARSE_XLIBS) + +DLD-FUNCTIONS/fft.df: CPPFLAGS += $(FFTW_XCPPFLAGS) +DLD_FUNCTIONS_fft_la_CPPFLAGS = $(AM_CPPFLAGS) $(FFTW_XCPPFLAGS) +DLD_FUNCTIONS_fft_la_LIBADD += $(FFTW_XLDFLAGS) $(FFTW_XLIBS) + +DLD-FUNCTIONS/fft2.df: CPPFLAGS += $(FFTW_XCPPFLAGS) +DLD_FUNCTIONS_fft2_la_CPPFLAGS = $(AM_CPPFLAGS) $(FFTW_XCPPFLAGS) +DLD_FUNCTIONS_fft2_la_LIBADD += $(FFTW_XLDFLAGS) $(FFTW_XLIBS) + +DLD-FUNCTIONS/fftn.df: CPPFLAGS += $(FFTW_XCPPFLAGS) +DLD_FUNCTIONS_fftn_la_CPPFLAGS = $(AM_CPPFLAGS) $(FFTW_XCPPFLAGS) +DLD_FUNCTIONS_fftn_la_LIBADD += $(FFTW_XLDFLAGS) $(FFTW_XLIBS) + +DLD-FUNCTIONS/fftw.df: CPPFLAGS += $(FFTW_XCPPFLAGS) +DLD_FUNCTIONS_fftw_la_CPPFLAGS = $(AM_CPPFLAGS) $(FFTW_XCPPFLAGS) +DLD_FUNCTIONS_fftw_la_LIBADD += $(FFTW_XLDFLAGS) $(FFTW_XLIBS)