Commit aa52c8bf authored by Emmanuel Bertin's avatar Emmanuel Bertin
Browse files

Added support for the INTEL MKL library in place of ATLAS and FFTW (configure --enable-mkl option).

Updated LevMar library to V2.6.
Pushed version number to 2.18.0.
parent 1b190b55
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
# #
# This file part of: SExtractor # This file part of: SExtractor
# #
# Copyright: (C) 2002-2010 Emmanuel Bertin -- IAP/CNRS/UPMC # Copyright: (C) 2002-2012 Emmanuel Bertin -- IAP/CNRS/UPMC
# #
# License: GNU General Public License # License: GNU General Public License
# #
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with SExtractor. If not, see <http://www.gnu.org/licenses/>. # along with SExtractor. If not, see <http://www.gnu.org/licenses/>.
# #
# Last modified: 11/10/2010 # Last modified: 09/07/2012
# #
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
...@@ -31,8 +31,8 @@ SUBDIRS = man src tests ...@@ -31,8 +31,8 @@ SUBDIRS = man src tests
dist_pkgdata_DATA = config/* xsl/sextractor.xsl dist_pkgdata_DATA = config/* xsl/sextractor.xsl
EXTRA_DIST = doc AUTHORS BUGS ChangeLog COPYRIGHT HISTORY \ EXTRA_DIST = doc AUTHORS BUGS ChangeLog COPYRIGHT HISTORY \
INSTALL LICENSE README THANKS \ INSTALL LICENSE README THANKS \
acx_atlas.m4 acx_prog_cc_optim.m4 \ acx_atlas.m4 acx_fftw.m4 acx_mkl.m4 \
acx_urbi_resolve_dir.m4 acx_prog_cc_optim.m4 acx_urbi_resolve_dir.m4
RPM_ROOTDIR = `rpmbuild --nobuild -E %_topdir` RPM_ROOTDIR = `rpmbuild --nobuild -E %_topdir`
RPM_SRCDIR = $(RPM_ROOTDIR)/SOURCES RPM_SRCDIR = $(RPM_ROOTDIR)/SOURCES
dist-hook: dist-hook:
......
# Makefile.in generated by automake 1.10.1 from Makefile.am. # Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
...@@ -23,7 +24,7 @@ ...@@ -23,7 +24,7 @@
# #
# This file part of: SExtractor # This file part of: SExtractor
# #
# Copyright: (C) 2002-2010 Emmanuel Bertin -- IAP/CNRS/UPMC # Copyright: (C) 2002-2012 Emmanuel Bertin -- IAP/CNRS/UPMC
# #
# License: GNU General Public License # License: GNU General Public License
# #
...@@ -38,14 +39,15 @@ ...@@ -38,14 +39,15 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with SExtractor. If not, see <http://www.gnu.org/licenses/>. # along with SExtractor. If not, see <http://www.gnu.org/licenses/>.
# #
# Last modified: 11/10/2010 # Last modified: 09/07/2012
# #
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
VPATH = @srcdir@ VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c install_sh_PROGRAM = $(install_sh) -c
...@@ -70,7 +72,8 @@ DIST_COMMON = README $(am__configure_deps) $(dist_pkgdata_DATA) \ ...@@ -70,7 +72,8 @@ DIST_COMMON = README $(am__configure_deps) $(dist_pkgdata_DATA) \
autoconf/mkinstalldirs autoconf/mkinstalldirs
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acx_atlas.m4 \ am__aclocal_m4_deps = $(top_srcdir)/acx_atlas.m4 \
$(top_srcdir)/acx_fftw.m4 $(top_srcdir)/acx_prog_cc_optim.m4 \ $(top_srcdir)/acx_fftw.m4 $(top_srcdir)/acx_mkl.m4 \
$(top_srcdir)/acx_prog_cc_optim.m4 \
$(top_srcdir)/acx_pthread.m4 \ $(top_srcdir)/acx_pthread.m4 \
$(top_srcdir)/acx_urbi_resolve_dir.m4 \ $(top_srcdir)/acx_urbi_resolve_dir.m4 \
$(top_srcdir)/configure.ac $(top_srcdir)/configure.ac
...@@ -81,6 +84,7 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ ...@@ -81,6 +84,7 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
mkinstalldirs = $(SHELL) $(top_srcdir)/autoconf/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/autoconf/mkinstalldirs
CONFIG_HEADER = config.h CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES = sextractor.spec CONFIG_CLEAN_FILES = sextractor.spec
CONFIG_CLEAN_VPATH_FILES =
depcomp = depcomp =
am__depfiles_maybe = am__depfiles_maybe =
SOURCES = SOURCES =
...@@ -97,12 +101,29 @@ am__vpath_adj = case $$p in \ ...@@ -97,12 +101,29 @@ am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \ *) f=$$p;; \
esac; esac;
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__installdirs = "$(DESTDIR)$(pkgdatadir)" am__installdirs = "$(DESTDIR)$(pkgdatadir)"
dist_pkgdataDATA_INSTALL = $(INSTALL_DATA)
DATA = $(dist_pkgdata_DATA) DATA = $(dist_pkgdata_DATA)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive distclean-recursive maintainer-clean-recursive
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
distdir dist dist-all distcheck
ETAGS = etags ETAGS = etags
CTAGS = ctags CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS) DIST_SUBDIRS = $(SUBDIRS)
...@@ -110,9 +131,34 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ...@@ -110,9 +131,34 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION) distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir) top_distdir = $(distdir)
am__remove_distdir = \ am__remove_distdir = \
{ test ! -d $(distdir) \ { test ! -d "$(distdir)" \
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -fr $(distdir); }; } && rm -fr "$(distdir)"; }; }
am__relativize = \
dir0=`pwd`; \
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
sed_rest='s,^[^/]*/*,,'; \
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
sed_butlast='s,/*[^/]*$$,,'; \
while test -n "$$dir1"; do \
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
if test "$$first" != "."; then \
if test "$$first" = ".."; then \
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
else \
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
if test "$$first2" = "$$first"; then \
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
else \
dir2="../$$dir2"; \
fi; \
dir0="$$dir0"/"$$first"; \
fi; \
fi; \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
DIST_ARCHIVES = $(distdir).tar.gz DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print distuninstallcheck_listfiles = find . -type f -print
...@@ -125,8 +171,8 @@ AM_LDFLAGS = @AM_LDFLAGS@ ...@@ -125,8 +171,8 @@ AM_LDFLAGS = @AM_LDFLAGS@
AR = @AR@ AR = @AR@
ATLAS_CFLAGS = @ATLAS_CFLAGS@ ATLAS_CFLAGS = @ATLAS_CFLAGS@
ATLAS_ERROR = @ATLAS_ERROR@ ATLAS_ERROR = @ATLAS_ERROR@
ATLAS_LIB = @ATLAS_LIB@
ATLAS_LIBPATH = @ATLAS_LIBPATH@ ATLAS_LIBPATH = @ATLAS_LIBPATH@
ATLAS_LIBS = @ATLAS_LIBS@
ATLAS_WARN = @ATLAS_WARN@ ATLAS_WARN = @ATLAS_WARN@
AUTOCONF = @AUTOCONF@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
...@@ -137,47 +183,56 @@ CCDEPMODE = @CCDEPMODE@ ...@@ -137,47 +183,56 @@ CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@ CFLAGS = @CFLAGS@
CPP = @CPP@ CPP = @CPP@
CPPFLAGS = @CPPFLAGS@ CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@ CYGPATH_W = @CYGPATH_W@
DATE2 = @DATE2@ DATE2 = @DATE2@
DATE3 = @DATE3@ DATE3 = @DATE3@
DEFS = @DEFS@ DEFS = @DEFS@
DEPDIR = @DEPDIR@ DEPDIR = @DEPDIR@
ECHO = @ECHO@ DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@ ECHO_T = @ECHO_T@
EGREP = @EGREP@ EGREP = @EGREP@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
FFTW_ERROR = @FFTW_ERROR@ FFTW_ERROR = @FFTW_ERROR@
FFTW_LIBS = @FFTW_LIBS@ FFTW_LIBS = @FFTW_LIBS@
FFTW_WARN = @FFTW_WARN@ FFTW_WARN = @FFTW_WARN@
FGREP = @FGREP@
GREP = @GREP@ GREP = @GREP@
INSTALL = @INSTALL@ INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@ LIBOBJS = @LIBOBJS@
LIBS = @LIBS@ LIBS = @LIBS@
LIBTOOL = @LIBTOOL@ LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@ LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@ LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@ MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@ MKDIR_P = @MKDIR_P@
MKL_CFLAGS = @MKL_CFLAGS@
MKL_LIBS = @MKL_LIBS@
MKL_WARN = @MKL_WARN@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@ OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
PACKAGER = @PACKAGER@ PACKAGER = @PACKAGER@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@ PATH_SEPARATOR = @PATH_SEPARATOR@
PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CC = @PTHREAD_CC@
...@@ -193,9 +248,9 @@ abs_builddir = @abs_builddir@ ...@@ -193,9 +248,9 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@ abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@ abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@ ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_F77 = @ac_ct_F77@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
...@@ -246,8 +301,8 @@ SUBDIRS = man src tests ...@@ -246,8 +301,8 @@ SUBDIRS = man src tests
dist_pkgdata_DATA = config/* xsl/sextractor.xsl dist_pkgdata_DATA = config/* xsl/sextractor.xsl
EXTRA_DIST = doc AUTHORS BUGS ChangeLog COPYRIGHT HISTORY \ EXTRA_DIST = doc AUTHORS BUGS ChangeLog COPYRIGHT HISTORY \
INSTALL LICENSE README THANKS \ INSTALL LICENSE README THANKS \
acx_atlas.m4 acx_prog_cc_optim.m4 \ acx_atlas.m4 acx_fftw.m4 acx_mkl.m4 \
acx_urbi_resolve_dir.m4 acx_prog_cc_optim.m4 acx_urbi_resolve_dir.m4
RPM_ROOTDIR = `rpmbuild --nobuild -E %_topdir` RPM_ROOTDIR = `rpmbuild --nobuild -E %_topdir`
RPM_SRCDIR = $(RPM_ROOTDIR)/SOURCES RPM_SRCDIR = $(RPM_ROOTDIR)/SOURCES
...@@ -261,15 +316,15 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) ...@@ -261,15 +316,15 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \ @for dep in $?; do \
case '$(am__configure_deps)' in \ case '$(am__configure_deps)' in \
*$$dep*) \ *$$dep*) \
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
cd $(srcdir) && $(AUTOMAKE) --foreign \ $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
&& exit 0; \ && exit 0; \
exit 1;; \ exit 1;; \
esac; \ esac; \
done; \ done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
cd $(top_srcdir) && \ $(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign Makefile $(AUTOMAKE) --foreign Makefile
.PRECIOUS: Makefile .PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \ @case '$?' in \
...@@ -285,9 +340,10 @@ $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENC ...@@ -285,9 +340,10 @@ $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENC
$(SHELL) ./config.status --recheck $(SHELL) ./config.status --recheck
$(top_srcdir)/configure: $(am__configure_deps) $(top_srcdir)/configure: $(am__configure_deps)
cd $(srcdir) && $(AUTOCONF) $(am__cd) $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): $(am__aclocal_m4_deps) $(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
$(am__aclocal_m4_deps):
config.h: stamp-h1 config.h: stamp-h1
@if test ! -f $@; then \ @if test ! -f $@; then \
...@@ -299,7 +355,7 @@ stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status ...@@ -299,7 +355,7 @@ stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1 @rm -f stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status config.h cd $(top_builddir) && $(SHELL) ./config.status config.h
$(srcdir)/config.h.in: $(am__configure_deps) $(srcdir)/config.h.in: $(am__configure_deps)
cd $(top_srcdir) && $(AUTOHEADER) ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
rm -f stamp-h1 rm -f stamp-h1
touch $@ touch $@
...@@ -315,24 +371,27 @@ clean-libtool: ...@@ -315,24 +371,27 @@ clean-libtool:
-rm -rf .libs _libs -rm -rf .libs _libs
distclean-libtool: distclean-libtool:
-rm -f libtool -rm -f libtool config.lt
install-dist_pkgdataDATA: $(dist_pkgdata_DATA) install-dist_pkgdataDATA: $(dist_pkgdata_DATA)
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
test -z "$(pkgdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)" test -z "$(pkgdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)"
@list='$(dist_pkgdata_DATA)'; for p in $$list; do \ @list='$(dist_pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f=$(am__strip_dir) \ echo "$$d$$p"; \
echo " $(dist_pkgdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgdatadir)/$$f'"; \ done | $(am__base_list) | \
$(dist_pkgdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgdatadir)/$$f"; \ while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgdatadir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(pkgdatadir)" || exit $$?; \
done done
uninstall-dist_pkgdataDATA: uninstall-dist_pkgdataDATA:
@$(NORMAL_UNINSTALL) @$(NORMAL_UNINSTALL)
@list='$(dist_pkgdata_DATA)'; for p in $$list; do \ @list='$(dist_pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
f=$(am__strip_dir) \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \ test -n "$$files" || exit 0; \
rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \ echo " ( cd '$(DESTDIR)$(pkgdatadir)' && rm -f" $$files ")"; \
done cd "$(DESTDIR)$(pkgdatadir)" && rm -f $$files
# This directory's subdirectories are mostly independent; you can cd # This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile. # into them and run `make' without going through this Makefile.
...@@ -341,7 +400,7 @@ uninstall-dist_pkgdataDATA: ...@@ -341,7 +400,7 @@ uninstall-dist_pkgdataDATA:
# (which will cause the Makefiles to be regenerated when you run `make'); # (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line. # (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS): $(RECURSIVE_TARGETS):
@failcom='exit 1'; \ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \ for f in x $$MAKEFLAGS; do \
case $$f in \ case $$f in \
*=* | --[!k]*);; \ *=* | --[!k]*);; \
...@@ -358,7 +417,7 @@ $(RECURSIVE_TARGETS): ...@@ -358,7 +417,7 @@ $(RECURSIVE_TARGETS):
else \ else \
local_target="$$target"; \ local_target="$$target"; \
fi; \ fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \ || eval $$failcom; \
done; \ done; \
if test "$$dot_seen" = "no"; then \ if test "$$dot_seen" = "no"; then \
...@@ -366,7 +425,7 @@ $(RECURSIVE_TARGETS): ...@@ -366,7 +425,7 @@ $(RECURSIVE_TARGETS):
fi; test -z "$$fail" fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS): $(RECURSIVE_CLEAN_TARGETS):
@failcom='exit 1'; \ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \ for f in x $$MAKEFLAGS; do \
case $$f in \ case $$f in \
*=* | --[!k]*);; \ *=* | --[!k]*);; \
...@@ -392,16 +451,16 @@ $(RECURSIVE_CLEAN_TARGETS): ...@@ -392,16 +451,16 @@ $(RECURSIVE_CLEAN_TARGETS):
else \ else \
local_target="$$target"; \ local_target="$$target"; \
fi; \ fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \ || eval $$failcom; \
done && test -z "$$fail" done && test -z "$$fail"
tags-recursive: tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \ list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done done
ctags-recursive: ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \ list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
...@@ -409,14 +468,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ...@@ -409,14 +468,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \ unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \ done | \
$(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \ END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique mkid -fID $$unique
tags: TAGS tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
tags=; \ set x; \
here=`pwd`; \ here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \ include_option=--etags-include; \
...@@ -428,7 +487,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ ...@@ -428,7 +487,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
list='$(SUBDIRS)'; for subdir in $$list; do \ list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \ if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \ test ! -f $$subdir/TAGS || \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \ fi; \
done; \ done; \
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
...@@ -437,36 +496,41 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ ...@@ -437,36 +496,41 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
done | \ done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \ END { if (nonempty) { for (i in files) print i; }; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \ test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ if test $$# -gt 0; then \
$$tags $$unique; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi fi
ctags: CTAGS ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
tags=; \
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \ done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \ END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique $$unique
GTAGS: GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \ here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \ && $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES) distdir: $(DISTFILES)
$(am__remove_distdir) $(am__remove_distdir)
test -d $(distdir) || mkdir $(distdir) test -d "$(distdir)" || mkdir "$(distdir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \ list='$(DISTFILES)'; \
...@@ -482,29 +546,44 @@ distdir: $(DISTFILES) ...@@ -482,29 +546,44 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \ if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \ fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \ else \
test -f $(distdir)/$$file \ test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file $(distdir)/$$file \ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \ || exit 1; \
fi; \ fi; \
done done
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \ if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \ test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \ || exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \ fi; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ done
(cd $$subdir && \ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
dir1=$$subdir; dir2="$(top_distdir)"; \
$(am__relativize); \
new_top_distdir=$$reldir; \
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \ $(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$top_distdir" \ top_distdir="$$new_top_distdir" \
distdir="$$distdir/$$subdir" \ distdir="$$new_distdir" \
am__remove_distdir=: \ am__remove_distdir=: \
am__skip_length_check=: \ am__skip_length_check=: \
am__skip_mode_fix=: \
distdir) \ distdir) \
|| exit 1; \ || exit 1; \
fi; \ fi; \
...@@ -512,11 +591,13 @@ distdir: $(DISTFILES) ...@@ -512,11 +591,13 @@ distdir: $(DISTFILES)
$(MAKE) $(AM_MAKEFLAGS) \ $(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" distdir="$(distdir)" \ top_distdir="$(top_distdir)" distdir="$(distdir)" \
dist-hook dist-hook
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ -test -n "$(am__skip_mode_fix)" \
|| find "$(distdir)" -type d ! -perm -755 \
-exec chmod u+rwx,go+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r $(distdir) || chmod -R a+r "$(distdir)"
dist-gzip: distdir dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir) $(am__remove_distdir)
...@@ -529,6 +610,10 @@ dist-lzma: distdir ...@@ -529,6 +610,10 @@ dist-lzma: distdir
tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
$(am__remove_distdir) $(am__remove_distdir)
dist-xz: distdir
tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
$(am__remove_distdir)
dist-tarZ: distdir dist-tarZ: distdir
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__remove_distdir) $(am__remove_distdir)
...@@ -552,15 +637,17 @@ dist dist-all: distdir ...@@ -552,15 +637,17 @@ dist dist-all: distdir
distcheck: dist distcheck: dist
case '$(DIST_ARCHIVES)' in \ case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \ *.tar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \ *.tar.bz2*) \
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lzma*) \ *.tar.lzma*) \
unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\ lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
*.tar.xz*) \
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
*.tar.Z*) \ *.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \ *.shar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \ *.zip*) \
unzip $(distdir).zip ;;\ unzip $(distdir).zip ;;\
esac esac
...@@ -568,9 +655,11 @@ distcheck: dist ...@@ -568,9 +655,11 @@ distcheck: dist
mkdir $(distdir)/_build mkdir $(distdir)/_build
mkdir $(distdir)/_inst mkdir $(distdir)/_inst
chmod a-w $(distdir) chmod a-w $(distdir)
test -d $(distdir)/_build || exit 0; \
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& cd $(distdir)/_build \ && am__cwd=`pwd` \
&& $(am__cd) $(distdir)/_build \
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \
$(DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \
...@@ -592,13 +681,15 @@ distcheck: dist ...@@ -592,13 +681,15 @@ distcheck: dist
&& rm -rf "$$dc_destdir" \ && rm -rf "$$dc_destdir" \
&& $(MAKE) $(AM_MAKEFLAGS) dist \ && $(MAKE) $(AM_MAKEFLAGS) dist \
&& rm -rf $(DIST_ARCHIVES) \ && rm -rf $(DIST_ARCHIVES) \
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
&& cd "$$am__cwd" \
|| exit 1
$(am__remove_distdir) $(am__remove_distdir)
@(echo "$(distdir) archives ready for distribution: "; \ @(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
distuninstallcheck: distuninstallcheck:
@cd $(distuninstallcheck_dir) \ @$(am__cd) '$(distuninstallcheck_dir)' \
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|| { echo "ERROR: files left after uninstall:" ; \ || { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \ if test -n "$(DESTDIR)"; then \
...@@ -643,6 +734,7 @@ clean-generic: ...@@ -643,6 +734,7 @@ clean-generic:
distclean-generic: distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
...@@ -663,6 +755,8 @@ dvi-am: ...@@ -663,6 +755,8 @@ dvi-am:
html: html-recursive html: html-recursive
html-am:
info: info-recursive info: info-recursive
info-am: info-am:
...@@ -671,18 +765,28 @@ install-data-am: install-dist_pkgdataDATA ...@@ -671,18 +765,28 @@ install-data-am: install-dist_pkgdataDATA
install-dvi: install-dvi-recursive install-dvi: install-dvi-recursive
install-dvi-am:
install-exec-am: install-exec-am:
install-html: install-html-recursive install-html: install-html-recursive
install-html-am:
install-info: install-info-recursive install-info: install-info-recursive
install-info-am:
install-man: install-man:
install-pdf: install-pdf-recursive install-pdf: install-pdf-recursive
install-pdf-am:
install-ps: install-ps-recursive install-ps: install-ps-recursive
install-ps-am:
installcheck-am: installcheck-am:
maintainer-clean: maintainer-clean-recursive maintainer-clean: maintainer-clean-recursive
...@@ -705,14 +809,14 @@ ps-am: ...@@ -705,14 +809,14 @@ ps-am:
uninstall-am: uninstall-dist_pkgdataDATA uninstall-am: uninstall-dist_pkgdataDATA
.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
install-strip ctags-recursive install-am install-strip tags-recursive
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am am--refresh check check-am clean clean-generic \ all all-am am--refresh check check-am clean clean-generic \
clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \ clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
dist-gzip dist-hook dist-lzma dist-shar dist-tarZ dist-zip \ dist-gzip dist-hook dist-lzma dist-shar dist-tarZ dist-xz \
distcheck distclean distclean-generic distclean-hdr \ dist-zip distcheck distclean distclean-generic distclean-hdr \
distclean-libtool distclean-tags distcleancheck distdir \ distclean-libtool distclean-tags distcleancheck distdir \
distuninstallcheck dvi dvi-am html html-am info info-am \ distuninstallcheck dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am \ install install-am install-data install-data-am \
...@@ -740,6 +844,7 @@ rpm-icc: dist ...@@ -740,6 +844,7 @@ rpm-icc: dist
rpm-best: dist rpm-best: dist
cp -f $(PACKAGE_NAME)-$(PACKAGE_VERSION).tar.gz $(RPM_SRCDIR) cp -f $(PACKAGE_NAME)-$(PACKAGE_VERSION).tar.gz $(RPM_SRCDIR)
USE_BEST="1" rpmbuild -ba --clean --nodeps $(PACKAGE_NAME).spec USE_BEST="1" rpmbuild -ba --clean --nodeps $(PACKAGE_NAME).spec
# Tell versions [3.59,3.63) of GNU make to not export all variables. # 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. # Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT: .NOEXPORT:
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -23,11 +23,11 @@ dnl You should have received a copy of the GNU General Public License ...@@ -23,11 +23,11 @@ dnl You should have received a copy of the GNU General Public License
dnl along with AstrOmatic software. dnl along with AstrOmatic software.
dnl If not, see <http://www.gnu.org/licenses/>. dnl If not, see <http://www.gnu.org/licenses/>.
dnl dnl
dnl Last modified: 10/10/2010 dnl Last modified: 12/12/2011
dnl dnl
dnl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% dnl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
dnl dnl
dnl @synopsis ACX_ATLAS([ATLAS_LIBDIR, ATLAS_INCDIR, ATLAS_PFLAG, dnl @synopsis ACX_ATLAS([ATLAS_LIBSDIR, ATLAS_INCDIR, ATLAS_PFLAG,
dnl [ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]]) dnl [ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]])
dnl You may wish to use these variables in your default LIBS: dnl You may wish to use these variables in your default LIBS:
dnl dnl
...@@ -218,24 +218,24 @@ dnl Check whether the multithreaded version of ATLAS is there too: ...@@ -218,24 +218,24 @@ dnl Check whether the multithreaded version of ATLAS is there too:
AC_CHECK_LIB(ptcblas, cblas_dgemm, [acx_atlast_ok=yes], [acx_atlast_ok=no], AC_CHECK_LIB(ptcblas, cblas_dgemm, [acx_atlast_ok=yes], [acx_atlast_ok=no],
[$ATLAS_LIBPATH -lcblas -latlas -lm]) [$ATLAS_LIBPATH -lcblas -latlas -lm])
if test x$acx_atlast_ok = xyes; then if test x$acx_atlast_ok = xyes; then
ATLAS_LIB="$ATLAS_LIBPATH -llapack -lptcblas -lcblas -latlas" ATLAS_LIBS="$ATLAS_LIBPATH -llapack -lptcblas -lcblas -latlas"
LIBS="$OLIBS" LIBS="$OLIBS"
AC_SUBST(ATLAS_LIB) AC_SUBST(ATLAS_LIBS)
AC_DEFINE(HAVE_ATLAS_MP,1, AC_DEFINE(HAVE_ATLAS_MP,1,
[Define if you have the parallel ATLAS libraries.]) [Define if you have the parallel ATLAS libraries.])
$4 $4
else else
ATLAS_LIB="$ATLAS_LIBPATH -llapack -lcblas -latlas" ATLAS_LIBS="$ATLAS_LIBPATH -llapack -lcblas -latlas"
LIBS="$OLIBS" LIBS="$OLIBS"
AC_SUBST(ATLAS_LIB) AC_SUBST(ATLAS_LIBS)
ATLAS_WARN="CBLAS/LAPack was compiled without multithreading support!" ATLAS_WARN="CBLAS/LAPack was compiled without multithreading support!"
AC_SUBST(ATLAS_WARN) AC_SUBST(ATLAS_WARN)
$4 $4
fi fi
else else
ATLAS_LIB="$ATLAS_LIBPATH -llapack -lcblas -latlas" ATLAS_LIBS="$ATLAS_LIBPATH -llapack -lcblas -latlas"
LIBS="$OLIBS" LIBS="$OLIBS"
AC_SUBST(ATLAS_LIB) AC_SUBST(ATLAS_LIBS)
$4 $4
fi fi
else else
......
dnl
dnl acx_mkl.m4
dnl
dnl Set up options for using the INTEL MKL library.
dnl
dnl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
dnl
dnl This file part of: AstrOmatic software
dnl
dnl Copyright: (C) 2003-2012 Emmanuel Bertin -- IAP/CNRS/UPMC
dnl
dnl License: GNU General Public License
dnl
dnl AstrOmatic software is free software: you can redistribute it and/or
dnl modify it under the terms of the GNU General Public License as
dnl published by the Free Software Foundation, either version 3 of the
dnl License, or (at your option) any later version.
dnl AstrOmatic software is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
dnl GNU General Public License for more details.
dnl You should have received a copy of the GNU General Public License
dnl along with AstrOmatic software.
dnl If not, see <http://www.gnu.org/licenses/>.
dnl
dnl Last modified: 09/07/2012
dnl
dnl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
dnl
dnl @synopsis ACX_MKL()
dnl
dnl You may wish to use these variables in your default LIBS:
dnl
dnl LIBS="$MKL_LIBS $LIBS"
dnl
dnl You may wish to use these variables in your default CFLAGS:
dnl
dnl CFLAGS="$CFLAGS $MKL_CFLAGS"
dnl
AC_DEFUN([ACX_MKL], [
AC_REQUIRE([AC_CANONICAL_HOST])
dnl ----------------------
dnl Set architecture flags
dnl ----------------------
dnl Try to find INTEL architecture (Intel 64 or ia32)
if icc -V 2>&1 | grep -i "Intel(R) 64" > /dev/null 2>&1; then
AC_SUBST(MKL_CFLAGS, "-DMKL_ILP64")
AC_SUBST(MKL_LIBS, "-mkl")
elif icc -V 2>&1 | grep -i "Intel(R)" > /dev/null 2>&1; then
AC_SUBST(MKL_CFLAGS, "")
AC_SUBST(MKL_LIBS, "-mkl")
else
AC_SUBST(MKL_CFLAGS, "")
AC_SUBST(MKL_LIBS, "")
MKL_WARN="INTEL compiler not detected"
AC_SUBST(MKL_WARN)
fi
dnl --------------------
dnl Set internal flags
dnl --------------------
AC_DEFINE(HAVE_FFTW,1, [Define if you have the FFTW libraries.])
AC_DEFINE(HAVE_LAPACK,1, [Define if you have the LAPACK libraries.])
AC_DEFINE(HAVE_LAPACKE,1, [Define if you have the LAPACKe libraries.])
dnl --------------------
dnl Set include files
dnl --------------------
AC_DEFINE_UNQUOTED(FFTW_H, "fftw/fftw3_mkl.h", [FFTW header filename.])
AC_DEFINE_UNQUOTED(LAPACK_H, "mkl_lapack.h", [LAPACK header filename.])
AC_DEFINE_UNQUOTED(LAPACKE_H, "mkl_lapacke.h", [LAPACKe header filename.])
])dnl ACX_MKL
...@@ -7,7 +7,7 @@ dnl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ...@@ -7,7 +7,7 @@ dnl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
dnl dnl
dnl This file part of: AstrOmatic software dnl This file part of: AstrOmatic software
dnl dnl
dnl Copyright: (C) 2002-2010 Emmanuel Bertin -- IAP/CNRS/UPMC dnl Copyright: (C) 2002-2012 Emmanuel Bertin -- IAP/CNRS/UPMC
dnl (C) 2002 Ville Lauriki (original version) dnl (C) 2002 Ville Lauriki (original version)
dnl dnl
dnl Licenses: GPL (this version) dnl Licenses: GPL (this version)
...@@ -25,7 +25,7 @@ dnl You should have received a copy of the GNU General Public License ...@@ -25,7 +25,7 @@ dnl You should have received a copy of the GNU General Public License
dnl along with AstrOmatic software. dnl along with AstrOmatic software.
dnl If not, see <http://www.gnu.org/licenses/>. dnl If not, see <http://www.gnu.org/licenses/>.
dnl dnl
dnl Last modified: 09/10/2010 dnl Last modified: 05/07/2012
dnl dnl
dnl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% dnl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
dnl dnl
...@@ -61,14 +61,14 @@ EOF ...@@ -61,14 +61,14 @@ EOF
$CC -c -O conftest.c > /dev/null 2>&1 && $CC -c -O conftest.c > /dev/null 2>&1 &&
test -f conftest.o; then test -f conftest.o; then
prog_cc_optim_cv_flags="-O3 -axSSE3,SSE4.1,SSE4.2,AVX -no-prec-div -unroll" prog_cc_optim_cv_flags="-O3 -axSSE3,SSE4.1,SSE4.2,AVX -no-prec-div -unroll"
prog_ld_optim_cv_flags="-static-intel" prog_ld_optim_cv_flags=""
dnl INTEL C 32bits compiler dnl INTEL C 32bits compiler
elif $CC -V 2>&1 | grep -i "Intel(R)" > /dev/null 2>&1 && elif $CC -V 2>&1 | grep -i "Intel(R)" > /dev/null 2>&1 &&
$CC -c -O conftest.c > /dev/null 2>&1 && $CC -c -O conftest.c > /dev/null 2>&1 &&
test -f conftest.o; then test -f conftest.o; then
prog_cc_optim_cv_flags="-O3 -axSSE2,SSE3,SSE4.1,SSE4.2,AVX -no-prec-div -unroll" prog_cc_optim_cv_flags="-O3 -axSSE2,SSE3,SSE4.1,SSE4.2,AVX -no-prec-div -unroll"
prog_ld_optim_cv_flags="-static-intel" prog_ld_optim_cv_flags=""
dnl GCC dnl GCC
elif test "$GCC" = "yes"; then elif test "$GCC" = "yes"; then
...@@ -129,10 +129,13 @@ EOF ...@@ -129,10 +129,13 @@ EOF
rm -f conftest.* rm -f conftest.*
fi fi
if test -n "$prog_cc_optim_cv_flags"; then if test -n "$prog_cc_optim_cv_flags"; then
AM_CFLAGS="$CFLAGS $prog_cc_optim_cv_flags" AM_CFLAGS="$AM_CFLAGS $prog_cc_optim_cv_flags"
AM_LDFLAGS="$LDFLAGS $prog_ld_optim_cv_flags"
else else
prog_cc_optim_cv_flags="" prog_cc_optim_cv_flags=""
fi
if test -n "$prog_ld_optim_cv_flags"; then
AM_LDFLAGS="$AM_LDFLAGS $prog_ld_optim_cv_flags"
else
prog_ld_optim_cv_flags="" prog_ld_optim_cv_flags=""
fi fi
]) ])
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -68,6 +68,15 @@ ...@@ -68,6 +68,15 @@
/* Define to 1 if you have the <inttypes.h> header file. */ /* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H #undef HAVE_INTTYPES_H
/* Second isnan check */
#undef HAVE_ISNAN2
/* Define if you have the LAPACK libraries. */
#undef HAVE_LAPACK
/* Define if you have the LAPACKe libraries. */
#undef HAVE_LAPACKE
/* Define to 1 if you have the `cblas' library (-lcblas). */ /* Define to 1 if you have the `cblas' library (-lcblas). */
#undef HAVE_LIBCBLAS #undef HAVE_LIBCBLAS
...@@ -119,6 +128,9 @@ ...@@ -119,6 +128,9 @@
/* Define if you have POSIX threads libraries and header files. */ /* Define if you have POSIX threads libraries and header files. */
#undef HAVE_PTHREAD #undef HAVE_PTHREAD
/* Define to 1 if you have the `setlinebuf' function. */
#undef HAVE_SETLINEBUF
/* Define to 1 if you have the `sincosf' function. */ /* Define to 1 if you have the `sincosf' function. */
#undef HAVE_SINCOSF #undef HAVE_SINCOSF
...@@ -144,6 +156,9 @@ ...@@ -144,6 +156,9 @@
/* Define to 1 if you have the `strstr' function. */ /* Define to 1 if you have the `strstr' function. */
#undef HAVE_STRSTR #undef HAVE_STRSTR
/* Define to 1 if you have the `sysconf' function. */
#undef HAVE_SYSCONF
/* Define to 1 if you have the <sys/mman.h> header file. */ /* Define to 1 if you have the <sys/mman.h> header file. */
#undef HAVE_SYS_MMAN_H #undef HAVE_SYS_MMAN_H
...@@ -162,10 +177,20 @@ ...@@ -162,10 +177,20 @@
/* Define to 1 if the system has the type `unsigned long long int'. */ /* Define to 1 if the system has the type `unsigned long long int'. */
#undef HAVE_UNSIGNED_LONG_LONG_INT #undef HAVE_UNSIGNED_LONG_LONG_INT
/* LAPACKe header filename. */
#undef LAPACKE_H
/* LAPACK header filename. */
#undef LAPACK_H
/* Define to 1 if `lstat' dereferences a symlink specified with a trailing /* Define to 1 if `lstat' dereferences a symlink specified with a trailing
slash. */ slash. */
#undef LSTAT_FOLLOWS_SLASHED_SYMLINK #undef LSTAT_FOLLOWS_SLASHED_SYMLINK
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#undef LT_OBJDIR
/* Name of package */ /* Name of package */
#undef PACKAGE #undef PACKAGE
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with SExtractor. If not, see <http://www.gnu.org/licenses/>. # along with SExtractor. If not, see <http://www.gnu.org/licenses/>.
# #
# Last modified: 03/06/2012 # Last modified: 09/07/2012
# #
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
...@@ -31,7 +31,7 @@ define([AC_CACHE_LOAD],) ...@@ -31,7 +31,7 @@ define([AC_CACHE_LOAD],)
define([AC_CACHE_SAVE],) define([AC_CACHE_SAVE],)
# This is your standard Bertin source code... # This is your standard Bertin source code...
AC_INIT(sextractor, 2.17.0, [bertin@iap.fr]) AC_INIT(sextractor, 2.18.0, [bertin@iap.fr])
AC_CONFIG_SRCDIR(src/makeit.c) AC_CONFIG_SRCDIR(src/makeit.c)
AC_CONFIG_AUX_DIR(autoconf) AC_CONFIG_AUX_DIR(autoconf)
AM_CONFIG_HEADER(config.h) AM_CONFIG_HEADER(config.h)
...@@ -47,6 +47,7 @@ AC_SUBST(DATE3, "$date3") ...@@ -47,6 +47,7 @@ AC_SUBST(DATE3, "$date3")
# Include macros # Include macros
sinclude(acx_atlas.m4) sinclude(acx_atlas.m4)
sinclude(acx_fftw.m4) sinclude(acx_fftw.m4)
sinclude(acx_mkl.m4)
sinclude(acx_prog_cc_optim.m4) sinclude(acx_prog_cc_optim.m4)
sinclude(acx_pthread.m4) sinclude(acx_pthread.m4)
sinclude(acx_urbi_resolve_dir.m4) sinclude(acx_urbi_resolve_dir.m4)
...@@ -54,11 +55,8 @@ sinclude(acx_urbi_resolve_dir.m4) ...@@ -54,11 +55,8 @@ sinclude(acx_urbi_resolve_dir.m4)
# Display pakage and version number # Display pakage and version number
AC_MSG_RESULT([*********** Configuring: $PACKAGE $VERSION ($date) **********]) AC_MSG_RESULT([*********** Configuring: $PACKAGE $VERSION ($date) **********])
# Initialize the list of compilers to consider
cclist="cc gcc"
# Provide special option for choosing automatically the compilation flags. # Provide special option for choosing automatically the compilation flags.
AC_MSG_CHECKING([if compilation flags are set automatically]) AC_MSG_CHECKING([if compilation flags should be set automatically])
AC_ARG_ENABLE(auto-flags, AC_ARG_ENABLE(auto-flags,
[AC_HELP_STRING([--enable-auto-flags], [AC_HELP_STRING([--enable-auto-flags],
[Let the configure script choose the compilation flags \ [Let the configure script choose the compilation flags \
...@@ -67,29 +65,36 @@ AC_ARG_ENABLE(auto-flags, ...@@ -67,29 +65,36 @@ AC_ARG_ENABLE(auto-flags,
AC_MSG_RESULT([no])) AC_MSG_RESULT([no]))
# Provide special option for the Linux Intel C compiler # Provide special option for the Linux Intel C compiler
AC_MSG_CHECKING([for Linux Intel C compiler mode]) AC_MSG_CHECKING([whether we should use the INTEL compiler])
AC_ARG_ENABLE(icc, AC_ARG_ENABLE(icc,
[AC_HELP_STRING([--enable-icc], [AC_HELP_STRING([--enable-icc],
[Enable special mode for compilation with the Intel compiler \ [Enable special mode for compilation with the Intel compiler \
(off by default)])], (off by default)])],
cclist="icc $cclist" CC="icc"
AC_MSG_RESULT([yes]),
AC_MSG_RESULT([no]))
# Provide special options for INTEL MKL
# We force the use of icc
AC_MSG_CHECKING([whether we should use INTEL's MKL])
AC_ARG_ENABLE(mkl,
[AS_HELP_STRING([--enable-mkl],
[Use INTEL's MKL for solvers and FFTs (off by default)])],
enable_icc="yes"
CC="icc"
AC_MSG_RESULT([yes]), AC_MSG_RESULT([yes]),
AC_MSG_RESULT([no])) AC_MSG_RESULT([no]))
# Checks for programs. # Checks for programs.
# GCC is chosen last because it is likely to yield less optimized code
AC_LANG(C) AC_LANG(C)
AC_PROG_CC([$cclist])
# C Compiler: Check that it is ANSI C and POSIX-compliant AC_SEARCH_LIBS([strerror],[cposix])
AM_PROG_CC_STDC
AC_ISC_POSIX
# Override automatic CFLAGS and LDFLAGS with those of user
if test "$enable_auto_flags" = "yes"; then if test "$enable_auto_flags" = "yes"; then
CFLAGS="" CFLAGS=""
LDFLAGS="" LDFLAGS=""
ACX_PROG_CC_OPTIM ACX_PROG_CC_OPTIM
fi fi
AC_PROG_LIBTOOL LT_INIT
AC_PROG_INSTALL AC_PROG_INSTALL
# Checks for libraries. # Checks for libraries.
...@@ -99,6 +104,7 @@ AC_CHECK_LIB(m, sin) ...@@ -99,6 +104,7 @@ AC_CHECK_LIB(m, sin)
AC_HEADER_STDC AC_HEADER_STDC
AC_CHECK_HEADERS([fcntl.h limits.h malloc.h stdlib.h string.h sys/mman.h \ AC_CHECK_HEADERS([fcntl.h limits.h malloc.h stdlib.h string.h sys/mman.h \
sys/types.h unistd.h]) sys/types.h unistd.h])
# Checks for INTEL math header files.
if test "$enable_icc" = "yes" -a "$CC" = "icc"; then if test "$enable_icc" = "yes" -a "$CC" = "icc"; then
AC_CHECK_HEADERS(mathimf.h) AC_CHECK_HEADERS(mathimf.h)
fi fi
...@@ -114,72 +120,54 @@ AC_TYPE_UID_T ...@@ -114,72 +120,54 @@ AC_TYPE_UID_T
# Checks for library functions. # Checks for library functions.
AC_FUNC_ERROR_AT_LINE AC_FUNC_ERROR_AT_LINE
#AC_FUNC_MALLOC
AC_FUNC_MMAP AC_FUNC_MMAP
AC_TYPE_SIGNAL AC_TYPE_SIGNAL
AC_FUNC_STAT AC_FUNC_STAT
AC_FUNC_STRFTIME AC_FUNC_STRFTIME
AC_CHECK_FUNCS([atexit getenv memcpy memmove memset mkdir munmap strstr \ AC_CHECK_FUNCS([atexit logf getenv gettimeofday memcpy memmove memset mkdir \
sincosf logf gettimeofday posix_memalign]) munmap posix_memalign setlinebuf sincosf strstr sysconf])
AC_CHECK_FUNC([isnan], AC_DEFINE_UNQUOTED([HAVE_ISNAN2], 1,
[Second isnan check]))
# Check support for large files # Check support for large files
AC_SYS_LARGEFILE AC_SYS_LARGEFILE
AC_FUNC_FSEEKO AC_FUNC_FSEEKO
# Set the data directory to a true absolute path
datadir2=$(URBI_RESOLVE_DIR([$datadir]))
# Provide special options for ATLAS # Provide special options for ATLAS
AC_ARG_WITH(atlas, AC_ARG_WITH(atlas,
[AC_HELP_STRING([--with-atlas=<ATLAS library path>], [AC_HELP_STRING([--with-atlas=<ATLAS library path>],
[Provide an alternative path to the ATLAS library])], [Provide an alternative path to the ATLAS library])])
atlas_libdir=$withval,
atlas_libdir=""
)
AC_ARG_WITH(atlas-incdir, AC_ARG_WITH(atlas-incdir,
[AC_HELP_STRING([--with-atlas-incdir=<ATLAS include dir>], [AC_HELP_STRING([--with-atlas-incdir=<ATLAS include dir>],
[Provide an alternative path to the ATLAS include directory])], [Provide an alternative path to the ATLAS include directory])])
atlas_incdir=$withval,
atlas_incdir=""
)
# Provide special options for FFTW # Provide special options for FFTW
AC_ARG_WITH(fftw, AC_ARG_WITH(fftw,
[AC_HELP_STRING([--with-fftw=<FFTW library path>], [AC_HELP_STRING([--with-fftw=<FFTW library path>],
[Provide an alternative path to the FFTW library])], [Provide an alternative path to the FFTW library])])
fftw_libdir=$withval,
fftw_libdir=""
)
AC_ARG_WITH(fftw-incdir, AC_ARG_WITH(fftw-incdir,
[AC_HELP_STRING([--with-fftw-incdir=<FFTW include dir>], [AC_HELP_STRING([--with-fftw-incdir=<FFTW include dir>],
[Provide an alternative path to the FFTW include directory])], [Provide an alternative path to the FFTW include directory])])
fftw_incdir=$withval,
fftw_incdir=""
)
# Provide a special option for the default XSLT URL # Provide a special option for the default XSLT URL
with_xsl_url="file://"$(URBI_RESOLVE_DIR([$datadir]))"/$PACKAGE_NAME/$PACKAGE_NAME.xsl"
AC_ARG_WITH(xsl_url, AC_ARG_WITH(xsl_url,
[AC_HELP_STRING([--with-xsl_url=<default URL for XSLT filter>], [AC_HELP_STRING([--with-xsl_url=<default URL for XSLT filter>],
[Provide an alternative default URL of the XSLT filter])], [Provide an alternative default URL of the XSLT filter])])
[xsl_url=$withval],
[xsl_url="file://$datadir2/$PACKAGE_NAME/$PACKAGE_NAME.xsl"]
)
AC_DEFINE_UNQUOTED([XSL_URL], "$xsl_url",[Default URL of the XSLT filter]) AC_DEFINE_UNQUOTED([XSL_URL], "$with_xsl_url",[Default URL of the XSLT filter])
# Provide special option to disable model-fitting (enabled by default) # Provide special option to disable model-fitting (enabled by default)
enable_model_fitting="yes"
AC_MSG_CHECKING([if model-fitting should be disabled]) AC_MSG_CHECKING([if model-fitting should be disabled])
AC_ARG_ENABLE([model-fitting], AC_ARG_ENABLE([model-fitting],
[AC_HELP_STRING([--disable-model-fitting], [AC_HELP_STRING([--disable-model-fitting],
[Disable model-fitting and ATLAS/FFTW dependency \ [Disable model-fitting and library dependencies (enabled by default)])],
(enabled by default)])], if test "$enable_model_fitting" = "no"; then
[use_model="$enableval"], AC_MSG_RESULT([yes])
[use_model="yes"]) else
if test "$use_model" = "no"; then AC_MSG_RESULT([no])
AC_MSG_RESULT([yes]) fi)
else
AC_MSG_RESULT([no])
fi
# Set flags for multithreading # Set flags for multithreading
n_pthreads=16 n_pthreads=16
...@@ -219,13 +207,13 @@ the executable as portable as possible (off by default)])], ...@@ -219,13 +207,13 @@ the executable as portable as possible (off by default)])],
############# Actions to complete if model-fitting is activated ############## ############# Actions to complete if model-fitting is activated ##############
AC_MSG_CHECKING([for model-fitting configure option]) AC_MSG_CHECKING([for model-fitting configure option])
if test "$use_model" = "yes"; then if test "$enable_model_fitting" = "yes"; then
AC_MSG_RESULT([enabled]) AC_MSG_RESULT([enabled])
AC_DEFINE(USE_MODEL, 1, [Triggers model-fitting and linking with ATLAS/FFTW]) AC_DEFINE(USE_MODEL, 1, [Triggers model-fitting and linking with ATLAS/FFTW])
else else
AC_MSG_RESULT([disabled]) AC_MSG_RESULT([disabled])
fi fi
AM_CONDITIONAL(USE_MODEL, [test $use_model = "yes"]) AM_CONDITIONAL(USE_MODEL, [test $enable_model_fitting = "yes"])
################# Actions to complete in case of multhreading ################ ################# Actions to complete in case of multhreading ################
AC_DEFINE_UNQUOTED(THREADS_NMAX, $n_pthreads,[Maximum number of POSIX threads]) AC_DEFINE_UNQUOTED(THREADS_NMAX, $n_pthreads,[Maximum number of POSIX threads])
...@@ -241,31 +229,30 @@ if test "$use_pthreads" = "yes"; then ...@@ -241,31 +229,30 @@ if test "$use_pthreads" = "yes"; then
fi fi
AM_CONDITIONAL(USE_THREADS, [test $use_pthreads = "yes"]) AM_CONDITIONAL(USE_THREADS, [test $use_pthreads = "yes"])
################ handle the FFTW library (Fourier transforms) ################ if test "$enable_model_fitting" = "yes"; then
if test "$use_model" = "yes"; then ############ handle the INTEL MKL library (FFTW + LAPACK) ###########
ACX_FFTW($fftw_libdir,$fftw_incdir,$use_pthreads,yes, if test "$enable_mkl" = "yes"; then
[use_fftw=yes],[use_fftw=no]) ACX_MKL()
if test "$use_fftw" = "yes"; then if test "$MKL_WARN" != ""; then
LIBS="$FFTW_LIBS $LIBS" AC_MSG_WARN([$MKL_WARN])
if test "$FFTW_WARN" != ""; then
AC_MSG_WARN([$FFTW_WARN])
fi fi
AM_CFLAGS="$AM_CFLAGS $MKL_CFLAGS "
LIBS="$MKL_LIBS $LIBS"
else else
AC_MSG_ERROR([$FFTW_ERROR Exiting.]) ################ handle the FFTW library (Fourier transforms) ################
fi ACX_FFTW($with_fftw_libdir,$with_fftw_incdir,$use_pthreads,yes,
fi LIBS="$FFTW_LIBS $LIBS"
if test "$FFTW_WARN" != ""; then
AC_MSG_WARN([$FFTW_WARN])
fi,
AC_MSG_ERROR([$FFTW_ERROR Exiting.]))
################## handle the ATLAS library(linear algebra) ################## ################## handle the ATLAS library(linear algebra) ##################
if test "$use_model" = "yes"; then ACX_ATLAS($with_atlas_libdir,$with_atlas_incdir,$use_pthreads,
ACX_ATLAS($atlas_libdir,$atlas_incdir,$use_pthreads, LIBS="$ATLAS_LIBS $LIBS"
[use_atlas=yes],[use_atlas=no]) if test "$ATLAS_WARN" != ""; then
if test "$use_atlas" = "yes"; then AC_MSG_WARN([$ATLAS_WARN])
LIBS="$ATLAS_LIB $LIBS" fi,
if test "$ATLAS_WARN" != ""; then AC_MSG_ERROR([$ATLAS_ERROR Exiting.]))
AC_MSG_WARN([$ATLAS_WARN])
fi
else
AC_MSG_ERROR([$ATLAS_ERROR Exiting.])
fi fi
fi fi
...@@ -281,7 +268,12 @@ fi ...@@ -281,7 +268,12 @@ fi
# "Best" linking option # "Best" linking option
if test "$enable_best_link" = "yes"; then if test "$enable_best_link" = "yes"; then
AM_LDFLAGS="-shared-libgcc -static-libtool-libs $AM_LDFLAGS" if test "$enable_icc" = "yes"; then
AM_LDFLAGS="-static-intel -openmp-link static -shared-libgcc \
-static-libtool-libs -avoid-version $AM_LDFLAGS"
else
AM_LDFLAGS="-shared-libgcc -static-libtool-libs -avoid-version $AM_LDFLAGS"
fi
fi fi
AC_SUBST(AM_CFLAGS) AC_SUBST(AM_CFLAGS)
......
# Makefile.in generated by automake 1.10.1 from Makefile.am. # Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
...@@ -43,8 +44,9 @@ ...@@ -43,8 +44,9 @@
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
VPATH = @srcdir@ VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c install_sh_PROGRAM = $(install_sh) -c
...@@ -64,7 +66,8 @@ DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.am \ ...@@ -64,7 +66,8 @@ DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/sex.1.in $(srcdir)/Makefile.in $(srcdir)/sex.1.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acx_atlas.m4 \ am__aclocal_m4_deps = $(top_srcdir)/acx_atlas.m4 \
$(top_srcdir)/acx_fftw.m4 $(top_srcdir)/acx_prog_cc_optim.m4 \ $(top_srcdir)/acx_fftw.m4 $(top_srcdir)/acx_mkl.m4 \
$(top_srcdir)/acx_prog_cc_optim.m4 \
$(top_srcdir)/acx_pthread.m4 \ $(top_srcdir)/acx_pthread.m4 \
$(top_srcdir)/acx_urbi_resolve_dir.m4 \ $(top_srcdir)/acx_urbi_resolve_dir.m4 \
$(top_srcdir)/configure.ac $(top_srcdir)/configure.ac
...@@ -73,8 +76,30 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ ...@@ -73,8 +76,30 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(SHELL) $(top_srcdir)/autoconf/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/autoconf/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = sex.1 CONFIG_CLEAN_FILES = sex.1
CONFIG_CLEAN_VPATH_FILES =
SOURCES = SOURCES =
DIST_SOURCES = DIST_SOURCES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
man1dir = $(mandir)/man1 man1dir = $(mandir)/man1
am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(manxdir)" am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(manxdir)"
manxdir = $(mandir)/manx manxdir = $(mandir)/manx
...@@ -89,8 +114,8 @@ AM_LDFLAGS = @AM_LDFLAGS@ ...@@ -89,8 +114,8 @@ AM_LDFLAGS = @AM_LDFLAGS@
AR = @AR@ AR = @AR@
ATLAS_CFLAGS = @ATLAS_CFLAGS@ ATLAS_CFLAGS = @ATLAS_CFLAGS@
ATLAS_ERROR = @ATLAS_ERROR@ ATLAS_ERROR = @ATLAS_ERROR@
ATLAS_LIB = @ATLAS_LIB@
ATLAS_LIBPATH = @ATLAS_LIBPATH@ ATLAS_LIBPATH = @ATLAS_LIBPATH@
ATLAS_LIBS = @ATLAS_LIBS@
ATLAS_WARN = @ATLAS_WARN@ ATLAS_WARN = @ATLAS_WARN@
AUTOCONF = @AUTOCONF@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
...@@ -101,47 +126,56 @@ CCDEPMODE = @CCDEPMODE@ ...@@ -101,47 +126,56 @@ CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@ CFLAGS = @CFLAGS@
CPP = @CPP@ CPP = @CPP@
CPPFLAGS = @CPPFLAGS@ CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@ CYGPATH_W = @CYGPATH_W@
DATE2 = @DATE2@ DATE2 = @DATE2@
DATE3 = @DATE3@ DATE3 = @DATE3@
DEFS = @DEFS@ DEFS = @DEFS@
DEPDIR = @DEPDIR@ DEPDIR = @DEPDIR@
ECHO = @ECHO@ DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@ ECHO_T = @ECHO_T@
EGREP = @EGREP@ EGREP = @EGREP@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
FFTW_ERROR = @FFTW_ERROR@ FFTW_ERROR = @FFTW_ERROR@
FFTW_LIBS = @FFTW_LIBS@ FFTW_LIBS = @FFTW_LIBS@
FFTW_WARN = @FFTW_WARN@ FFTW_WARN = @FFTW_WARN@
FGREP = @FGREP@
GREP = @GREP@ GREP = @GREP@
INSTALL = @INSTALL@ INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@ LIBOBJS = @LIBOBJS@
LIBS = @LIBS@ LIBS = @LIBS@
LIBTOOL = @LIBTOOL@ LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@ LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@ LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@ MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@ MKDIR_P = @MKDIR_P@
MKL_CFLAGS = @MKL_CFLAGS@
MKL_LIBS = @MKL_LIBS@
MKL_WARN = @MKL_WARN@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@ OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
PACKAGER = @PACKAGER@ PACKAGER = @PACKAGER@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@ PATH_SEPARATOR = @PATH_SEPARATOR@
PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CC = @PTHREAD_CC@
...@@ -157,9 +191,9 @@ abs_builddir = @abs_builddir@ ...@@ -157,9 +191,9 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@ abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@ abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@ ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_F77 = @ac_ct_F77@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
...@@ -213,14 +247,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) ...@@ -213,14 +247,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \ @for dep in $?; do \
case '$(am__configure_deps)' in \ case '$(am__configure_deps)' in \
*$$dep*) \ *$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& exit 0; \ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \ exit 1;; \
esac; \ esac; \
done; \ done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/Makefile'; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/Makefile'; \
cd $(top_srcdir) && \ $(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign man/Makefile $(AUTOMAKE) --gnu man/Makefile
.PRECIOUS: Makefile .PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \ @case '$?' in \
...@@ -238,6 +272,7 @@ $(top_srcdir)/configure: $(am__configure_deps) ...@@ -238,6 +272,7 @@ $(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps) $(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
sex.1: $(top_builddir)/config.status $(srcdir)/sex.1.in sex.1: $(top_builddir)/config.status $(srcdir)/sex.1.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
...@@ -246,96 +281,82 @@ mostlyclean-libtool: ...@@ -246,96 +281,82 @@ mostlyclean-libtool:
clean-libtool: clean-libtool:
-rm -rf .libs _libs -rm -rf .libs _libs
install-man1: $(man1_MANS) $(man_MANS) install-man1: $(dist_man_MANS)
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)" test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ @list=''; test -n "$(man1dir)" || exit 0; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ { for i in $$list; do echo "$$i"; done; \
for i in $$l2; do \ l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
case "$$i" in \ sed -n '/\.1[a-z]*$$/p'; \
*.1*) list="$$list $$i" ;; \ } | while read p; do \
esac; \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; echo "$$p"; \
done | \
sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
sed 'N;N;s,\n, ,g' | { \
list=; while read file base inst; do \
if test "$$base" = "$$inst"; then list="$$list $$file"; else \
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
fi; \
done; \ done; \
for i in $$list; do \ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ while read files; do \
else file=$$i; fi; \ test -z "$$files" || { \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
case "$$ext" in \ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
1*) ;; \ done; }
*) ext='1' ;; \
esac; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
done
uninstall-man1: uninstall-man1:
@$(NORMAL_UNINSTALL) @$(NORMAL_UNINSTALL)
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ @list=''; test -n "$(man1dir)" || exit 0; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ files=`{ for i in $$list; do echo "$$i"; done; \
for i in $$l2; do \ l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
case "$$i" in \ sed -n '/\.1[a-z]*$$/p'; \
*.1*) list="$$list $$i" ;; \ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
esac; \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
done; \ test -z "$$files" || { \
for i in $$list; do \ echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \ cd "$(DESTDIR)$(man1dir)" && rm -f $$files; }
case "$$ext" in \ install-manx: $(dist_man_MANS)
1*) ;; \
*) ext='1' ;; \
esac; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
done
install-manx: $(manx_MANS) $(man_MANS)
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
test -z "$(manxdir)" || $(MKDIR_P) "$(DESTDIR)$(manxdir)" test -z "$(manxdir)" || $(MKDIR_P) "$(DESTDIR)$(manxdir)"
@list='$(manx_MANS) $(dist_manx_MANS) $(nodist_manx_MANS)'; \ @list=''; test -n "$(manxdir)" || exit 0; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ { for i in $$list; do echo "$$i"; done; \
for i in $$l2; do \ l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
case "$$i" in \ sed -n '/\.x[a-z]*$$/p'; \
*.x*) list="$$list $$i" ;; \ } | while read p; do \
esac; \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; echo "$$p"; \
done | \
sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^x][0-9a-z]*$$,x,;x' \
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
sed 'N;N;s,\n, ,g' | { \
list=; while read file base inst; do \
if test "$$base" = "$$inst"; then list="$$list $$file"; else \
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(manxdir)/$$inst'"; \
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(manxdir)/$$inst" || exit $$?; \
fi; \
done; \ done; \
for i in $$list; do \ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ while read files; do \
else file=$$i; fi; \ test -z "$$files" || { \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(manxdir)'"; \
case "$$ext" in \ $(INSTALL_DATA) $$files "$(DESTDIR)$(manxdir)" || exit $$?; }; \
x*) ;; \ done; }
*) ext='x' ;; \
esac; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(manxdir)/$$inst'"; \
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(manxdir)/$$inst"; \
done
uninstall-manx: uninstall-manx:
@$(NORMAL_UNINSTALL) @$(NORMAL_UNINSTALL)
@list='$(manx_MANS) $(dist_manx_MANS) $(nodist_manx_MANS)'; \ @list=''; test -n "$(manxdir)" || exit 0; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ files=`{ for i in $$list; do echo "$$i"; done; \
for i in $$l2; do \ l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
case "$$i" in \ sed -n '/\.x[a-z]*$$/p'; \
*.x*) list="$$list $$i" ;; \ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^x][0-9a-z]*$$,x,;x' \
esac; \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
done; \ test -z "$$files" || { \
for i in $$list; do \ echo " ( cd '$(DESTDIR)$(manxdir)' && rm -f" $$files ")"; \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \ cd "$(DESTDIR)$(manxdir)" && rm -f $$files; }
case "$$ext" in \
x*) ;; \
*) ext='x' ;; \
esac; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " rm -f '$(DESTDIR)$(manxdir)/$$inst'"; \
rm -f "$(DESTDIR)$(manxdir)/$$inst"; \
done
tags: TAGS tags: TAGS
TAGS: TAGS:
...@@ -344,6 +365,19 @@ CTAGS: ...@@ -344,6 +365,19 @@ CTAGS:
distdir: $(DISTFILES) distdir: $(DISTFILES)
@list='$(MANS)'; if test -n "$$list"; then \
list=`for p in $$list; do \
if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
if test -n "$$list" && \
grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \
echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \
echo " typically \`make maintainer-clean' will remove them" >&2; \
exit 1; \
else :; fi; \
else :; fi
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \ list='$(DISTFILES)'; \
...@@ -359,13 +393,17 @@ distdir: $(DISTFILES) ...@@ -359,13 +393,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \ if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \ fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \ else \
test -f $(distdir)/$$file \ test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file $(distdir)/$$file \ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \ || exit 1; \
fi; \ fi; \
done done
...@@ -396,6 +434,7 @@ clean-generic: ...@@ -396,6 +434,7 @@ clean-generic:
distclean-generic: distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
...@@ -414,6 +453,8 @@ dvi-am: ...@@ -414,6 +453,8 @@ dvi-am:
html: html-am html: html-am
html-am:
info: info-am info: info-am
info-am: info-am:
...@@ -422,18 +463,28 @@ install-data-am: install-man ...@@ -422,18 +463,28 @@ install-data-am: install-man
install-dvi: install-dvi-am install-dvi: install-dvi-am
install-dvi-am:
install-exec-am: install-exec-am:
install-html: install-html-am install-html: install-html-am
install-html-am:
install-info: install-info-am install-info: install-info-am
install-info-am:
install-man: install-man1 install-manx install-man: install-man1 install-manx
install-pdf: install-pdf-am install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am install-ps: install-ps-am
install-ps-am:
installcheck-am: installcheck-am:
maintainer-clean: maintainer-clean-am maintainer-clean: maintainer-clean-am
...@@ -471,6 +522,7 @@ uninstall-man: uninstall-man1 uninstall-manx ...@@ -471,6 +522,7 @@ uninstall-man: uninstall-man1 uninstall-manx
ps ps-am uninstall uninstall-am uninstall-man uninstall-man1 \ ps ps-am uninstall uninstall-am uninstall-man uninstall-man1 \
uninstall-manx uninstall-manx
# Tell versions [3.59,3.63) of GNU make to not export all variables. # 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. # Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT: .NOEXPORT:
.TH SEXTRACTOR "1" "June 2012" "SExtractor 2.17.0" "User Commands" .TH SEXTRACTOR "1" "July 2012" "SExtractor 2.18.0" "User Commands"
.SH NAME .SH NAME
sex \- extract a source catalogue from an astronomical FITS image sex \- extract a source catalogue from an astronomical FITS image
.SH SYNOPSIS .SH SYNOPSIS
......
# Makefile.in generated by automake 1.10.1 from Makefile.am. # Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
...@@ -44,8 +45,9 @@ ...@@ -44,8 +45,9 @@
VPATH = @srcdir@ VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c install_sh_PROGRAM = $(install_sh) -c
...@@ -66,7 +68,8 @@ subdir = src ...@@ -66,7 +68,8 @@ subdir = src
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acx_atlas.m4 \ am__aclocal_m4_deps = $(top_srcdir)/acx_atlas.m4 \
$(top_srcdir)/acx_fftw.m4 $(top_srcdir)/acx_prog_cc_optim.m4 \ $(top_srcdir)/acx_fftw.m4 $(top_srcdir)/acx_mkl.m4 \
$(top_srcdir)/acx_prog_cc_optim.m4 \
$(top_srcdir)/acx_pthread.m4 \ $(top_srcdir)/acx_pthread.m4 \
$(top_srcdir)/acx_urbi_resolve_dir.m4 \ $(top_srcdir)/acx_urbi_resolve_dir.m4 \
$(top_srcdir)/configure.ac $(top_srcdir)/configure.ac
...@@ -75,8 +78,8 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ ...@@ -75,8 +78,8 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(SHELL) $(top_srcdir)/autoconf/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/autoconf/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)" am__installdirs = "$(DESTDIR)$(bindir)"
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
PROGRAMS = $(bin_PROGRAMS) PROGRAMS = $(bin_PROGRAMS)
am_ldactoasc_OBJECTS = ldactoasc.$(OBJEXT) am_ldactoasc_OBJECTS = ldactoasc.$(OBJEXT)
ldactoasc_OBJECTS = $(am_ldactoasc_OBJECTS) ldactoasc_OBJECTS = $(am_ldactoasc_OBJECTS)
...@@ -114,6 +117,7 @@ sex_DEPENDENCIES = $(top_builddir)/src/fits/libfits.a \ ...@@ -114,6 +117,7 @@ sex_DEPENDENCIES = $(top_builddir)/src/fits/libfits.a \
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/autoconf/depcomp depcomp = $(SHELL) $(top_srcdir)/autoconf/depcomp
am__depfiles_maybe = depfiles am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
...@@ -134,10 +138,38 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ ...@@ -134,10 +138,38 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
ps-recursive uninstall-recursive ps-recursive uninstall-recursive
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive distclean-recursive maintainer-clean-recursive
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
distdir
ETAGS = etags ETAGS = etags
CTAGS = ctags CTAGS = ctags
DIST_SUBDIRS = fits levmar wcs DIST_SUBDIRS = fits levmar wcs
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
am__relativize = \
dir0=`pwd`; \
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
sed_rest='s,^[^/]*/*,,'; \
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
sed_butlast='s,/*[^/]*$$,,'; \
while test -n "$$dir1"; do \
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
if test "$$first" != "."; then \
if test "$$first" = ".."; then \
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
else \
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
if test "$$first2" = "$$first"; then \
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
else \
dir2="../$$dir2"; \
fi; \
dir0="$$dir0"/"$$first"; \
fi; \
fi; \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@ AMTAR = @AMTAR@
AM_CFLAGS = @AM_CFLAGS@ AM_CFLAGS = @AM_CFLAGS@
...@@ -146,8 +178,8 @@ AM_LDFLAGS = @AM_LDFLAGS@ ...@@ -146,8 +178,8 @@ AM_LDFLAGS = @AM_LDFLAGS@
AR = @AR@ AR = @AR@
ATLAS_CFLAGS = @ATLAS_CFLAGS@ ATLAS_CFLAGS = @ATLAS_CFLAGS@
ATLAS_ERROR = @ATLAS_ERROR@ ATLAS_ERROR = @ATLAS_ERROR@
ATLAS_LIB = @ATLAS_LIB@
ATLAS_LIBPATH = @ATLAS_LIBPATH@ ATLAS_LIBPATH = @ATLAS_LIBPATH@
ATLAS_LIBS = @ATLAS_LIBS@
ATLAS_WARN = @ATLAS_WARN@ ATLAS_WARN = @ATLAS_WARN@
AUTOCONF = @AUTOCONF@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
...@@ -158,47 +190,56 @@ CCDEPMODE = @CCDEPMODE@ ...@@ -158,47 +190,56 @@ CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@ CFLAGS = @CFLAGS@
CPP = @CPP@ CPP = @CPP@
CPPFLAGS = @CPPFLAGS@ CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@ CYGPATH_W = @CYGPATH_W@
DATE2 = @DATE2@ DATE2 = @DATE2@
DATE3 = @DATE3@ DATE3 = @DATE3@
DEFS = @DEFS@ DEFS = @DEFS@
DEPDIR = @DEPDIR@ DEPDIR = @DEPDIR@
ECHO = @ECHO@ DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@ ECHO_T = @ECHO_T@
EGREP = @EGREP@ EGREP = @EGREP@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
FFTW_ERROR = @FFTW_ERROR@ FFTW_ERROR = @FFTW_ERROR@
FFTW_LIBS = @FFTW_LIBS@ FFTW_LIBS = @FFTW_LIBS@
FFTW_WARN = @FFTW_WARN@ FFTW_WARN = @FFTW_WARN@
FGREP = @FGREP@
GREP = @GREP@ GREP = @GREP@
INSTALL = @INSTALL@ INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@ LIBOBJS = @LIBOBJS@
LIBS = @LIBS@ LIBS = @LIBS@
LIBTOOL = @LIBTOOL@ LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@ LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@ LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@ MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@ MKDIR_P = @MKDIR_P@
MKL_CFLAGS = @MKL_CFLAGS@
MKL_LIBS = @MKL_LIBS@
MKL_WARN = @MKL_WARN@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@ OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
PACKAGER = @PACKAGER@ PACKAGER = @PACKAGER@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@ PATH_SEPARATOR = @PATH_SEPARATOR@
PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CC = @PTHREAD_CC@
...@@ -214,9 +255,9 @@ abs_builddir = @abs_builddir@ ...@@ -214,9 +255,9 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@ abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@ abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@ ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_F77 = @ac_ct_F77@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
...@@ -300,14 +341,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) ...@@ -300,14 +341,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \ @for dep in $?; do \
case '$(am__configure_deps)' in \ case '$(am__configure_deps)' in \
*$$dep*) \ *$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& exit 0; \ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \ exit 1;; \
esac; \ esac; \
done; \ done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
cd $(top_srcdir) && \ $(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign src/Makefile $(AUTOMAKE) --gnu src/Makefile
.PRECIOUS: Makefile .PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \ @case '$?' in \
...@@ -325,41 +366,59 @@ $(top_srcdir)/configure: $(am__configure_deps) ...@@ -325,41 +366,59 @@ $(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps) $(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-binPROGRAMS: $(bin_PROGRAMS) install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
@list='$(bin_PROGRAMS)'; for p in $$list; do \ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ for p in $$list; do echo "$$p $$p"; done | \
if test -f $$p \ sed 's/$(EXEEXT)$$//' | \
|| test -f $$p1 \ while read p p1; do if test -f $$p || test -f $$p1; \
; then \ then echo "$$p"; echo "$$p"; else :; fi; \
f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ done | \
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
else :; fi; \ sed 'N;N;N;s,\n, ,g' | \
done $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) files[d] = files[d] " " $$1; \
else { print "f", $$3 "/" $$4, $$1; } } \
END { for (d in files) print "f", d, files[d] }' | \
while read type dir files; do \
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
test -z "$$files" || { \
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
} \
; done
uninstall-binPROGRAMS: uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL) @$(NORMAL_UNINSTALL)
@list='$(bin_PROGRAMS)'; for p in $$list; do \ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ files=`for p in $$list; do echo "$$p"; done | \
echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
rm -f "$(DESTDIR)$(bindir)/$$f"; \ -e 's/$$/$(EXEEXT)/' `; \
done test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(bindir)" && rm -f $$files
clean-binPROGRAMS: clean-binPROGRAMS:
@list='$(bin_PROGRAMS)'; for p in $$list; do \ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \
echo " rm -f $$p $$f"; \ rm -f $$list || exit $$?; \
rm -f $$p $$f ; \ test -n "$(EXEEXT)" || exit 0; \
done list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
clean-checkPROGRAMS: clean-checkPROGRAMS:
@list='$(check_PROGRAMS)'; for p in $$list; do \ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \
echo " rm -f $$p $$f"; \ rm -f $$list || exit $$?; \
rm -f $$p $$f ; \ test -n "$(EXEEXT)" || exit 0; \
done list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
ldactoasc$(EXEEXT): $(ldactoasc_OBJECTS) $(ldactoasc_DEPENDENCIES) ldactoasc$(EXEEXT): $(ldactoasc_OBJECTS) $(ldactoasc_DEPENDENCIES)
@rm -f ldactoasc$(EXEEXT) @rm -f ldactoasc$(EXEEXT)
$(LINK) $(ldactoasc_OBJECTS) $(ldactoasc_LDADD) $(LIBS) $(LINK) $(ldactoasc_OBJECTS) $(ldactoasc_LDADD) $(LIBS)
...@@ -416,21 +475,21 @@ distclean-compile: ...@@ -416,21 +475,21 @@ distclean-compile:
.c.o: .c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $< @am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj: .c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo: .c.lo:
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
...@@ -448,7 +507,7 @@ clean-libtool: ...@@ -448,7 +507,7 @@ clean-libtool:
# (which will cause the Makefiles to be regenerated when you run `make'); # (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line. # (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS): $(RECURSIVE_TARGETS):
@failcom='exit 1'; \ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \ for f in x $$MAKEFLAGS; do \
case $$f in \ case $$f in \
*=* | --[!k]*);; \ *=* | --[!k]*);; \
...@@ -465,7 +524,7 @@ $(RECURSIVE_TARGETS): ...@@ -465,7 +524,7 @@ $(RECURSIVE_TARGETS):
else \ else \
local_target="$$target"; \ local_target="$$target"; \
fi; \ fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \ || eval $$failcom; \
done; \ done; \
if test "$$dot_seen" = "no"; then \ if test "$$dot_seen" = "no"; then \
...@@ -473,7 +532,7 @@ $(RECURSIVE_TARGETS): ...@@ -473,7 +532,7 @@ $(RECURSIVE_TARGETS):
fi; test -z "$$fail" fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS): $(RECURSIVE_CLEAN_TARGETS):
@failcom='exit 1'; \ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \ for f in x $$MAKEFLAGS; do \
case $$f in \ case $$f in \
*=* | --[!k]*);; \ *=* | --[!k]*);; \
...@@ -499,16 +558,16 @@ $(RECURSIVE_CLEAN_TARGETS): ...@@ -499,16 +558,16 @@ $(RECURSIVE_CLEAN_TARGETS):
else \ else \
local_target="$$target"; \ local_target="$$target"; \
fi; \ fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \ || eval $$failcom; \
done && test -z "$$fail" done && test -z "$$fail"
tags-recursive: tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \ list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done done
ctags-recursive: ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \ list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
...@@ -516,14 +575,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ...@@ -516,14 +575,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \ unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \ done | \
$(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \ END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique mkid -fID $$unique
tags: TAGS tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
tags=; \ set x; \
here=`pwd`; \ here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \ include_option=--etags-include; \
...@@ -535,7 +594,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ...@@ -535,7 +594,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
list='$(SUBDIRS)'; for subdir in $$list; do \ list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \ if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \ test ! -f $$subdir/TAGS || \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \ fi; \
done; \ done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
...@@ -544,29 +603,34 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ...@@ -544,29 +603,34 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \ done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \ END { if (nonempty) { for (i in files) print i; }; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \ test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ if test $$# -gt 0; then \
$$tags $$unique; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi fi
ctags: CTAGS ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \ done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \ END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique $$unique
GTAGS: GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \ here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \ && $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
...@@ -587,29 +651,44 @@ distdir: $(DISTFILES) ...@@ -587,29 +651,44 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \ if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \ fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \ else \
test -f $(distdir)/$$file \ test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file $(distdir)/$$file \ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \ || exit 1; \
fi; \ fi; \
done done
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \ if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \ test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \ || exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \ fi; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ done
(cd $$subdir && \ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
dir1=$$subdir; dir2="$(top_distdir)"; \
$(am__relativize); \
new_top_distdir=$$reldir; \
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \ $(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$top_distdir" \ top_distdir="$$new_top_distdir" \
distdir="$$distdir/$$subdir" \ distdir="$$new_distdir" \
am__remove_distdir=: \ am__remove_distdir=: \
am__skip_length_check=: \ am__skip_length_check=: \
am__skip_mode_fix=: \
distdir) \ distdir) \
|| exit 1; \ || exit 1; \
fi; \ fi; \
...@@ -643,6 +722,7 @@ clean-generic: ...@@ -643,6 +722,7 @@ clean-generic:
distclean-generic: distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
...@@ -664,6 +744,8 @@ dvi-am: ...@@ -664,6 +744,8 @@ dvi-am:
html: html-recursive html: html-recursive
html-am:
info: info-recursive info: info-recursive
info-am: info-am:
...@@ -672,18 +754,28 @@ install-data-am: ...@@ -672,18 +754,28 @@ install-data-am:
install-dvi: install-dvi-recursive install-dvi: install-dvi-recursive
install-dvi-am:
install-exec-am: install-binPROGRAMS install-exec-am: install-binPROGRAMS
install-html: install-html-recursive install-html: install-html-recursive
install-html-am:
install-info: install-info-recursive install-info: install-info-recursive
install-info-am:
install-man: install-man:
install-pdf: install-pdf-recursive install-pdf: install-pdf-recursive
install-pdf-am:
install-ps: install-ps-recursive install-ps: install-ps-recursive
install-ps-am:
installcheck-am: installcheck-am:
maintainer-clean: maintainer-clean-recursive maintainer-clean: maintainer-clean-recursive
...@@ -706,8 +798,8 @@ ps-am: ...@@ -706,8 +798,8 @@ ps-am:
uninstall-am: uninstall-binPROGRAMS uninstall-am: uninstall-binPROGRAMS
.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) check-am \
install-strip ctags-recursive install-am install-strip tags-recursive
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am check check-am clean clean-binPROGRAMS \ all all-am check check-am clean clean-binPROGRAMS \
...@@ -725,6 +817,7 @@ uninstall-am: uninstall-binPROGRAMS ...@@ -725,6 +817,7 @@ uninstall-am: uninstall-binPROGRAMS
pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
uninstall-binPROGRAMS uninstall-binPROGRAMS
# Tell versions [3.59,3.63) of GNU make to not export all variables. # 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. # Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT: .NOEXPORT:
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* This file part of: SExtractor * This file part of: SExtractor
* *
* Copyright: (C) 2007-2010 Emmanuel Bertin -- IAP/CNRS/UPMC * Copyright: (C) 2007-2012 Emmanuel Bertin -- IAP/CNRS/UPMC
* *
* License: GNU General Public License * License: GNU General Public License
* *
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with SExtractor. If not, see <http://www.gnu.org/licenses/>. * along with SExtractor. If not, see <http://www.gnu.org/licenses/>.
* *
* Last modified: 11/10/2010 * Last modified: 09/07/2012
* *
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ *%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
...@@ -30,11 +30,16 @@ ...@@ -30,11 +30,16 @@
#include "config.h" #include "config.h"
#endif #endif
#ifdef USE_THREADS
#include <pthread.h>
#endif
#include <math.h> #include <math.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#ifndef FFTW3_H
#include FFTW_H #include FFTW_H
#endif
#include "define.h" #include "define.h"
#include "globals.h" #include "globals.h"
...@@ -45,12 +50,12 @@ ...@@ -45,12 +50,12 @@
#endif #endif
fftwf_plan fplan, bplan; fftwf_plan fplan, bplan;
int firsttimeflag; int firsttimeflag;
#ifdef USE_THREADS #ifdef USE_THREADS
pthread_mutex_t fftmutex; pthread_mutex_t fftmutex;
#endif #endif
fftwf_complex *fdata1; fftwf_complex *fdata1;
#define SWAP(a,b) tempr=(a);(a)=(b);(b)=tempr
/****** fft_init ************************************************************ /****** fft_init ************************************************************
PROTO void fft_init(void) PROTO void fft_init(void)
...@@ -66,15 +71,12 @@ void fft_init(int nthreads) ...@@ -66,15 +71,12 @@ void fft_init(int nthreads)
if (!firsttimeflag) if (!firsttimeflag)
{ {
#ifdef USE_THREADS #ifdef USE_THREADS
QPTHREAD_MUTEX_INIT(&fftmutex, NULL);
#ifdef HAVE_FFTW_MP
if (nthreads > 1) if (nthreads > 1)
{ {
if (!fftw_init_threads()) if (!fftw_init_threads())
error(EXIT_FAILURE, "*Error*: thread initialization failed in ", "FFTW"); error(EXIT_FAILURE, "*Error*: thread initialization failed in ", "FFTW");
fftwf_plan_with_nthreads(prefs.nthreads); fftwf_plan_with_nthreads(prefs.nthreads);
} }
#endif
#endif #endif
firsttimeflag = 1; firsttimeflag = 1;
} }
...@@ -98,12 +100,6 @@ void fft_end(void) ...@@ -98,12 +100,6 @@ void fft_end(void)
if (firsttimeflag) if (firsttimeflag)
{ {
firsttimeflag = 0; firsttimeflag = 0;
#ifdef USE_THREADS
#ifdef HAVE_FFTW_MP
fftwf_cleanup_threads();
#endif
QPTHREAD_MUTEX_DESTROY(&fftmutex);
#endif
fftwf_cleanup(); fftwf_cleanup();
} }
...@@ -145,7 +141,7 @@ OUTPUT -. ...@@ -145,7 +141,7 @@ OUTPUT -.
NOTES For data1 and fdata2, memory must be allocated for NOTES For data1 and fdata2, memory must be allocated for
size[0]* ... * 2*(size[naxis-1]/2+1) floats (padding required). size[0]* ... * 2*(size[naxis-1]/2+1) floats (padding required).
AUTHOR E. Bertin (IAP) AUTHOR E. Bertin (IAP)
VERSION 01/12/2009 VERSION 09/07/2012
***/ ***/
void fft_conv(float *data1, float *fdata2, int *size) void fft_conv(float *data1, float *fdata2, int *size)
{ {
...@@ -155,38 +151,23 @@ void fft_conv(float *data1, float *fdata2, int *size) ...@@ -155,38 +151,23 @@ void fft_conv(float *data1, float *fdata2, int *size)
/* Convert axis indexing to that of FFTW */ /* Convert axis indexing to that of FFTW */
npix = size[0]*size[1]; npix = size[0]*size[1];
npix2 = (((size[0]/2) + 1)*2) * size[1]; npix2 = ((size[0]/2) + 1) * size[1];
/* Forward FFT "in place" for data1 */ /* Forward FFT "in place" for data1 */
#ifdef USE_THREADS
QPTHREAD_MUTEX_LOCK(&fftmutex);
#endif
if (!fplan) if (!fplan)
{ {
QFFTWMALLOC(fdata1, fftwf_complex, npix2); QFFTWMALLOC(fdata1, fftwf_complex, npix2);
fplan = fftwf_plan_dft_r2c_2d(size[1], size[0], data1, fplan = fftwf_plan_dft_r2c_2d(size[1], size[0], data1,
(fftwf_complex *)fdata1, FFTW_ESTIMATE); (fftwf_complex *)fdata1, FFTW_ESTIMATE);
} }
#ifdef USE_THREADS
QPTHREAD_MUTEX_UNLOCK(&fftmutex);
#endif
fftwf_execute_dft_r2c(fplan, data1, fdata1);
// fftwf_execute(plan); fftwf_execute_dft_r2c(fplan, data1, fdata1);
#ifdef USE_THREADS
QPTHREAD_MUTEX_LOCK(&fftmutex);
#endif
// fftwf_destroy_plan(plan);
#ifdef USE_THREADS
QPTHREAD_MUTEX_UNLOCK(&fftmutex);
#endif
/* Actual convolution (Fourier product) */ /* Actual convolution (Fourier product) */
fac = 1.0/npix; fac = 1.0/npix;
fdata1p = (float *)fdata1; fdata1p = (float *)fdata1;
fdata2p = fdata2; fdata2p = fdata2;
for (i=npix2/2; i--; fdata2p+=2) for (i=npix2; i--; fdata2p+=2)
{ {
real = *fdata1p **fdata2p - *(fdata1p+1)**(fdata2p+1); real = *fdata1p **fdata2p - *(fdata1p+1)**(fdata2p+1);
imag = *(fdata1p+1)**fdata2p + *fdata1p**(fdata2p+1); imag = *(fdata1p+1)**fdata2p + *fdata1p**(fdata2p+1);
...@@ -195,27 +176,13 @@ void fft_conv(float *data1, float *fdata2, int *size) ...@@ -195,27 +176,13 @@ void fft_conv(float *data1, float *fdata2, int *size)
} }
/* Reverse FFT */ /* Reverse FFT */
#ifdef USE_THREADS
QPTHREAD_MUTEX_LOCK(&fftmutex);
#endif
if (!bplan) if (!bplan)
bplan = fftwf_plan_dft_c2r_2d(size[1], size[0], (fftwf_complex *)fdata1, bplan = fftwf_plan_dft_c2r_2d(size[1], size[0], (fftwf_complex *)fdata1,
data1, FFTW_ESTIMATE); data1, FFTW_ESTIMATE);
#ifdef USE_THREADS
QPTHREAD_MUTEX_UNLOCK(&fftmutex);
#endif
fftwf_execute_dft_c2r(bplan, fdata1, data1); fftwf_execute_dft_c2r(bplan, fdata1, data1);
// fftwf_execute(plan); // fftwf_execute(plan);
#ifdef USE_THREADS
QPTHREAD_MUTEX_LOCK(&fftmutex);
#endif
// fftwf_destroy_plan(plan);
/* Free the fdata1 scratch array */
#ifdef USE_THREADS
QPTHREAD_MUTEX_UNLOCK(&fftmutex);
#endif
return; return;
} }
...@@ -241,23 +208,10 @@ float *fft_rtf(float *data, int *size) ...@@ -241,23 +208,10 @@ float *fft_rtf(float *data, int *size)
npix2 = ((size[0]/2) + 1) * size[1]; npix2 = ((size[0]/2) + 1) * size[1];
/* Forward FFT "in place" for data1 */ /* Forward FFT "in place" for data1 */
#ifdef USE_THREADS
QPTHREAD_MUTEX_LOCK(&fftmutex);
#endif
QFFTWMALLOC(fdata, fftwf_complex, npix2); QFFTWMALLOC(fdata, fftwf_complex, npix2);
plan = fftwf_plan_dft_r2c_2d(size[1], size[0], data, plan = fftwf_plan_dft_r2c_2d(size[1], size[0], data, fdata, FFTW_ESTIMATE);
fdata, FFTW_ESTIMATE);
#ifdef USE_THREADS
QPTHREAD_MUTEX_UNLOCK(&fftmutex);
#endif
fftwf_execute(plan); fftwf_execute(plan);
#ifdef USE_THREADS
QPTHREAD_MUTEX_LOCK(&fftmutex);
#endif
fftwf_destroy_plan(plan); fftwf_destroy_plan(plan);
#ifdef USE_THREADS
QPTHREAD_MUTEX_UNLOCK(&fftmutex);
#endif
return (float *)fdata; return (float *)fdata;
} }
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* This file part of: SExtractor * This file part of: SExtractor
* *
* Copyright: (C) 2007-2010 Emmanuel Bertin -- IAP/CNRS/UPMC * Copyright: (C) 2007-2012 Emmanuel Bertin -- IAP/CNRS/UPMC
* *
* License: GNU General Public License * License: GNU General Public License
* *
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with SExtractor. If not, see <http://www.gnu.org/licenses/>. * along with SExtractor. If not, see <http://www.gnu.org/licenses/>.
* *
* Last modified: 11/10/2010 * Last modified: 09/07/2012
* *
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ *%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
/*---------------------------------- protos --------------------------------*/ /*---------------------------------- protos --------------------------------*/
extern void fft_conv(float *data1, float *fdata2, int *size), extern void fft_conv(float *data1, float *fdata2, int *size),
fft_end(), fft_end(void),
fft_init(int nthreads), fft_init(int nthreads),
fft_reset(void); fft_reset(void);
......
# Makefile.in generated by automake 1.10.1 from Makefile.am. # Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
...@@ -45,8 +46,9 @@ ...@@ -45,8 +46,9 @@
VPATH = @srcdir@ VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c install_sh_PROGRAM = $(install_sh) -c
...@@ -65,7 +67,8 @@ subdir = src/fits ...@@ -65,7 +67,8 @@ subdir = src/fits
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acx_atlas.m4 \ am__aclocal_m4_deps = $(top_srcdir)/acx_atlas.m4 \
$(top_srcdir)/acx_fftw.m4 $(top_srcdir)/acx_prog_cc_optim.m4 \ $(top_srcdir)/acx_fftw.m4 $(top_srcdir)/acx_mkl.m4 \
$(top_srcdir)/acx_prog_cc_optim.m4 \
$(top_srcdir)/acx_pthread.m4 \ $(top_srcdir)/acx_pthread.m4 \
$(top_srcdir)/acx_urbi_resolve_dir.m4 \ $(top_srcdir)/acx_urbi_resolve_dir.m4 \
$(top_srcdir)/configure.ac $(top_srcdir)/configure.ac
...@@ -74,6 +77,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ ...@@ -74,6 +77,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(SHELL) $(top_srcdir)/autoconf/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/autoconf/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
LIBRARIES = $(noinst_LIBRARIES) LIBRARIES = $(noinst_LIBRARIES)
ARFLAGS = cru ARFLAGS = cru
libfits_a_AR = $(AR) $(ARFLAGS) libfits_a_AR = $(AR) $(ARFLAGS)
...@@ -87,6 +91,7 @@ libfits_a_OBJECTS = $(am_libfits_a_OBJECTS) ...@@ -87,6 +91,7 @@ libfits_a_OBJECTS = $(am_libfits_a_OBJECTS)
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/autoconf/depcomp depcomp = $(SHELL) $(top_srcdir)/autoconf/depcomp
am__depfiles_maybe = depfiles am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
...@@ -109,8 +114,8 @@ AM_LDFLAGS = @AM_LDFLAGS@ ...@@ -109,8 +114,8 @@ AM_LDFLAGS = @AM_LDFLAGS@
AR = @AR@ AR = @AR@
ATLAS_CFLAGS = @ATLAS_CFLAGS@ ATLAS_CFLAGS = @ATLAS_CFLAGS@
ATLAS_ERROR = @ATLAS_ERROR@ ATLAS_ERROR = @ATLAS_ERROR@
ATLAS_LIB = @ATLAS_LIB@
ATLAS_LIBPATH = @ATLAS_LIBPATH@ ATLAS_LIBPATH = @ATLAS_LIBPATH@
ATLAS_LIBS = @ATLAS_LIBS@
ATLAS_WARN = @ATLAS_WARN@ ATLAS_WARN = @ATLAS_WARN@
AUTOCONF = @AUTOCONF@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
...@@ -121,47 +126,56 @@ CCDEPMODE = @CCDEPMODE@ ...@@ -121,47 +126,56 @@ CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@ CFLAGS = @CFLAGS@
CPP = @CPP@ CPP = @CPP@
CPPFLAGS = @CPPFLAGS@ CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@ CYGPATH_W = @CYGPATH_W@
DATE2 = @DATE2@ DATE2 = @DATE2@
DATE3 = @DATE3@ DATE3 = @DATE3@
DEFS = @DEFS@ DEFS = @DEFS@
DEPDIR = @DEPDIR@ DEPDIR = @DEPDIR@
ECHO = @ECHO@ DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@ ECHO_T = @ECHO_T@
EGREP = @EGREP@ EGREP = @EGREP@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
FFTW_ERROR = @FFTW_ERROR@ FFTW_ERROR = @FFTW_ERROR@
FFTW_LIBS = @FFTW_LIBS@ FFTW_LIBS = @FFTW_LIBS@
FFTW_WARN = @FFTW_WARN@ FFTW_WARN = @FFTW_WARN@
FGREP = @FGREP@
GREP = @GREP@ GREP = @GREP@
INSTALL = @INSTALL@ INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@ LIBOBJS = @LIBOBJS@
LIBS = @LIBS@ LIBS = @LIBS@
LIBTOOL = @LIBTOOL@ LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@ LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@ LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@ MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@ MKDIR_P = @MKDIR_P@
MKL_CFLAGS = @MKL_CFLAGS@
MKL_LIBS = @MKL_LIBS@
MKL_WARN = @MKL_WARN@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@ OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
PACKAGER = @PACKAGER@ PACKAGER = @PACKAGER@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@ PATH_SEPARATOR = @PATH_SEPARATOR@
PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CC = @PTHREAD_CC@
...@@ -177,9 +191,9 @@ abs_builddir = @abs_builddir@ ...@@ -177,9 +191,9 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@ abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@ abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@ ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_F77 = @ac_ct_F77@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
...@@ -239,14 +253,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) ...@@ -239,14 +253,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \ @for dep in $?; do \
case '$(am__configure_deps)' in \ case '$(am__configure_deps)' in \
*$$dep*) \ *$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& exit 0; \ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \ exit 1;; \
esac; \ esac; \
done; \ done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/fits/Makefile'; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/fits/Makefile'; \
cd $(top_srcdir) && \ $(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign src/fits/Makefile $(AUTOMAKE) --gnu src/fits/Makefile
.PRECIOUS: Makefile .PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \ @case '$?' in \
...@@ -264,6 +278,7 @@ $(top_srcdir)/configure: $(am__configure_deps) ...@@ -264,6 +278,7 @@ $(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps) $(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
clean-noinstLIBRARIES: clean-noinstLIBRARIES:
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
...@@ -293,21 +308,21 @@ distclean-compile: ...@@ -293,21 +308,21 @@ distclean-compile:
.c.o: .c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $< @am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj: .c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo: .c.lo:
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
...@@ -323,14 +338,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ...@@ -323,14 +338,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \ unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \ done | \
$(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \ END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique mkid -fID $$unique
tags: TAGS tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
tags=; \ set x; \
here=`pwd`; \ here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
...@@ -338,29 +353,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ...@@ -338,29 +353,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \ done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \ END { if (nonempty) { for (i in files) print i; }; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \ test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ if test $$# -gt 0; then \
$$tags $$unique; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi fi
ctags: CTAGS ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \ done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \ END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique $$unique
GTAGS: GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \ here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \ && $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
...@@ -381,13 +401,17 @@ distdir: $(DISTFILES) ...@@ -381,13 +401,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \ if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \ fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \ else \
test -f $(distdir)/$$file \ test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file $(distdir)/$$file \ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \ || exit 1; \
fi; \ fi; \
done done
...@@ -415,6 +439,7 @@ clean-generic: ...@@ -415,6 +439,7 @@ clean-generic:
distclean-generic: distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
...@@ -436,6 +461,8 @@ dvi-am: ...@@ -436,6 +461,8 @@ dvi-am:
html: html-am html: html-am
html-am:
info: info-am info: info-am
info-am: info-am:
...@@ -444,18 +471,28 @@ install-data-am: ...@@ -444,18 +471,28 @@ install-data-am:
install-dvi: install-dvi-am install-dvi: install-dvi-am
install-dvi-am:
install-exec-am: install-exec-am:
install-html: install-html-am install-html: install-html-am
install-html-am:
install-info: install-info-am install-info: install-info-am
install-info-am:
install-man: install-man:
install-pdf: install-pdf-am install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am install-ps: install-ps-am
install-ps-am:
installcheck-am: installcheck-am:
maintainer-clean: maintainer-clean-am maintainer-clean: maintainer-clean-am
...@@ -493,6 +530,7 @@ uninstall-am: ...@@ -493,6 +530,7 @@ uninstall-am:
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
pdf pdf-am ps ps-am tags uninstall uninstall-am pdf pdf-am ps ps-am tags uninstall uninstall-am
# Tell versions [3.59,3.63) of GNU make to not export all variables. # 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. # Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT: .NOEXPORT:
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
* *
* This file part of: AstrOmatic software * This file part of: AstrOmatic software
* *
* Copyright: (C) 2007-2010 Emmanuel Bertin -- IAP/CNRS/UPMC * Copyright: (C) 2007-2012 Emmanuel Bertin -- IAP/CNRS/UPMC
* (C) 2004 Manolis Lourakis (original version) * (C) 2004-2011 Manolis Lourakis (orig. version)
* *
* Licenses: GNU General Public License * Licenses: GNU General Public License
* *
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
* along with AstrOmatic software. * along with AstrOmatic software.
* If not, see <http://www.gnu.org/licenses/>. * If not, see <http://www.gnu.org/licenses/>.
* *
* Last modified: 25/10/2010 * Last modified: 09/07/2012
* *
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ *%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
...@@ -54,6 +54,7 @@ ...@@ -54,6 +54,7 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h>
#include <math.h> #include <math.h>
#include "levmar.h" #include "levmar.h"
......
...@@ -76,7 +76,11 @@ ...@@ -76,7 +76,11 @@
#define GESDD LM_MK_LAPACK_NAME(gesdd) #define GESDD LM_MK_LAPACK_NAME(gesdd)
#define SYTRF LM_MK_LAPACK_NAME(sytrf) #define SYTRF LM_MK_LAPACK_NAME(sytrf)
#define SYTRS LM_MK_LAPACK_NAME(sytrs) #define SYTRS LM_MK_LAPACK_NAME(sytrs)
#define PLASMA_POSV LM_CAT_(PLASMA_, LM_ADD_PREFIX(posv))
#ifdef __cplusplus
extern "C" {
#endif
/* QR decomposition */ /* QR decomposition */
extern int GEQRF(int *m, int *n, LM_REAL *a, int *lda, LM_REAL *tau, LM_REAL *work, int *lwork, int *info); extern int GEQRF(int *m, int *n, LM_REAL *a, int *lda, LM_REAL *tau, LM_REAL *work, int *lwork, int *info);
extern int ORGQR(int *m, int *n, int *k, LM_REAL *a, int *lda, LM_REAL *tau, LM_REAL *work, int *lwork, int *info); extern int ORGQR(int *m, int *n, int *k, LM_REAL *a, int *lda, LM_REAL *tau, LM_REAL *work, int *lwork, int *info);
...@@ -106,6 +110,9 @@ extern int GESDD(char *jobz, int *m, int *n, LM_REAL *a, int *lda, LM_REAL *s, L ...@@ -106,6 +110,9 @@ extern int GESDD(char *jobz, int *m, int *n, LM_REAL *a, int *lda, LM_REAL *s, L
/* LDLt/UDUt factorization and systems solution */ /* LDLt/UDUt factorization and systems solution */
extern int SYTRF(char *uplo, int *n, LM_REAL *a, int *lda, int *ipiv, LM_REAL *work, int *lwork, int *info); extern int SYTRF(char *uplo, int *n, LM_REAL *a, int *lda, int *ipiv, LM_REAL *work, int *lwork, int *info);
extern int SYTRS(char *uplo, int *n, int *nrhs, LM_REAL *a, int *lda, int *ipiv, LM_REAL *b, int *ldb, int *info); extern int SYTRS(char *uplo, int *n, int *nrhs, LM_REAL *a, int *lda, int *ipiv, LM_REAL *b, int *ldb, int *info);
#ifdef __cplusplus
}
#endif
/* precision-specific definitions */ /* precision-specific definitions */
#define AX_EQ_B_QR LM_ADD_PREFIX(Ax_eq_b_QR) #define AX_EQ_B_QR LM_ADD_PREFIX(Ax_eq_b_QR)
...@@ -114,6 +121,7 @@ extern int SYTRS(char *uplo, int *n, int *nrhs, LM_REAL *a, int *lda, int *ipiv, ...@@ -114,6 +121,7 @@ extern int SYTRS(char *uplo, int *n, int *nrhs, LM_REAL *a, int *lda, int *ipiv,
#define AX_EQ_B_LU LM_ADD_PREFIX(Ax_eq_b_LU) #define AX_EQ_B_LU LM_ADD_PREFIX(Ax_eq_b_LU)
#define AX_EQ_B_SVD LM_ADD_PREFIX(Ax_eq_b_SVD) #define AX_EQ_B_SVD LM_ADD_PREFIX(Ax_eq_b_SVD)
#define AX_EQ_B_BK LM_ADD_PREFIX(Ax_eq_b_BK) #define AX_EQ_B_BK LM_ADD_PREFIX(Ax_eq_b_BK)
#define AX_EQ_B_PLASMA_CHOL LM_ADD_PREFIX(Ax_eq_b_PLASMA_Chol)
/* /*
* This function returns the solution of Ax = b * This function returns the solution of Ax = b
...@@ -221,8 +229,7 @@ register LM_REAL sum; ...@@ -221,8 +229,7 @@ register LM_REAL sum;
} }
/* R is stored in the upper triangular part of a; copy it in r so that ORGQR() below won't destroy it */ /* R is stored in the upper triangular part of a; copy it in r so that ORGQR() below won't destroy it */
for(i=0; i<r_sz; i++) memcpy(r, a, r_sz*sizeof(LM_REAL));
r[i]=a[i];
/* compute Q using the elementary reflectors computed by the above decomposition */ /* compute Q using the elementary reflectors computed by the above decomposition */
ORGQR((int *)&m, (int *)&m, (int *)&m, a, (int *)&m, tau, work, (int *)&worksz, (int *)&info); ORGQR((int *)&m, (int *)&m, (int *)&m, a, (int *)&m, tau, work, (int *)&worksz, (int *)&info);
...@@ -450,9 +457,9 @@ register LM_REAL sum; ...@@ -450,9 +457,9 @@ register LM_REAL sum;
* *
* The function assumes that A is symmetric & postive definite and employs * The function assumes that A is symmetric & postive definite and employs
* the Cholesky decomposition: * the Cholesky decomposition:
* If A=U^T U with U upper triangular, the system to be solved becomes * If A=L L^T with L lower triangular, the system to be solved becomes
* (U^T U) x = b * (L L^T) x = b
* This amount to solving U^T y = b for y and then U x = y for x * This amounts to solving L y = b for y and then L^T x = y for x
* *
* A is mxm, b is mx1 * A is mxm, b is mx1
* *
...@@ -470,7 +477,6 @@ __STATIC__ int buf_sz=0; ...@@ -470,7 +477,6 @@ __STATIC__ int buf_sz=0;
LM_REAL *a; LM_REAL *a;
int a_sz, tot_sz; int a_sz, tot_sz;
register int i;
int info, nrhs=1; int info, nrhs=1;
if(!A) if(!A)
...@@ -510,21 +516,17 @@ int info, nrhs=1; ...@@ -510,21 +516,17 @@ int info, nrhs=1;
} }
#endif /* LINSOLVERS_RETAIN_MEMORY */ #endif /* LINSOLVERS_RETAIN_MEMORY */
a=buf; a=buf;
/* store A into a and B into x. A is assumed symmetric, /* store A into a and B into x. A is assumed symmetric,
* hence no transposition is needed * hence no transposition is needed
*/ */
for(i=0; i<m; i++){ memcpy(a, A, a_sz*sizeof(LM_REAL));
a[i]=A[i]; memcpy(x, B, m*sizeof(LM_REAL));
x[i]=B[i];
}
for(i=m; i<m*m; i++)
a[i]=A[i];
/* Cholesky decomposition of A */ /* Cholesky decomposition of A */
//POTF2("U", (int *)&m, a, (int *)&m, (int *)&info); //POTF2("L", (int *)&m, a, (int *)&m, (int *)&info);
POTRF("U", (int *)&m, a, (int *)&m, (int *)&info); POTRF("L", (int *)&m, a, (int *)&m, (int *)&info);
/* error treatment */ /* error treatment */
if(info!=0){ if(info!=0){
if(info<0){ if(info<0){
...@@ -543,15 +545,15 @@ int info, nrhs=1; ...@@ -543,15 +545,15 @@ int info, nrhs=1;
} }
/* solve using the computed Cholesky in one lapack call */ /* solve using the computed Cholesky in one lapack call */
POTRS("U", (int *)&m, (int *)&nrhs, a, (int *)&m, x, (int *)&m, &info); POTRS("L", (int *)&m, (int *)&nrhs, a, (int *)&m, x, (int *)&m, &info);
if(info<0){ if(info<0){
fprintf(stderr, RCAT(RCAT("LAPACK error: illegal value for argument %d of ", POTRS) " in ", AX_EQ_B_CHOL) "()\n", -info); fprintf(stderr, RCAT(RCAT("LAPACK error: illegal value for argument %d of ", POTRS) " in ", AX_EQ_B_CHOL) "()\n", -info);
exit(1); exit(1);
} }
#if 0 #if 0
/* alternative: solve the linear system U^T y = b ... */ /* alternative: solve the linear system L y = b ... */
TRTRS("U", "T", "N", (int *)&m, (int *)&nrhs, a, (int *)&m, x, (int *)&m, &info); TRTRS("L", "N", "N", (int *)&m, (int *)&nrhs, a, (int *)&m, x, (int *)&m, &info);
/* error treatment */ /* error treatment */
if(info!=0){ if(info!=0){
if(info<0){ if(info<0){
...@@ -568,8 +570,8 @@ int info, nrhs=1; ...@@ -568,8 +570,8 @@ int info, nrhs=1;
} }
} }
/* ... solve the linear system U x = y */ /* ... solve the linear system L^T x = y */
TRTRS("U", "N", "N", (int *)&m, (int *)&nrhs, a, (int *)&m, x, (int *)&m, &info); TRTRS("L", "T", "N", (int *)&m, (int *)&nrhs, a, (int *)&m, x, (int *)&m, &info);
/* error treatment */ /* error treatment */
if(info!=0){ if(info!=0){
if(info<0){ if(info<0){
...@@ -594,6 +596,155 @@ int info, nrhs=1; ...@@ -594,6 +596,155 @@ int info, nrhs=1;
return 1; return 1;
} }
#ifdef HAVE_PLASMA
/* Linear algebra using PLASMA parallel library for multicore CPUs.
* http://icl.cs.utk.edu/plasma/
*
* WARNING: BLAS multithreading should be disabled, e.g. setenv MKL_NUM_THREADS 1
*/
#ifndef _LM_PLASMA_MISC_
/* avoid multiple inclusion of helper code */
#define _LM_PLASMA_MISC_
#include <plasma.h>
#include <cblas.h>
#include <lapacke.h>
#include <plasma_tmg.h>
#include <core_blas.h>
/* programmatically determine the number of cores on the current machine */
#ifdef _WIN32
#include <windows.h>
#elif __linux
#include <unistd.h>
#endif
static int getnbcores()
{
#ifdef _WIN32
SYSTEM_INFO sysinfo;
GetSystemInfo(&sysinfo);
return sysinfo.dwNumberOfProcessors;
#elif __linux
return sysconf(_SC_NPROCESSORS_ONLN);
#else // unknown system
return 2<<1; // will be halved by right shift below
#endif
}
static int PLASMA_ncores=-(getnbcores()>>1); // >0 if PLASMA initialized, <0 otherwise
/* user-specified number of cores */
void levmar_PLASMA_setnbcores(int cores)
{
PLASMA_ncores=(cores>0)? -cores : ((cores)? cores : -2);
}
#endif /* _LM_PLASMA_MISC_ */
/*
* This function returns the solution of Ax=b
*
* The function assumes that A is symmetric & positive definite and employs the
* Cholesky decomposition implemented by PLASMA for homogeneous multicore processors.
*
* A is mxm, b is mx1
*
* The function returns 0 in case of error, 1 if successfull
*
* This function is often called repetitively to solve problems of identical
* dimensions. To avoid repetitive malloc's and free's, allocated memory is
* retained between calls and free'd-malloc'ed when not of the appropriate size.
* A call with NULL as the first argument forces this memory to be released.
*/
int AX_EQ_B_PLASMA_CHOL(LM_REAL *A, LM_REAL *B, LM_REAL *x, int m)
{
__STATIC__ LM_REAL *buf=NULL;
__STATIC__ int buf_sz=0;
LM_REAL *a;
int a_sz, tot_sz;
int info, nrhs=1;
if(A==NULL){
#ifdef LINSOLVERS_RETAIN_MEMORY
if(buf) free(buf);
buf=NULL;
buf_sz=0;
#endif /* LINSOLVERS_RETAIN_MEMORY */
PLASMA_Finalize();
PLASMA_ncores=-PLASMA_ncores;
return 1;
}
/* calculate required memory size */
a_sz=m*m;
tot_sz=a_sz;
#ifdef LINSOLVERS_RETAIN_MEMORY
if(tot_sz>buf_sz){ /* insufficient memory, allocate a "big" memory chunk at once */
if(buf) free(buf); /* free previously allocated memory */
buf_sz=tot_sz;
buf=(LM_REAL *)malloc(buf_sz*sizeof(LM_REAL));
if(!buf){
fprintf(stderr, RCAT("memory allocation in ", AX_EQ_B_PLASMA_CHOL) "() failed!\n");
exit(1);
}
}
#else
buf_sz=tot_sz;
buf=(LM_REAL *)malloc(buf_sz*sizeof(LM_REAL));
if(!buf){
fprintf(stderr, RCAT("memory allocation in ", AX_EQ_B_PLASMA_CHOL) "() failed!\n");
exit(1);
}
#endif /* LINSOLVERS_RETAIN_MEMORY */
a=buf;
/* store A into a and B into x; A is assumed to be symmetric,
* hence no transposition is needed
*/
memcpy(a, A, a_sz*sizeof(LM_REAL));
memcpy(x, B, m*sizeof(LM_REAL));
/* initialize PLASMA */
if(PLASMA_ncores<0){
PLASMA_ncores=-PLASMA_ncores;
PLASMA_Init(PLASMA_ncores);
fprintf(stderr, RCAT("\n", AX_EQ_B_PLASMA_CHOL) "(): PLASMA is running on %d cores.\n\n", PLASMA_ncores);
}
/* Solve the linear system */
info=PLASMA_POSV(PlasmaLower, m, 1, a, m, x, m);
/* error treatment */
if(info!=0){
if(info<0){
fprintf(stderr, RCAT(RCAT("LAPACK error: illegal value for argument %d of ", PLASMA_POSV) " in ",
AX_EQ_B_PLASMA_CHOL) "()\n", -info);
exit(1);
}
else{
fprintf(stderr, RCAT(RCAT("LAPACK error: the leading minor of order %d is not positive definite,\n"
"the factorization could not be completed for ", PLASMA_POSV) " in ", AX_EQ_B_CHOL) "()\n", info);
#ifndef LINSOLVERS_RETAIN_MEMORY
free(buf);
#endif
return 0;
}
}
#ifndef LINSOLVERS_RETAIN_MEMORY
free(buf);
#endif
return 1;
}
#endif /* HAVE_PLASMA */
/* /*
* This function returns the solution of Ax = b * This function returns the solution of Ax = b
* *
...@@ -859,9 +1010,9 @@ int info, rank, worksz, *iwork, iworksz; ...@@ -859,9 +1010,9 @@ int info, rank, worksz, *iwork, iworksz;
/* /*
* This function returns the solution of Ax = b for a real symmetric matrix A * This function returns the solution of Ax = b for a real symmetric matrix A
* *
* The function is based on UDUT factorization with the pivoting * The function is based on LDLT factorization with the pivoting
* strategy of Bunch and Kaufman: * strategy of Bunch and Kaufman:
* A is factored as U*D*U^T where U is upper triangular and * A is factored as L*D*L^T where L is lower triangular and
* D symmetric and block diagonal (aka spectral decomposition, * D symmetric and block diagonal (aka spectral decomposition,
* Banachiewicz factorization, modified Cholesky factorization) * Banachiewicz factorization, modified Cholesky factorization)
* *
...@@ -881,7 +1032,6 @@ __STATIC__ int buf_sz=0, nb=0; ...@@ -881,7 +1032,6 @@ __STATIC__ int buf_sz=0, nb=0;
LM_REAL *a, *work; LM_REAL *a, *work;
int a_sz, ipiv_sz, work_sz, tot_sz; int a_sz, ipiv_sz, work_sz, tot_sz;
register int i, j;
int info, *ipiv, nrhs=1; int info, *ipiv, nrhs=1;
if(!A) if(!A)
...@@ -904,7 +1054,7 @@ int info, *ipiv, nrhs=1; ...@@ -904,7 +1054,7 @@ int info, *ipiv, nrhs=1;
LM_REAL tmp; LM_REAL tmp;
work_sz=-1; // workspace query; optimal size is returned in tmp work_sz=-1; // workspace query; optimal size is returned in tmp
SYTRF("U", (int *)&m, NULL, (int *)&m, NULL, (LM_REAL *)&tmp, (int *)&work_sz, (int *)&info); SYTRF("L", (int *)&m, NULL, (int *)&m, NULL, (LM_REAL *)&tmp, (int *)&work_sz, (int *)&info);
nb=((int)tmp)/m; // optimal worksize is m*nb nb=((int)tmp)/m; // optimal worksize is m*nb
} }
work_sz=(nb!=-1)? nb*m : 1; work_sz=(nb!=-1)? nb*m : 1;
...@@ -937,15 +1087,11 @@ int info, *ipiv, nrhs=1; ...@@ -937,15 +1087,11 @@ int info, *ipiv, nrhs=1;
/* store A into a and B into x; A is assumed to be symmetric, hence /* store A into a and B into x; A is assumed to be symmetric, hence
* the column and row major order representations are the same * the column and row major order representations are the same
*/ */
for(i=0; i<m; ++i){ memcpy(a, A, a_sz*sizeof(LM_REAL));
a[i]=A[i]; memcpy(x, B, m*sizeof(LM_REAL));
x[i]=B[i];
}
for(j=m*m; i<j; ++i) // copy remaining rows; note that i is not re-initialized
a[i]=A[i];
/* UDUt factorization for A */ /* LDLt factorization for A */
SYTRF("U", (int *)&m, a, (int *)&m, ipiv, work, (int *)&work_sz, (int *)&info); SYTRF("L", (int *)&m, a, (int *)&m, ipiv, work, (int *)&work_sz, (int *)&info);
if(info!=0){ if(info!=0){
if(info<0){ if(info<0){
fprintf(stderr, RCAT(RCAT("LAPACK error: illegal value for argument %d of ", SYTRF) " in ", AX_EQ_B_BK) "()\n", -info); fprintf(stderr, RCAT(RCAT("LAPACK error: illegal value for argument %d of ", SYTRF) " in ", AX_EQ_B_BK) "()\n", -info);
...@@ -962,7 +1108,7 @@ int info, *ipiv, nrhs=1; ...@@ -962,7 +1108,7 @@ int info, *ipiv, nrhs=1;
} }
/* solve the system with the computed factorization */ /* solve the system with the computed factorization */
SYTRS("U", (int *)&m, (int *)&nrhs, a, (int *)&m, ipiv, x, (int *)&m, (int *)&info); SYTRS("L", (int *)&m, (int *)&nrhs, a, (int *)&m, ipiv, x, (int *)&m, (int *)&info);
if(info<0){ if(info<0){
fprintf(stderr, RCAT(RCAT("LAPACK error: illegal value for argument %d of ", SYTRS) " in ", AX_EQ_B_BK) "()\n", -info); fprintf(stderr, RCAT(RCAT("LAPACK error: illegal value for argument %d of ", SYTRS) " in ", AX_EQ_B_BK) "()\n", -info);
exit(1); exit(1);
...@@ -982,6 +1128,7 @@ int info, *ipiv, nrhs=1; ...@@ -982,6 +1128,7 @@ int info, *ipiv, nrhs=1;
#undef AX_EQ_B_LU #undef AX_EQ_B_LU
#undef AX_EQ_B_SVD #undef AX_EQ_B_SVD
#undef AX_EQ_B_BK #undef AX_EQ_B_BK
#undef AX_EQ_B_PLASMA_CHOL
#undef GEQRF #undef GEQRF
#undef ORGQR #undef ORGQR
...@@ -995,31 +1142,29 @@ int info, *ipiv, nrhs=1; ...@@ -995,31 +1142,29 @@ int info, *ipiv, nrhs=1;
#undef GESDD #undef GESDD
#undef SYTRF #undef SYTRF
#undef SYTRS #undef SYTRS
#undef PLASMA_POSV
#else // no LAPACK #else // no LAPACK
/* precision-specific definitions */ /* precision-specific definitions */
/* Added by EB */ /* Added by EB */
#ifdef HAVE_CONFIG_H #ifdef HAVE_ATLAS
#include "config.h" #include ATLAS_LAPACK_H
#endif
#include ATLAS_LAPACK_H
#define ATLAS_POTRF LM_CAT_(clapack_, LM_ADD_PREFIX(potrf)) #define ATLAS_POTRF LM_CAT_(clapack_, LM_ADD_PREFIX(potrf))
#define ATLAS_POTRS LM_CAT_(clapack_, LM_ADD_PREFIX(potrs)) #define ATLAS_POTRS LM_CAT_(clapack_, LM_ADD_PREFIX(potrs))
#define GETRF LM_ADD_PREFIX(getrf_) #define GETRF LM_ADD_PREFIX(getrf_)
#define GETRS LM_ADD_PREFIX(getrs_) #define GETRS LM_ADD_PREFIX(getrs_)
extern int GETRF(int *m, int *n, LM_REAL *a, int *lda, int *ipiv, int *info); extern int GETRF(int *m, int *n, LM_REAL *a, int *lda, int *ipiv, int *info);
extern int GETRS(char *trans, int *n, int *nrhs, LM_REAL *a, int *lda, int *ipiv, LM_REAL *b, int *ldb, int *info); extern int GETRS(char *trans, int *n, int *nrhs, LM_REAL *a, int *lda, int *ipiv, LM_REAL *b, int *ldb, int *info);
#endif
/* End added by EB */ /* End added by EB */
#define AX_EQ_B_LU LM_ADD_PREFIX(Ax_eq_b_LU_noLapack) #define AX_EQ_B_LU LM_ADD_PREFIX(Ax_eq_b_LU_noLapack)
/* /*
* This function returns the solution of Ax = b * This function returns the solution of Ax = b
* *
* The function employs LU decomposition: * The function employs LU decomposition followed by forward/back substitution (see
* If A=L U with L lower and U upper triangular, then the original system * also the LAPACK-based LU solver above)
* amounts to solving
* L y = b, U x = y
* *
* A is mxm, b is mx1 * A is mxm, b is mx1
* *
...@@ -1032,14 +1177,13 @@ extern int GETRS(char *trans, int *n, int *nrhs, LM_REAL *a, int *lda, int *ipiv ...@@ -1032,14 +1177,13 @@ extern int GETRS(char *trans, int *n, int *nrhs, LM_REAL *a, int *lda, int *ipiv
*/ */
int AX_EQ_B_LU(LM_REAL *A, LM_REAL *B, LM_REAL *x, int m) int AX_EQ_B_LU(LM_REAL *A, LM_REAL *B, LM_REAL *x, int m)
{ {
__STATIC__ LM_REAL *buf=NULL; __STATIC__ void *buf=NULL;
__STATIC__ int buf_sz=0; __STATIC__ int buf_sz=0;
int a_sz, ipiv_sz, tot_sz; register int i, j, k;
register int i, j; int *idx, maxi=-1, idx_sz, a_sz, work_sz, tot_sz;
int info, *ipiv, nrhs=1; LM_REAL *a, *work, max, sum, tmp;
LM_REAL *a;
if(!A) if(!A)
#ifdef LINSOLVERS_RETAIN_MEMORY #ifdef LINSOLVERS_RETAIN_MEMORY
{ {
...@@ -1050,251 +1194,126 @@ LM_REAL *a; ...@@ -1050,251 +1194,126 @@ LM_REAL *a;
return 1; return 1;
} }
#else #else
return 1; /* NOP */ return 1; /* NOP */
#endif /* LINSOLVERS_RETAIN_MEMORY */ #endif /* LINSOLVERS_RETAIN_MEMORY */
/* calculate required memory size */ /* calculate required memory size */
ipiv_sz=m; idx_sz=m;
a_sz=m*m; a_sz=m*m;
tot_sz=a_sz*sizeof(LM_REAL) + ipiv_sz*sizeof(int); /* should be arranged in that order for proper doubles alignment */ work_sz=m;
tot_sz=(a_sz+work_sz)*sizeof(LM_REAL) + idx_sz*sizeof(int); /* should be arranged in that order for proper doubles alignment */
#ifdef LINSOLVERS_RETAIN_MEMORY #ifdef LINSOLVERS_RETAIN_MEMORY
if(tot_sz>buf_sz){ /* insufficient memory, allocate a "big" memory chunk at once */ if(tot_sz>buf_sz){ /* insufficient memory, allocate a "big" memory chunk at once */
if(buf) free(buf); /* free previously allocated memory */ if(buf) free(buf); /* free previously allocated memory */
buf_sz=tot_sz; buf_sz=tot_sz;
buf=(LM_REAL *)malloc(buf_sz); buf=(void *)malloc(tot_sz);
if(!buf){ if(!buf){
fprintf(stderr, RCAT("memory allocation in ", AX_EQ_B_LU) "() failed!\n"); fprintf(stderr, RCAT("memory allocation in ", AX_EQ_B_LU) "() failed!\n");
exit(1); exit(1);
}
} }
}
#else #else
buf_sz=tot_sz; buf_sz=tot_sz;
buf=(LM_REAL *)malloc(buf_sz); buf=(void *)malloc(tot_sz);
if(!buf){ if(!buf){
fprintf(stderr, RCAT("memory allocation in ", AX_EQ_B_LU) "() failed!\n"); fprintf(stderr, RCAT("memory allocation in ", AX_EQ_B_LU) "() failed!\n");
exit(1); exit(1);
}
#endif /* LINSOLVERS_RETAIN_MEMORY */
a=buf;
ipiv=(int *)(a+a_sz);
/* store A (column major!) into a and B into x */
for(i=0; i<m; i++){
for(j=0; j<m; j++)
a[i+j*m]=A[i*m+j];
x[i]=B[i];
} }
#endif /* LINSOLVERS_RETAIN_MEMORY */
/* LU decomposition for A */ a=buf;
//GETRF((int *)&m, (int *)&m, a, (int *)&m, ipiv, (int *)&info); work=a+a_sz;
info = ATLAS_POTRF(CblasRowMajor, CblasUpper, m, a, m); idx=(int *)(work+work_sz);
if(info!=0){
if(info<0){ /* avoid destroying A, B by copying them to a, x resp. */
fprintf(stderr, RCAT(RCAT("argument %d of ", GETRF) " illegal in ", AX_EQ_B_LU) "()\n", -info); memcpy(a, A, a_sz*sizeof(LM_REAL));
exit(1); memcpy(x, B, m*sizeof(LM_REAL));
}
else{ /* compute the LU decomposition of a row permutation of matrix a; the permutation itself is saved in idx[] */
// fprintf(stderr, RCAT(RCAT("singular matrix A for ", GETRF) " in ", AX_EQ_B_LU) "()\n"); for(i=0; i<m; ++i){
max=0.0;
for(j=0; j<m; ++j)
if((tmp=FABS(a[i*m+j]))>max)
max=tmp;
if(max==0.0){
fprintf(stderr, RCAT("Singular matrix A in ", AX_EQ_B_LU) "()!\n");
#ifndef LINSOLVERS_RETAIN_MEMORY #ifndef LINSOLVERS_RETAIN_MEMORY
free(buf); free(buf);
#endif #endif
return 0; return 0;
} }
work[i]=LM_CNST(1.0)/max;
} }
/* solve the system with the computed LU */ for(j=0; j<m; ++j){
//GETRS("N", (int *)&m, (int *)&nrhs, a, (int *)&m, ipiv, x, (int *)&m, (int *)&info); for(i=0; i<j; ++i){
info = ATLAS_POTRS(CblasRowMajor, CblasUpper, m, 1, a, m, x, m); sum=a[i*m+j];
if(info!=0){ for(k=0; k<i; ++k)
if(info<0){ sum-=a[i*m+k]*a[k*m+j];
fprintf(stderr, RCAT(RCAT("argument %d of ", GETRS) " illegal in ", AX_EQ_B_LU) "()\n", -info); a[i*m+j]=sum;
exit(1);
} }
else{ max=0.0;
fprintf(stderr, RCAT(RCAT("unknown error for ", GETRS) " in ", AX_EQ_B_LU) "()\n"); for(i=j; i<m; ++i){
#ifndef LINSOLVERS_RETAIN_MEMORY sum=a[i*m+j];
free(buf); for(k=0; k<j; ++k)
#endif sum-=a[i*m+k]*a[k*m+j];
a[i*m+j]=sum;
return 0; if((tmp=work[i]*FABS(sum))>=max){
max=tmp;
maxi=i;
}
}
if(j!=maxi){
for(k=0; k<m; ++k){
tmp=a[maxi*m+k];
a[maxi*m+k]=a[j*m+k];
a[j*m+k]=tmp;
}
work[maxi]=work[j];
}
idx[j]=maxi;
if(a[j*m+j]==0.0)
a[j*m+j]=LM_REAL_EPSILON;
if(j!=m-1){
tmp=LM_CNST(1.0)/(a[j*m+j]);
for(i=j+1; i<m; ++i)
a[i*m+j]*=tmp;
} }
} }
/* The decomposition has now replaced a. Solve the linear system using
* forward and back substitution
*/
for(i=k=0; i<m; ++i){
j=idx[i];
sum=x[j];
x[j]=x[i];
if(k!=0)
for(j=k-1; j<i; ++j)
sum-=a[i*m+j]*x[j];
else
if(sum!=0.0)
k=i+1;
x[i]=sum;
}
for(i=m-1; i>=0; --i){
sum=x[i];
for(j=i+1; j<m; ++j)
sum-=a[i*m+j]*x[j];
x[i]=sum/a[i*m+i];
}
#ifndef LINSOLVERS_RETAIN_MEMORY #ifndef LINSOLVERS_RETAIN_MEMORY
free(buf); free(buf);
#endif #endif
return 1; return 1;
} }
///* This function returns the solution of Ax = b
// *
// * The function employs LU decomposition followed by forward/back substitution (see
// * also the LAPACK-based LU solver above)
// *
// * A is mxm, b is mx1
// *
// * The function returns 0 in case of error, 1 if successful
// *
// * This function is often called repetitively to solve problems of identical
// * dimensions. To avoid repetitive malloc's and free's, allocated memory is
// * retained between calls and free'd-malloc'ed when not of the appropriate size.
// * A call with NULL as the first argument forces this memory to be released.
// */
//int AX_EQ_B_LU(LM_REAL *A, LM_REAL *B, LM_REAL *x, int m)
//{
//__STATIC__ void *buf=NULL;
//__STATIC__ int buf_sz=0;
//
//register int i, j, k;
//int *idx, maxi=-1, idx_sz, a_sz, work_sz, tot_sz;
//LM_REAL *a, *work, max, sum, tmp;
//
// if(!A)
//#ifdef LINSOLVERS_RETAIN_MEMORY
// {
// if(buf) free(buf);
// buf=NULL;
// buf_sz=0;
//
// return 1;
// }
//#else
// return 1; /* NOP */
//#endif /* LINSOLVERS_RETAIN_MEMORY */
//
// /* calculate required memory size */
// idx_sz=m;
// a_sz=m*m;
// work_sz=m;
// tot_sz=(a_sz+work_sz)*sizeof(LM_REAL) + idx_sz*sizeof(int); /* should be arranged in that order for proper doubles alignment */
//
//#ifdef LINSOLVERS_RETAIN_MEMORY
// if(tot_sz>buf_sz){ /* insufficient memory, allocate a "big" memory chunk at once */
// if(buf) free(buf); /* free previously allocated memory */
//
// buf_sz=tot_sz;
// buf=(void *)malloc(tot_sz);
// if(!buf){
// fprintf(stderr, RCAT("memory allocation in ", AX_EQ_B_LU) "() failed!\n");
// exit(1);
// }
// }
//#else
// buf_sz=tot_sz;
// buf=(void *)malloc(tot_sz);
// if(!buf){
// fprintf(stderr, RCAT("memory allocation in ", AX_EQ_B_LU) "() failed!\n");
// exit(1);
// }
//#endif /* LINSOLVERS_RETAIN_MEMORY */
//
// a=buf;
// work=a+a_sz;
// idx=(int *)(work+work_sz);
//
// /* avoid destroying A, B by copying them to a, x resp. */
// for(i=0; i<m; ++i){ // B & 1st row of A
// a[i]=A[i];
// x[i]=B[i];
// }
// for( ; i<a_sz; ++i) a[i]=A[i]; // copy A's remaining rows
// /****
// for(i=0; i<m; ++i){
// for(j=0; j<m; ++j)
// a[i*m+j]=A[i*m+j];
// x[i]=B[i];
// }
// ****/
//
// /* compute the LU decomposition of a row permutation of matrix a; the permutation itself is saved in idx[] */
// for(i=0; i<m; ++i){
// max=0.0;
// for(j=0; j<m; ++j)
// if((tmp=FABS(a[i*m+j]))>max)
// max=tmp;
// if(max==0.0){
// fprintf(stderr, RCAT("Singular matrix A in ", AX_EQ_B_LU) "()!\n");
//#ifndef LINSOLVERS_RETAIN_MEMORY
// free(buf);
//#endif
//
// return 0;
// }
// work[i]=LM_CNST(1.0)/max;
// }
//
// for(j=0; j<m; ++j){
// for(i=0; i<j; ++i){
// sum=a[i*m+j];
// for(k=0; k<i; ++k)
// sum-=a[i*m+k]*a[k*m+j];
// a[i*m+j]=sum;
// }
// max=0.0;
// for(i=j; i<m; ++i){
// sum=a[i*m+j];
// for(k=0; k<j; ++k)
// sum-=a[i*m+k]*a[k*m+j];
// a[i*m+j]=sum;
// if((tmp=work[i]*FABS(sum))>=max){
// max=tmp;
// maxi=i;
// }
// }
// if(j!=maxi){
// for(k=0; k<m; ++k){
// tmp=a[maxi*m+k];
// a[maxi*m+k]=a[j*m+k];
// a[j*m+k]=tmp;
// }
// work[maxi]=work[j];
// }
// idx[j]=maxi;
// if(a[j*m+j]==0.0)
// a[j*m+j]=LM_REAL_EPSILON;
// if(j!=m-1){
// tmp=LM_CNST(1.0)/(a[j*m+j]);
// for(i=j+1; i<m; ++i)
// a[i*m+j]*=tmp;
// }
// }
//
// /* The decomposition has now replaced a. Solve the linear system using
// * forward and back substitution
// */
// for(i=k=0; i<m; ++i){
// j=idx[i];
// sum=x[j];
// x[j]=x[i];
// if(k!=0)
// for(j=k-1; j<i; ++j)
// sum-=a[i*m+j]*x[j];
// else
// if(sum!=0.0)
// k=i+1;
// x[i]=sum;
// }
//
// for(i=m-1; i>=0; --i){
// sum=x[i];
// for(j=i+1; j<m; ++j)
// sum-=a[i*m+j]*x[j];
// x[i]=sum/a[i*m+i];
// }
//
//#ifndef LINSOLVERS_RETAIN_MEMORY
// free(buf);
//#endif
//
// return 1;
//}
//
/* undefine all. IT MUST REMAIN IN THIS POSITION IN FILE */ /* undefine all. IT MUST REMAIN IN THIS POSITION IN FILE */
#undef AX_EQ_B_LU #undef AX_EQ_B_LU
......
# levmar CMake file; see http://www.cmake.org and # levmar CMake file; see http://www.cmake.org and
# http://www.insightsoftwareconsortium.org/wiki/index.php/CMake_Tutorial # http://www.insightsoftwareconsortium.org/wiki/index.php/CMake_Tutorial
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(LEVMAR) PROJECT(LEVMAR)
#CMAKE_MINIMUM_REQUIRED(VERSION 1.4)
SET(HAVE_LAPACK 1 CACHE BOOL "Do we have LAPACK/BLAS?")
# the directory where the lapack/blas/f2c libraries reside
SET(LAPACKBLAS_DIR "/usr/lib" CACHE PATH "Path to lapack/blas libraries")
SET(NEED_F2C 1 CACHE BOOL "Do we need either f2c or F77/I77?")
SET(HAVE_PLASMA 0 CACHE BOOL "Do we have PLASMA parallel linear algebra library?")
IF(HAVE_PLASMA)
SET(PLASMA_DIR "/usr/local/PLASMA" CACHE PATH "Path to PLASMA root")
ENDIF(HAVE_PLASMA)
SET(LINSOLVERS_RETAIN_MEMORY 1 CACHE BOOL "Should linear solvers retain working memory between calls? (non-reentrant!)")
SET(LM_DBL_PREC 1 CACHE BOOL "Build double precision routines?")
SET(LM_SNGL_PREC 1 CACHE BOOL "Build single precision routines?")
OPTION(BUILD_DEMO "Build demo program?" TRUE)
# actual names for the lapack/blas/f2c libraries
SET(LAPACKBLAS_LIB_NAMES "lapack;blas" CACHE STRING "The name of the lapack & blas libraries")
#SET(LAPACKBLAS_LIB_NAMES "mkl_solver_sequential;mkl_intel_c;mkl_sequential;mkl_core" CACHE STRING "The name of the lapack library") # MKL
IF(NEED_F2C)
SET(F2C_LIB_NAME f2c CACHE STRING "The name of the f2c or F77/I77 library")
# f2c is sometimes equivalent to libF77 & libI77
#SET(F2C_LIB_NAME "libF77;libI77" CACHE STRING "The name of the f2c or F77/I77 library")
ELSE(NEED_F2C)
SET(F2C_LIB_NAME "" CACHE STRING "The name of the f2c or F77/I77 library")
ENDIF(NEED_F2C)
# actual names for the PLASMA libraries
IF(HAVE_PLASMA)
SET(PLASMA_LIB_NAMES "plasma;coreblas;quark;lapacke" CACHE STRING "The names of the PLASMA libraries")
ENDIF(HAVE_PLASMA)
IF(0)
# treat paths relative to the source dir.
IF(COMMAND CMAKE_POLICY)
CMAKE_POLICY(SET CMP0015 NEW)
ENDIF(COMMAND CMAKE_POLICY)
ENDIF(0)
# compiler flags # compiler flags
#ADD_DEFINITIONS(-DLINSOLVERS_RETAIN_MEMORY) # do not free memory between linear solvers calls #ADD_DEFINITIONS(-DLINSOLVERS_RETAIN_MEMORY) # do not free memory between linear solvers calls
#REMOVE_DEFINITIONS(-DLINSOLVERS_RETAIN_MEMORY) # free memory between calls #REMOVE_DEFINITIONS(-DLINSOLVERS_RETAIN_MEMORY) # free memory between calls
# f2c is sometimes equivalent to libF77 & libI77; in that case, set HAVE_F2C to 0 ########################## NO CHANGES BEYOND THIS POINT ##########################
SET(HAVE_F2C 1 CACHE BOOL "Do we have f2c or F77/I77?" )
# the directory where the lapack/blas/f2c libraries reside
SET(LAPACKBLAS_DIR /usr/lib CACHE PATH "Path to lapack/blas libraries")
# actual names for the lapack/blas/f2c libraries CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/levmar.h.in ${CMAKE_CURRENT_SOURCE_DIR}/levmar.h)
SET(LAPACK_LIB lapack CACHE STRING "The name of the lapack library")
SET(BLAS_LIB blas CACHE STRING "The name of the blas library")
IF(HAVE_F2C)
SET(F2C_LIB f2c CACHE STRING "The name of the f2c library")
ELSE(HAVE_F2C)
SET(F77_LIB libF77 CACHE STRING "The name of the F77 library")
SET(I77_LIB libI77 CACHE STRING "The name of the I77 library")
ENDIF(HAVE_F2C)
########################## NO CHANGES BEYOND THIS POINT ########################## INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR})
IF(HAVE_PLASMA)
INCLUDE_DIRECTORIES(${PLASMA_DIR}/include ${PLASMA_DIR}/quark)
ENDIF(HAVE_PLASMA)
INCLUDE_DIRECTORIES(.) # PLASMA headers in Axb.c should be compiled as C++
#INCLUDE_DIRECTORIES(/usr/include) IF(HAVE_PLASMA)
SET_SOURCE_FILES_PROPERTIES(Axb.c PROPERTIES LANGUAGE CXX)
ENDIF(HAVE_PLASMA)
# levmar library source files # levmar library source files
ADD_LIBRARY(levmar STATIC ADD_LIBRARY(levmar STATIC
...@@ -36,19 +66,32 @@ ADD_LIBRARY(levmar STATIC ...@@ -36,19 +66,32 @@ ADD_LIBRARY(levmar STATIC
) )
# demo program # demo program
LINK_DIRECTORIES(${LAPACKBLAS_DIR}) IF(BUILD_DEMO)
LINK_DIRECTORIES(.) SET(LIBS levmar)
ADD_EXECUTABLE(lmdemo lmdemo.c levmar.h)
LINK_DIRECTORIES(${CMAKE_BINARY_DIR}) # location of the levmar library
LINK_DIRECTORIES(${LAPACKBLAS_DIR})
# libraries the demo depends on # libraries the demo depends on
IF(HAVE_F2C) IF(HAVE_PLASMA)
TARGET_LINK_LIBRARIES(lmdemo levmar ${LAPACK_LIB} ${BLAS_LIB} ${F2C_LIB}) LINK_DIRECTORIES(${PLASMA_DIR}/lib)
ELSE(HAVE_F2C) SET(LIBS ${LIBS} ${PLASMA_LIB_NAMES})
TARGET_LINK_LIBRARIES(lmdemo levmar ${LAPACK_LIB} ${BLAS_LIB} ${F77_LIB} ${I77_LIB}) ENDIF(HAVE_PLASMA)
ENDIF(HAVE_F2C)
IF(HAVE_LAPACK)
IF(NEED_F2C)
SET(LIBS ${LIBS} ${LAPACKBLAS_LIB_NAMES} ${F2C_LIB_NAME})
ELSE(NEED_F2C)
SET(LIBS ${LIBS} ${LAPACKBLAS_LIB_NAMES})
ENDIF(NEED_F2C)
ENDIF(HAVE_LAPACK)
ADD_EXECUTABLE(lmdemo lmdemo.c levmar.h)
TARGET_LINK_LIBRARIES(lmdemo ${LIBS})
MESSAGE(STATUS "lmdemo will be linked against ${LIBS}")
# make sure that the library is built before the demo # make sure that the library is built before the demo
ADD_DEPENDENCIES(lmdemo levmar) ADD_DEPENDENCIES(lmdemo levmar)
ENDIF(BUILD_DEMO)
#SUBDIRS(matlab) #SUBDIRS(matlab)
#ADD_TEST(levmar_tst lmdemo)
...@@ -35,5 +35,5 @@ EXTRA_liblevmar_a_SOURCES = Axb_core.c lmbc_core.c lm_core.c \ ...@@ -35,5 +35,5 @@ EXTRA_liblevmar_a_SOURCES = Axb_core.c lmbc_core.c lm_core.c \
lmblec_core.c lmbleic_core.c lmlec_core.c \ lmblec_core.c lmbleic_core.c lmlec_core.c \
misc_core.c \ misc_core.c \
LICENSE README README.txt \ LICENSE README README.txt \
Makefile.icc Makefile.vc levmar.vcproj lmdemo.vcproj \ Makefile.icc Makefile.vc expfit.c lmdemo.c lm.h matlab
expfit.c lmdemo.c lm.h matlab
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment