3 FILE_SYSTEM
= @FILE_SYSTEM@
8 NOPROFILE
= @NOPROFILE@
11 BUILD_MPI_INFO
= @BUILD_MPI_INFO@
12 BUILD_MPI_ARRAY
= @BUILD_MPI_ARRAY@
13 DIRS
= mpi-io adio
/common @GLUE_DIR@
15 EXTRA_SRC_DIRS
= @EXTRA_SRC_DIRS@
16 FILE_SYS_DIRS
= @FILE_SYS_DIRS@
17 ALL_DIRS
= mpi-io mpi-io
/fortran mpi2-other
/info mpi2-other
/info/fortran mpi2-other
/array mpi2-other
/array
/fortran adio
/common adio
/ad_pfs adio
/ad_piofs adio
/ad_nfs adio
/ad_ufs adio
/ad_xfs adio
/ad_hfs adio
/ad_sfs adio
/ad_testfs adio
/ad_pvfs adio
/ad_pvfs2 adio
/ad_panfs adio
/ad_gridftp adio
/ad_lustre adio
/ad_bgl adio
/ad_bglockless
test test-internal mpi-io
/glue
/default mpi-io
/glue
/mpich1 mpi-io
/glue
/mpich2
24 # The sleep 1 at the end of the build is used to ensure that make
25 # builds the libraries for any steps that *follow* this one and
26 # use the same library. This is a work around for a bug in make that
27 # is related to the use of file time stamps in make, but is in fact
28 # a bug in the logic of several make implementations, including gnumake
30 # The make clean /make profile /make clean handles the rebuilding of
31 # the object files with the same names but with different CPP definitions.
32 # If weak symbols are supported or profiling is turned off, we don't
33 # need to rebuild everything.
35 # Eventually, the clean at the top will also be removed, at least for the
36 # MPICH builds (which do their own clean if required)
40 @if
[ "$(NOPROFILE)" = 0 ] ; then\
41 $(MAKE
) profile || exit
1; \
44 @if
[ "$(WITHIN_KNOWN_MPI_IMPL)" = no
] ; then \
46 echo
"Completed build of ROMIO. Check the output for errors."; \
48 echo
"To compile the example programs, cd to the test directory"; \
49 echo
"and type make."; \
50 echo
"Run the examples the way you would run any MPI program."; \
51 echo
"Each program takes the filename as a command-line argument"; \
52 echo
"'-fname filename'." ; \
57 # FIXME: This should invoke the clean targets in each of the Makefiles.
59 @
-rm -f work.
pc work.pcl
60 @for
dir in
$(DIRS
) $(FILE_SYS_DIRS
) $(EXTRA_SRC_DIRS
) ;\
63 echo cleaning directory
$$dir ;\
64 (cd
$$dir && rm -f
*.o
*.lo
*.gcno
*.gcda
*.bb
*.bbg
) ;\
67 echo cleaning directory test-internal
;\
68 (cd test-internal
&& $(MAKE
) clean);\
71 echo cleaning directory
test ;\
72 (cd
test && $(MAKE
) clean);\
76 @if
[ "$(WITHIN_KNOWN_MPI_IMPL)" = no
] ; then \
78 echo
"deleting previously built library if it exists" ;\
81 @for
dir in
$(DIRS
) $(FILE_SYS_DIRS
) $(EXTRA_SRC_DIRS
) ;\
84 echo compiling ROMIO in directory
$$dir ;\
86 (cd
$$dir && $(MAKE
);) || exit
1 ;\
87 if
[ $$?
!= 0 ] ; then \
88 echo
"Make failed in directory $$dir" ; exit
1 ;\
92 # We no longer need to clean before building the profiling interface
94 @if
[ "@HAVE_WEAK_SYMBOLS@" = 0 ] ; then \
95 for
dir in
$(MPIO_DIRS
) $(EXTRA_SRC_DIRS
) ;\
98 echo building profiling interface in directory
$$dir ;\
101 $(MAKE
) profile MPIOPROFILE
="-DMPIO_BUILD_PROFILING";) || exit
1;\
102 if
[ $$?
!= 0 ] ; then \
103 echo
"Make failed in directory $$dir" ; exit
1 ;\
108 # FIXME: This should look at the enabled File systems
110 (cd mpi-io
&& make coverage
)
111 (cd adio
/ad_ufs
&& make coverage
)
112 (cd adio
/ad_nfs
&& make coverage
)
115 @dirs
=`echo "$(ALL_DIRS)"`; \
116 echo
"cleaning test directory" ;\
117 (cd
test && ${MAKE} cleanall
) ;\
118 echo cleaning current directory
;\
119 (rm -f config.status Makefile
*~
*.log romio.
tar* localdefs
) ;\
123 if
[ ! -d
$$dir ] ; then continue
; fi
; \
124 echo cleaning directory
$$dir ;\
125 (cd
$$dir && rm -f
*.o Makefile
*~
) ;\
128 echo
"cleaning directory include" ;\
129 (cd
include && rm -f
*.h
);\
131 echo
"cleaning directory adio/include" ;\
132 (cd adio
/include && rm -f romioconf.h
);\
134 echo
"cleaning directory util" ;\
135 (cd util
&& rm -f romioinstall
*~
)
140 @.
/util
/romioinstall
-prefix=$(PREFIX
)
142 # LAM added uninstall target
144 @.
/util
/romioinstall
-prefix=$(PREFIX
) -uninstall
146 # FIXME: To avoid problems with noisy make programs, these should be accessed
147 # through entries in localdefs .
149 @echo
'@ROMIO_LFLAGS@'
152 @echo
'@ROMIO_LIBLIST@'
155 @echo
'@ROMIO_TCFLAGS@'
158 @echo
'@ROMIO_TCPPFLAGS@'
161 @echo
'@ROMIO_TFFLAGS@'
163 # distclean the standard form for cleanall
166 # Allow dependencies target
169 # MPICH2 documentation targets
171 (cd mpi-io
&& $(MAKE
) mandoc
)
173 (cd mpi-io
&& $(MAKE
) htmldoc
)
175 (cd mpi-io
&& $(MAKE
) latexdoc
)
180 for
dir in mpi-io adio
/common
- ; do \
181 if
[ "$$dir" = "-" ] ; then break
; fi
; \
182 (cd
$$dir && ${MAKE} TAGS
; ) ; done
184 # This target is appropriate for autoconf 2.59 (the command line options
185 # for selecting the macro directories changes in incompatible ways between
186 # autoconf releases).
187 ${srcdir}/configure
: ${srcdir}/configure.in
188 cd
${srcdir} && autoheader
-I confdb
189 cd
${srcdir} && rm -rf autom4te
*.cache
&& autoconf
-I confdb