Hi,
I'm trying to compile lam-7.1.1 with Intel compiler 8.1. I've already
set environment variables by iccvars.sh. After configuring successfully,
I got compiling/linking errors as follows:
... ( truncated by author )
laminfo.o(.text+0x90e9): In function `__sti__$E':
: undefined reference to `std::allocator<char>::~allocator()'
laminfo.o(.text+0x90fc): In function `destr_detour315':
: undefined reference to `std::allocator<char>::~allocator()'
laminfo.o(.text+0x9116): In function `destr_detour316':
: undefined reference to `std::allocator<char>::~allocator()'
laminfo.o(.text+0x9130): In function `destr_detour317':
: undefined reference to `std::allocator<char>::~allocator()'
laminfo.o(.text+0x914a): In function `destr_detour318':
: undefined reference to `std::allocator<char>::~allocator()'
laminfo.o(.text+0x9164): more undefined references to
`std::allocator<char>::~allocator()' follow
laminfo.o(.eh_frame+0x12): In function `.eh_frame_seg':
: undefined reference to `__gxx_personality_v0'
make[2]: *** [laminfo] Error 1
make[2]: Leaving directory `/data/parallel/lam-7.1.1/tools/laminfo'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/data/parallel/lam-7.1.1/tools'
make: *** [all-recursive] Error 1
In Makefile, I already add LDFLAGS and CXXLDFLAGS as in
http://www.lam-mpi.org/MailArchives/lam/msg08149.php. I guest that that
is error in linking STL libraries? Please help me solve this problem.
BTW, Intel CC&FC are installed in /opt/intel_cc_80 and /opt/intel_fc_80
by default.
Regards,
--
Huy Tran, N. H.
{+} High-Performance Computing & Networking
{+} huy_at_[hidden] | huy_at_[hidden]
{+} URL: http://www.dit.hcmut.edu.vn/~huy
{+} Phone: (848)-8647256 (Ext.: 5840)
# Makefile.in generated by automake 1.8.5 from Makefile.am.
# Makefile. Generated from Makefile.in by configure.
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
# -*- makefile -*-
#
# Copyright (c) 2001-2004 The Trustees of Indiana University.
# All rights reserved.
# Copyright (c) 1998-2001 University of Notre Dame.
# All rights reserved.
# Copyright (c) 1994-1998 The Ohio State University.
# All rights reserved.
#
# This file is part of the LAM/MPI software package. For license
# information, see the LICENSE file in the top level directory of the
# LAM/MPI source distribution.
#
# $Id: Makefile.am,v 6.72 2003/07/05 18:30:01 jsquyres Exp $
#
# -*- makefile -*-
#
# Copyright (c) 2001-2003 The Trustees of Indiana University.
# All rights reserved.
# Copyright (c) 1998-2001 University of Notre Dame.
# All rights reserved.
# Copyright (c) 1994-1998 The Ohio State University.
# All rights reserved.
#
# This file is part of the LAM/MPI software package. For license
# information, see the LICENSE file in the top level directory of the
# LAM/MPI source distribution.
#
# $Id: Makefile.options,v 1.6 2003/01/26 21:58:24 jsquyres Exp $
#
srcdir = .
top_srcdir = .
pkgdatadir = $(datadir)/lam
pkglibdir = $(libdir)/lam
pkgincludedir = $(includedir)/lam
top_builddir = .
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = /usr/bin/install -c
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_triplet = i686-pc-linux-gnu
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(top_srcdir)/config/Makefile.options \
$(top_srcdir)/configure \
$(top_srcdir)/romio/util/lam-configure-values.in \
./config/config.guess ./config/config.sub ./config/depcomp \
./config/install-sh ./config/ltmain.sh ./config/missing \
AUTHORS INSTALL
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/config/cxx_find_exception_flags.m4 \
$(top_srcdir)/config/cxx_find_template_repository.m4 \
$(top_srcdir)/config/cxx_find_template_parameters.m4 \
$(top_srcdir)/config/cxx_have_bool.m4 \
$(top_srcdir)/config/cxx_have_exceptions.m4 \
$(top_srcdir)/config/cxx_have_nothrow_new.m4 \
$(top_srcdir)/config/cxx_have_stl.m4 \
$(top_srcdir)/config/cxx_have_true_false.m4 \
$(top_srcdir)/config/lam_functions.m4 \
$(top_srcdir)/config/lam_ansi_protos.m4 \
$(top_srcdir)/config/lam_bproc_setup.m4 \
$(top_srcdir)/config/lam_case_sensitive_fs_setup.m4 \
$(top_srcdir)/config/lam_config_fd_passing.m4 \
$(top_srcdir)/config/lam_config_subdir.m4 \
$(top_srcdir)/config/lam_config_subdir_args.m4 \
$(top_srcdir)/config/lam_check_bsd43_fd_passing.m4 \
$(top_srcdir)/config/lam_check_bsd44_fd_passing.m4 \
$(top_srcdir)/config/lam_check_fd_setsize.m4 \
$(top_srcdir)/config/lam_check_func.m4 \
$(top_srcdir)/config/lam_check_mpiexec.m4 \
$(top_srcdir)/config/lam_check_optflags.m4 \
$(top_srcdir)/config/lam_check_prefix_memcpy.m4 \
$(top_srcdir)/config/lam_check_prototype.m4 \
$(top_srcdir)/config/lam_check_pthread_pids.m4 \
$(top_srcdir)/config/lam_check_sizeof_struct_stat_members.m4 \
$(top_srcdir)/config/lam_check_stdc.m4 \
$(top_srcdir)/config/lam_check_svr4_fd_passing.m4 \
$(top_srcdir)/config/lam_check_type.m4 \
$(top_srcdir)/config/lam_check_typeof_getsockopt_optlen.m4 \
$(top_srcdir)/config/lam_check_typeof_recvfrom_len.m4 \
$(top_srcdir)/config/lam_config_pthreads.m4 \
$(top_srcdir)/config/lam_config_threads.m4 \
$(top_srcdir)/config/lam_config_solaris_threads.m4 \
$(top_srcdir)/config/lam_get_alignment.m4 \
$(top_srcdir)/config/lam_get_fortran_alignment.m4 \
$(top_srcdir)/config/lam_get_fortran_alignment_nofail.m4 \
$(top_srcdir)/config/lam_get_fortran_ext_name_convention.m4 \
$(top_srcdir)/config/lam_get_libtool_linker_flags.m4 \
$(top_srcdir)/config/lam_get_shmmax.m4 \
$(top_srcdir)/config/lam_get_sizeof.m4 \
$(top_srcdir)/config/lam_get_sizeof_fortran_type.m4 \
$(top_srcdir)/config/lam_get_sizeof_fortran_type_nofail.m4 \
$(top_srcdir)/config/lam_get_version.m4 \
$(top_srcdir)/config/lam_make_stripped_flags.m4 \
$(top_srcdir)/config/lam_mutex_pshared.m4 \
$(top_srcdir)/config/lam_memory_setup.m4 \
$(top_srcdir)/config/lam_prog_f77.m4 \
$(top_srcdir)/config/lam_setup_cc.m4 \
$(top_srcdir)/config/lam_setup_cxx.m4 \
$(top_srcdir)/config/lam_setup_optional_fortran_type.m4 \
$(top_srcdir)/config/lam_check_sysv_semaphores.m4 \
$(top_srcdir)/config/lam_check_sysv_shmem.m4 \
$(top_srcdir)/config/lam_wrapper_extra_ldflags.m4 \
$(top_srcdir)/config/lam_cxx_bindings_setup.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno configure.status.lineno
mkinstalldirs = $(mkdir_p)
CONFIG_HEADER = $(top_builddir)/share/include/lam_config.h
CONFIG_CLEAN_FILES = romio/util/lam-configure-values
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-exec-recursive install-info-recursive \
install-recursive installcheck-recursive installdirs-recursive \
pdf-recursive ps-recursive uninstall-info-recursive \
uninstall-recursive
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
{ test ! -d $(distdir) \
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -fr $(distdir); }; }
DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
ACLOCAL = ${SHELL} /data/parallel/lam-7.1.1/config/missing --run aclocal-1.8
AMDEP_FALSE = #
AMDEP_TRUE =
AMTAR = ${SHELL} /data/parallel/lam-7.1.1/config/missing --run tar
AR = ar
AUTOCONF = ${SHELL} /data/parallel/lam-7.1.1/config/missing --run autoconf
AUTOHEADER = ${SHELL} /data/parallel/lam-7.1.1/config/missing --run autoheader
AUTOMAKE = ${SHELL} /data/parallel/lam-7.1.1/config/missing --run automake-1.8
AWK = gawk
CASE_SENSITIVE_FS_FALSE = #
CASE_SENSITIVE_FS_TRUE =
CC = /opt/intel_cc_80/bin/icc
CCDEPMODE = depmode=gcc3
CFLAGS = -O3 -pthread -axW -march=pentium4
CFLAGS_WITHOUT_OPTFLAGS = -O3 -pthread
CLEANFILES = *~
CP = /bin/cp
CPP = /opt/intel_cc_80/bin/icc -E
CPPFLAGS = -I$(top_srcdir)/share/include -DLAM_BUILDING=1
CXX = /opt/intel_cc_80/bin/icc
CXXCPP = /opt/intel_cc_80/bin/icc -E
CXXCPPFLAGS = -I$(top_srcdir)/share/include
CXXDEPMODE = depmode=gcc3
CXXFLAGS = -O3 -pthread
CXXLDFLAGS = -Wl,-rpath,/opt/intel_cc_80/lib
CYGPATH_W = echo
DEFS = -DHAVE_CONFIG_H
DEPDIR = .deps
ECHO = echo
ECHO_C =
ECHO_N = -n
ECHO_T =
EGREP = grep -E
EXEEXT =
EXTRA_LDFLAGS = -export-dynamic
F77 = /opt/intel_fc_80/bin/ifc
F77_BUILD_DIR = f77
F77_LTPLIB = f77/liblamf77pmpi.la
FC = /opt/intel_fc_80/bin/ifc
FFLAGS = -O -pthread
IMPID_DIR =
IMPI_DIR =
IMPI_LIB =
IMPI_OBJS =
IMPI_SERVER =
INSTALL_DATA = ${INSTALL} -m 644
INSTALL_PROGRAM = ${INSTALL}
INSTALL_SCRIPT = ${INSTALL}
INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
LAM_ALPHA_VERSION = 0
LAM_BETA_VERSION = 0
LAM_BINDIR = /usr/local/lam_icc/bin
LAM_CONFIGURE_DATE = Wed Dec 15 12:56:00 GMT-5 2004
LAM_CONFIGURE_HOST = zeus
LAM_CONFIGURE_USER = root
LAM_CXX_TEMPLATE_REPOSITORY =
LAM_EXEC_PREFIX = /usr/local/lam_icc
LAM_INDEXOF_FORTRAN_INTEGER8 = 15
LAM_INDEXOF_FORTRAN_REAL16 = -1
LAM_MAJOR_VERSION = 7
LAM_MANDIR = /usr/local/lam_icc/man
LAM_MINOR_VERSION = 1
LAM_PREFIX = /usr/local/lam_icc
LAM_RELEASE_VERSION = 1
LAM_SSI_boot_ALL_SUBDIRS = globus rsh slurm
LAM_SSI_boot_DYNAMIC_SUBDIRS =
LAM_SSI_boot_STATIC_LTLIBS = slurm/liblam_ssi_boot_slurm.la rsh/liblam_ssi_boot_rsh.la globus/liblam_ssi_boot_globus.la
LAM_SSI_boot_STATIC_SUBDIRS = globus rsh slurm
LAM_SSI_coll_ALL_SUBDIRS = lam_basic shmem smp
LAM_SSI_coll_DYNAMIC_SUBDIRS =
LAM_SSI_coll_STATIC_LTLIBS = smp/liblam_ssi_coll_smp.la shmem/liblam_ssi_coll_shmem.la lam_basic/liblam_ssi_coll_lam_basic.la
LAM_SSI_coll_STATIC_SUBDIRS = lam_basic shmem smp
LAM_SSI_crlam_ALL_SUBDIRS = self
LAM_SSI_crlam_DYNAMIC_SUBDIRS =
LAM_SSI_crlam_STATIC_LTLIBS = self/liblam_ssi_crlam_self.la
LAM_SSI_crlam_STATIC_SUBDIRS = self
LAM_SSI_crmpi_ALL_SUBDIRS = self
LAM_SSI_crmpi_DYNAMIC_SUBDIRS =
LAM_SSI_crmpi_STATIC_LTLIBS = self/liblam_ssi_crmpi_self.la
LAM_SSI_crmpi_STATIC_SUBDIRS = self
LAM_SSI_rpi_ALL_SUBDIRS = crtcp lamd sysv tcp usysv
LAM_SSI_rpi_DYNAMIC_SUBDIRS =
LAM_SSI_rpi_STATIC_LTLIBS = usysv/liblam_ssi_rpi_usysv.la tcp/liblam_ssi_rpi_tcp.la sysv/liblam_ssi_rpi_sysv.la lamd/liblam_ssi_rpi_lamd.la crtcp/liblam_ssi_rpi_crtcp.la
LAM_SSI_rpi_STATIC_SUBDIRS = crtcp lamd sysv tcp usysv
LAM_SVN_VERSION = 0
LAM_TOP_BUILDDIR = /data/parallel/lam-7.1.1
LAM_TOP_SRCDIR = /data/parallel/lam-7.1.1
LAM_VERSION = 7.1.1
LAM_WANT_DARWIN7MALLOC_FALSE =
LAM_WANT_DARWIN7MALLOC_TRUE = #
LAM_WANT_INSTALL_MPIEXEC_FALSE = #
LAM_WANT_INSTALL_MPIEXEC_TRUE =
LAM_WANT_PTMALLOC2_FALSE = #
LAM_WANT_PTMALLOC2_TRUE =
LAM_WANT_PTMALLOC_FALSE =
LAM_WANT_PTMALLOC_TRUE = #
LDFLAGS = -Wl,-rpath,/opt/intel_cc_80/lib
LIBLAM_EXTRA_LDFLAGS =
LIBLAM_EXTRA_LIBS = -lutil
LIBLTDL = ${top_builddir}/share/libltdl/libltdlc.la
LIBLTDL_SUBDIR = libltdl
LIBMPI_EXTRA_LDFLAGS =
LIBMPI_EXTRA_LIBS = -laio
LIBOBJS =
LIBS =
LIBTOOL = $(SHELL) $(top_builddir)/libtool
LN_S = ln -s
LTDLINCL = -I${top_srcdir}/share/libltdl
LTLIBOBJS =
MAKEINFO = ${SHELL} /data/parallel/lam-7.1.1/config/missing --run makeinfo
OBJEXT = o
PACKAGE = lam
PACKAGE_BUGREPORT =
PACKAGE_NAME =
PACKAGE_STRING =
PACKAGE_TARNAME =
PACKAGE_VERSION =
PATH_SEPARATOR = :
RANLIB = ranlib
RM = /bin/rm
ROMIO_ARCH_FLAGS =
ROMIO_USER_FLAGS =
SET_MAKE =
SHELL = /bin/sh
SHELL_CMD = /bin/sh
STRIP = strip
TOTALVIEW_DEBUG_FLAGS =
TOTALVIEW_DLL_DIR =
VERSION = 7.1.1
WANT_CPPFILE_FALSE =
WANT_CPPFILE_TRUE = #
WANT_DEPRECATED_EXECUTABLE_NAMES_FALSE = #
WANT_DEPRECATED_EXECUTABLE_NAMES_TRUE =
WANT_FORTRAN_FALSE = #
WANT_FORTRAN_TRUE =
WANT_IMPI_BUILD_FALSE =
WANT_IMPI_BUILD_TRUE = #
WANT_LIBLTDL_FALSE = #
WANT_LIBLTDL_TRUE =
WANT_MPI2CPP_FALSE = #
WANT_MPI2CPP_TRUE =
WANT_MPI_STUBS_FALSE =
WANT_MPI_STUBS_TRUE = #
WANT_PREFIX_MEMCPY_FALSE = #
WANT_PREFIX_MEMCPY_TRUE =
WANT_PROFILE_BUILD_FALSE = #
WANT_PROFILE_BUILD_TRUE =
WANT_ROMIO_FALSE = #
WANT_ROMIO_TRUE =
WANT_TRILLIUM_INSTALL_FALSE =
WANT_TRILLIUM_INSTALL_TRUE = #
WRAPPER_EXTRA_CFLAGS = -pthread
WRAPPER_EXTRA_CXXFLAGS = -pthread
WRAPPER_EXTRA_FFLAGS = -pthread
WRAPPER_EXTRA_LDFLAGS =
WRAPPER_EXTRA_LIBS = -laio -lutil -ldl
ac_ct_AR = ar
ac_ct_CC = /opt/intel_cc_80/bin/icc
ac_ct_CXX =
ac_ct_F77 =
ac_ct_RANLIB = ranlib
ac_ct_STRIP = strip
ac_prefix_program =
am__fastdepCC_FALSE = #
am__fastdepCC_TRUE =
am__fastdepCXX_FALSE = #
am__fastdepCXX_TRUE =
am__include = include
am__leading_dot = .
am__quote =
bindir = ${exec_prefix}/bin
build = i686-pc-linux-gnu
build_alias =
build_cpu = i686
build_os = linux-gnu
build_vendor = pc
datadir = ${prefix}/share
exec_prefix = ${prefix}
host = i686-pc-linux-gnu
host_alias =
host_cpu = i686
host_os = linux-gnu
host_vendor = pc
includedir = ${prefix}/include
infodir = ${prefix}/info
install_sh = /data/parallel/lam-7.1.1/config/install-sh
libdir = ${exec_prefix}/lib
libexecdir = ${exec_prefix}/libexec
localstatedir = ${prefix}/var
mandir = ${prefix}/man
mkdir_p = mkdir -p -- .
oldincludedir = /usr/include
prefix = /usr/local/lam_icc
program_transform_name = s,x,x,
sbindir = ${exec_prefix}/sbin
sharedstatedir = ${prefix}/com
sysconfdir = ${prefix}/etc
target_alias =
AUTOMAKE_OPTIONS = foreign dist-bzip2
#romio_all_target =
# Are we building ROMIO?
romio_all_target = romio-all
#romio_install_target =
romio_install_target = romio-install
#romio_examples_target =
romio_examples_target = romio-examples
# Subdirectory list
BASE_SUBDIRS = config doc share otb tools etc man
SUBDIRS = $(BASE_SUBDIRS)
DIST_SUBDIRS = $(BASE_SUBDIRS) examples
EXTRA_DIST = \
AUTHORS \
HISTORY \
INSTALL \
LICENSE \
README \
VERSION
# 'cause this is just so annoying!!! This may not work anywhere
# outside iu.edu. :-)
TAR = gtar
all: all-recursive
.SUFFIXES:
am--refresh:
@:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/config/Makefile.options $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
cd $(srcdir) && $(AUTOMAKE) --foreign \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --foreign Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(top_srcdir)/configure: $(am__configure_deps)
cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
romio/util/lam-configure-values: $(top_builddir)/config.status $(top_srcdir)/romio/util/lam-configure-values.in
cd $(top_builddir) && $(SHELL) ./config.status $@
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
$(am__remove_distdir)
mkdir $(distdir)
$(mkdir_p) $(distdir)/config $(distdir)/doc/user $(distdir)/examples/mandelbrot $(distdir)/examples/trivial $(distdir)/examples/wave1d $(distdir)/romio/util $(distdir)/share/include
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| mkdir "$(distdir)/$$subdir" \
|| exit 1; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="../$(top_distdir)" \
distdir="../$(distdir)/$$subdir" \
distdir) \
|| exit 1; \
fi; \
done
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" distdir="$(distdir)" \
dist-hook
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r $(distdir)
dist-gzip: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
dist-bzip2: distdir
$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
$(am__remove_distdir)
dist-tarZ: distdir
$(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z
$(am__remove_distdir)
dist-shar: distdir
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__remove_distdir)
dist-zip: distdir
-rm -f $(distdir).zip
zip -rq $(distdir).zip $(distdir)
$(am__remove_distdir)
dist dist-all: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
$(am__remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - ;;\
*.tar.bz2*) \
bunzip2 -c $(distdir).tar.bz2 | $(AMTAR) xf - ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(AMTAR) xf - ;;\
*.shar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
chmod -R a-w $(distdir); chmod a+w $(distdir)
mkdir $(distdir)/_build
mkdir $(distdir)/_inst
chmod a-w $(distdir)
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& cd $(distdir)/_build \
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
$(DISTCHECK_CONFIGURE_FLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
distuninstallcheck \
&& chmod -R a-w "$$dc_install_base" \
&& ({ \
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
} || { rm -rf "$$dc_destdir"; exit 1; }) \
&& rm -rf "$$dc_destdir" \
&& $(MAKE) $(AM_MAKEFLAGS) dist \
&& rm -rf $(DIST_ARCHIVES) \
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
$(am__remove_distdir)
@(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
distuninstallcheck:
@cd $(distuninstallcheck_dir) \
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|| { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \
echo " (check DESTDIR support)"; \
fi ; \
$(distuninstallcheck_listfiles) ; \
exit 1; } >&2
distcleancheck: distclean
@if test '$(srcdir)' = . ; then \
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
exit 1 ; \
fi
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left in build directory after distclean:" ; \
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am
check: check-recursive
all-am: Makefile all-local
installdirs: installdirs-recursive
installdirs-am:
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic clean-libtool clean-local mostlyclean-am
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-libtool \
distclean-local distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
info: info-recursive
info-am:
install-data-am:
install-exec-am: install-exec-local
@$(NORMAL_INSTALL)
$(MAKE) $(AM_MAKEFLAGS) install-exec-hook
install-info: install-info-recursive
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf $(top_srcdir)/autom4te.cache
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am: uninstall-info-am uninstall-local
uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am all-local \
am--refresh check check-am clean clean-generic clean-libtool \
clean-local clean-recursive ctags ctags-recursive dist \
dist-all dist-bzip2 dist-gzip dist-shar dist-tarZ dist-zip \
distcheck distclean distclean-generic distclean-libtool \
distclean-local distclean-recursive distclean-tags \
distcleancheck distdir distuninstallcheck dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-exec install-exec-am \
install-exec-local install-info install-info-am install-man \
install-strip installcheck installcheck-am installdirs \
installdirs-am maintainer-clean maintainer-clean-generic \
maintainer-clean-recursive mostlyclean mostlyclean-generic \
mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \
tags tags-recursive uninstall uninstall-am uninstall-info-am \
uninstall-local
# We used to have a depend target, but we now use the Automake 1.5
# dependency system. Since some people (Brian) aren't used to this,
# print out a reminder message
depend:
@ echo "Dependency analysis now done automagically by"
@ echo "GNU Automake. No need to run 'make depend'"
# For building all the examples
lamexamples: $(romio_examples_target)
@ (cd examples; $(MAKE) all)
@ $(MAKE) examples-done
# Supplement various targets so that we can build ROMIO as well. Note
# that we only build and install ROMIO if ROMIO was selected in
# configure, but we *always* [try to] clean, distclean, and uninstall
# ROMIO. This counts for the corner case where a user could do:
#
# ./configure --with-romio
# make all install
# ./configure --without-romio
# make uninstall distclean
#
# If we didn't always traverse into the romio/ directory for uninstall
# and clean, ROMIO will still be left installed, which would not be
# social for us to do. This scenario doesn't account for all cases
# (mainly because ROMIO still has its own configure script) but it
# does handle the majority of cases. For example, the following
# scenario won't be handled correctly:
#
# ./configure --with-romio
# make all install
# make distclean
# ./configure --without-romio
# make uninstall
#
# ROMIO will still left installed after this becuase ROMIO's
# ./configure won't have been triggered again, and therefore there
# will be no Makefile (et al.) in the romio/ directory to travese and
# do the uninstall.
#
# Someday, when ROMIO is fully integrated into LAM, this won't be an
# issue.
# Need to have a separate $(MAKE) invocation for the "all-done" target
# so that make won't perform the "all-done" target before the
# $(romio_all_target). This is the only way to force/guarantee the
# ordering.
all-local: $(romio_all_target)
@ $(MAKE) all-done
install-exec-local: $(romio_install_target)
# The presence of the .lam_built file triggers whether the all-done
# target generates the "LAM has been built..." message.
clean-local: romio-clean
@ rm -f .lam_built
distclean-local: romio-distclean
uninstall-local: romio-uninstall
# Be sure to set LAMHOME properly so that hcc/hcp/hf77 use the right
# libraries/include files (to avoid conflicts if the user may already
# have a LAM installed, and already have LAMHOME set somewhere else).
# Another bug in ROMIO -- we have to go set the unix permissions on
# directories under $LAMHOME/include to be 755 again. ROMIO does a
# chmod 644 $LAMHOME/include/* -- ick! The ROMIO authors have been
# notified of this. 13 June 1999/JMS.
# Automakeizm -- check to see if we already built ROMIO. "make
# install" implicitly invokes "make all" first (in a roundabout way).
romio-all:
@ echo "Making all in romio"
@ (if test ! -f romio/.lam_built; then cd romio; $(MAKE) && touch .lam_built; fi)
romio-install:
@ echo "Making install in romio"
@ if test ! -f romio/.lam_built ; then \
$(MAKE) romio-all && $(MAKE) romio-install-redirect ; \
else \
$(MAKE) romio-install-redirect; \
fi
romio-install-redirect:
@ (if test -d romio; then \
cd romio ; \
if test -f Makefile; then \
( $(MAKE) install PREFIX=$(DESTDIR)$(prefix) \
DATADIR=$(DESTDIR)$(datadir) \
LIBDIR=$(DESTDIR)$(libdir) \
INCLUDEDIR=$(DESTDIR)$(includedir) \
MANDIR=$(DESTDIR)$(mandir); ) \
fi ; \
fi)
romio-examples:
@ echo "Making lamexamples in romio"
@ (if test -d romio; then \
cd romio; \
if test -f Makefile; then \
if test -f .lam_built ; then \
( cd test; \
$(MAKE) CC=mpicc F77=mpif77 LIBS= USER_CFLAGS="$(CFLAGS)" USER_FFLAGS="$(FFLAGS) $(ROMIO_FLAGS)" ) ; \
else \
echo "*** Error: it does not appear that ROMIO has been built yet." ; \
echo "*** I cannot tell if LAM was built yet or not, so I will abort." ; \
echo "*** Please build ROMIO the normal LAM build interface" ; \
echo "*** and then attempt to build the ROMIO again." ; \
fi; \
fi; \
fi )
romio-clean:
@ echo "Making clean in romio"
@ (if test -d romio; then \
cd romio; \
rm -f .lam_built; \
if test -f Makefile ; then \
$(MAKE) clean; \
fi; \
fi )
romio-distclean:
@ echo "Making distclean in romio"
@ (if test -d romio; then \
cd romio; \
rm -f .lam_built config.command; \
if test -f Makefile ; \
then $(MAKE) cleanall; \
fi ; \
fi)
romio-uninstall:
@ echo "Making uninstall in romio"
@ if test -f romio/.lam_built ; then \
$(MAKE) romio-uninstall-redirect; \
fi
# This is just so ugly; it's painful.
romio-uninstall-redirect:
@ ( cd romio; $(MAKE) uninstall PREFIX=$(DESTDIR)$(prefix) \
DATADIR=$(DESTDIR)$(datadir) \
LIBDIR=$(DESTDIR)$(libdir) \
INCLUDEDIR=$(DESTDIR)$(includedir) \
MANDIR=$(DESTDIR)$(mandir); )
if test -f $(DESTDIR)$(libdir)/liblammpio.a; then \
rm -f $(DESTDIR)$(libdir)/liblammpio.a; \
fi
#
# For printing friendly messages at the end :-)
#
examples-done:
@echo
@echo "==========================================================================="
@echo
@echo "The examples for LAM/MPI $(LAM_VERSION) have been built."
@echo
@echo "Look in the subdirectories of examples/ for each of"
@echo "the example programs. Each subdirectory has a README file"
@echo "that explains how to run it, etc."
@echo
@echo "==========================================================================="
all-done: .lam_built
.lam_built:
@ echo
@ echo "==========================================================================="
@ echo
@ echo "LAM/MPI $(LAM_VERSION) has been built."
@ echo
@ echo "You now need to install it with \"make install\""
@ echo
@ echo "==========================================================================="
@ touch .lam_built
install-exec-hook:
@echo
@echo "==========================================================================="
@echo
@echo "Installation of LAM/MPI $(LAM_VERSION) is complete."
@echo
@echo "Be sure to visit the LAM/MPI web page: http://www.lam-mpi.org/"
@echo
@echo "The FAQ and LAM mailing list archives (both accessable from the web page)"
@echo "contain much information about getting started with LAM/MPI, as well as"
@echo "solutions to common problems."
@echo
@echo "==========================================================================="
@echo
#
# For making the distribution. LAM maintainers only. It won't work
# for you. :-)
#
# Requires the "sowing" package from ftp://ftp.mcs.anl.gov/ to make
# the man pages.
#
dist-hook:
csh -f config/distscript.csh $(DESTDIR)$(distdir)
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
|