LAM/MPI logo

LAM/MPI General User's Mailing List Archives

  |   Home   |   Download   |   Documentation   |   FAQ   |   all just in this list

From: Huy Tran (huy_at_[hidden])
Date: 2004-12-15 02:33:46


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: