AMPI #952: update ROMIO to MPICH2-1.4.1p1
[charm.git] / src / libs / ck-libs / ampi / romio / Makefile.in
blob0e1a18527c1b2cf02f0fee1f75ba5ce2cc7dbc82
1 ARCH = @ARCH@
2 RANLIB = @RANLIB@
3 FILE_SYSTEM = @FILE_SYSTEM@
4 MAKE = @MAKE@
5 AR = @AR@
6 LIBNAME = @LIBNAME@
7 NOF77 = @NOF77@
8 NOPROFILE = @NOPROFILE@
9 PREFIX = @prefix@
10 srcdir = @srcdir@
11 BUILD_MPI_INFO = @BUILD_MPI_INFO@
12 BUILD_MPI_ARRAY = @BUILD_MPI_ARRAY@
13 DIRS = mpi-io adio/common @GLUE_DIR@
14 MPIO_DIRS = mpi-io
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
18 SHELL = /bin/sh
20 @VPATH@
22 all: mpio
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)
37 # $(MAKE) clean
38 mpio:
39 $(MAKE) mpiolib
40 @if [ "$(NOPROFILE)" = 0 ] ; then\
41 $(MAKE) profile || exit 1; \
42 fi;\
43 $(RANLIB) $(LIBNAME)
44 @if [ "$(WITHIN_KNOWN_MPI_IMPL)" = no ] ; then \
45 echo " "; \
46 echo "Completed build of ROMIO. Check the output for errors."; \
47 echo " " ;\
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'." ; \
53 echo " " ;\
55 @sleep 1
57 # FIXME: This should invoke the clean targets in each of the Makefiles.
58 clean:
59 @-rm -f work.pc work.pcl
60 @for dir in $(DIRS) $(FILE_SYS_DIRS) $(EXTRA_SRC_DIRS) ;\
61 do \
62 echo " " ;\
63 echo cleaning directory $$dir ;\
64 (cd $$dir && rm -f *.o *.lo *.gcno *.gcda *.bb *.bbg) ;\
65 done; \
66 echo " " ;\
67 echo cleaning directory test-internal ;\
68 (cd test-internal && $(MAKE) clean);\
69 echo " ";\
70 echo " " ;\
71 echo cleaning directory test ;\
72 (cd test && $(MAKE) clean);\
73 echo " ";
75 mpiolib:
76 @if [ "$(WITHIN_KNOWN_MPI_IMPL)" = no ] ; then \
77 echo " " ;\
78 echo "deleting previously built library if it exists" ;\
79 rm -f $(LIBNAME) ;\
81 @for dir in $(DIRS) $(FILE_SYS_DIRS) $(EXTRA_SRC_DIRS) ;\
82 do \
83 echo " " ;\
84 echo compiling ROMIO in directory $$dir ;\
85 sleep 1;\
86 (cd $$dir && $(MAKE);) || exit 1 ;\
87 if [ $$? != 0 ] ; then \
88 echo "Make failed in directory $$dir" ; exit 1 ;\
89 fi ;\
90 done
92 # We no longer need to clean before building the profiling interface
93 profile:
94 @if [ "@HAVE_WEAK_SYMBOLS@" = 0 ] ; then \
95 for dir in $(MPIO_DIRS) $(EXTRA_SRC_DIRS) ;\
96 do \
97 echo " " ;\
98 echo building profiling interface in directory $$dir ;\
99 sleep 1;\
100 (cd $$dir && \
101 $(MAKE) profile MPIOPROFILE="-DMPIO_BUILD_PROFILING";) || exit 1;\
102 if [ $$? != 0 ] ; then \
103 echo "Make failed in directory $$dir" ; exit 1 ;\
104 fi ;\
105 done ;\
108 # FIXME: This should look at the enabled File systems
109 coverage:
110 (cd mpi-io && make coverage)
111 (cd adio/ad_ufs && make coverage)
112 (cd adio/ad_nfs && make coverage)
114 cleanall:
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) ;\
120 for dir in $$dirs ;\
121 do \
122 echo " " ;\
123 if [ ! -d $$dir ] ; then continue ; fi ; \
124 echo cleaning directory $$dir ;\
125 (cd $$dir && rm -f *.o Makefile *~) ;\
126 done; \
127 echo " " ;\
128 echo "cleaning directory include" ;\
129 (cd include && rm -f *.h);\
130 echo " " ;\
131 echo "cleaning directory adio/include" ;\
132 (cd adio/include && rm -f romioconf.h);\
133 echo " " ;\
134 echo "cleaning directory util" ;\
135 (cd util && rm -f romioinstall *~)
136 -rm -f lib
138 install:
139 $(MAKE) clean
140 @./util/romioinstall -prefix=$(PREFIX)
142 # LAM added uninstall target
143 uninstall:
144 @./util/romioinstall -prefix=$(PREFIX) -uninstall
146 # FIXME: To avoid problems with noisy make programs, these should be accessed
147 # through entries in localdefs .
148 romio_lflags:
149 @echo '@ROMIO_LFLAGS@'
151 romio_liblist:
152 @echo '@ROMIO_LIBLIST@'
154 romio_tcflags:
155 @echo '@ROMIO_TCFLAGS@'
157 romio_tcppflags:
158 @echo '@ROMIO_TCPPFLAGS@'
160 romio_tfflags:
161 @echo '@ROMIO_TFFLAGS@'
163 # distclean the standard form for cleanall
164 distclean: cleanall
166 # Allow dependencies target
167 dependencies:
169 # MPICH2 documentation targets
170 mandoc:
171 (cd mpi-io && $(MAKE) mandoc )
172 htmldoc:
173 (cd mpi-io && $(MAKE) htmldoc )
174 latexdoc:
175 (cd mpi-io && $(MAKE) latexdoc )
178 tags: TAGS
179 TAGS:
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