all: checkpath lib/libdarshan-posix.a lib/libdarshan-mpi-io.a darshan-parser darshan-diff darshan-analyzer test/gztest test/gz-bench darshan-log-params DESTDIR = srcdir = @srcdir@ prefix = @prefix@ datarootdir = @datarootdir@ exec_prefix = @exec_prefix@ includedir = $(DESTDIR)@includedir@ mandir = $(DESTDIR)@mandir@ sbindir = $(DESTDIR)@sbindir@ bindir = $(DESTDIR)@bindir@ libdir = $(DESTDIR)@libdir@ VPATH = $(srcdir) darshan_lib_path = @darshan_lib_path@ cp_zlib_link_flags = @__CP_ZLIB_LINK_FLAGS@ cp_zlib_include_flags = @__CP_ZLIB_INCLUDE_FLAGS@ # deliberately avoid large file support for host side utilities to avoid # potentially buggy libz 64 bit offset support CFLAGS = -I . -I $(srcdir) @CFLAGS@ @CPPFLAGS@ -Wall CFLAGS_MPI = -I . -I $(srcdir) @CFLAGS@ @CPPFLAGS@ -D_LARGEFILE64_SOURCE -Wall CC=@MPICC@ LD=@MPICC@ checkpath:: ifneq ($(darshan_lib_path),$(libdir)) @echo "Error: must match /lib, don't use --libdir!" @exit 1 endif mklibdir:: mkdir -p lib mktestdir:: mkdir -p test darshan-parser: darshan-parser.c darshan.h darshan-log-format.h darshan-logutils.h darshan-logutils.o gcc $(CFLAGS) -lz $< darshan-logutils.o -o $@ darshan-analyzer: darshan-analyzer.c darshan.h darshan-log-format.h darshan-logutils.h darshan-logutils.o gcc $(CFLAGS) -lz $< darshan-logutils.o -o $@ darshan-log-params: darshan-log-params.c darshan-log-format.h gcc $(CFLAGS) -lz $< -o $@ darshan-diff: darshan-diff.o darshan.h darshan-log-format.h darshan-logutils.o darshan-logutils.h gcc $(CFLAGS) -lz $< darshan-logutils.o -o $@ darshan-diff.o: darshan-diff.c gcc $(CFLAGS) -c $< -o $@ darshan-logutils.o: darshan-logutils.c gcc $(CFLAGS) -c $< -o $@ test/gztest: test/gztest.c mktestdir gcc $(CFLAGS) -lz $< -o $@ test/gz-bench: test/gz-bench.c mktestdir gcc $(CFLAGS) -lz $< -o $@ lib/darshan-mpi-io.o: lib/darshan-mpi-io.c darshan.h darshan-log-format.h mklibdir $(CC) $(cp_zlib_include_flags) $(CFLAGS_MPI) -c $< -o $@ lib/darshan-pnetcdf.o: lib/darshan-pnetcdf.c darshan.h darshan-log-format.h mklibdir $(CC) $(cp_zlib_include_flags) $(CFLAGS_MPI) -c $< -o $@ lib/darshan-hdf5.o: lib/darshan-hdf5.c darshan.h darshan-log-format.h mklibdir $(CC) $(cp_zlib_include_flags) $(CFLAGS_MPI) -c $< -o $@ lib/darshan-posix.o: lib/darshan-posix.c darshan.h darshan-log-format.h mklibdir $(CC) $(cp_zlib_include_flags) $(CFLAGS_MPI) -c $< -o $@ lib/lookup3.o: lib/lookup3.c $(CC) $(CFLAGS_MPI) -c $< -o $@ lib/lookup8.o: lib/lookup8.c $(CC) $(CFLAGS_MPI) -c $< -o $@ lib/libdarshan-mpi-io.a: lib/darshan-mpi-io.o lib/darshan-pnetcdf.o lib/darshan-hdf5.o ar rcs $@ $^ lib/libdarshan-posix.a: lib/darshan-posix.o lib/lookup3.o lib/lookup8.o ar rcs $@ $^ install:: all install -d $(libdir) install -m 755 lib/libdarshan-posix.a $(libdir) install -m 755 lib/libdarshan-mpi-io.a $(libdir) install -d $(bindir) install -d $(bindir)/fast install -m 755 darshan-parser $(bindir) install -m 755 darshan-diff $(bindir) install -m 755 darshan-analyzer $(bindir) install -m 755 darshan-mk-log-dirs.pl $(bindir) install -m 755 darshan-gen-cc.pl $(bindir) install -m 755 darshan-gen-cxx.pl $(bindir) install -m 755 compilers/mpicc-trace-bgp-V1R4 $(bindir)/mpicc install -m 755 compilers/mpicxx-trace-bgp-V1R4 $(bindir)/mpicxx install -m 755 compilers/mpif77-trace-bgp-V1R4 $(bindir)/mpif77 install -m 755 compilers/mpif90-trace-bgp-V1R4 $(bindir)/mpif90 install -m 755 compilers/mpixlc-trace-bgp-V1R4 $(bindir)/mpixlc install -m 755 compilers/mpixlcxx-trace-bgp-V1R4 $(bindir)/mpixlcxx install -m 755 compilers/mpixlf2003-trace-bgp-V1R4 $(bindir)/mpixlf2003 install -m 755 compilers/mpixlf77-trace-bgp-V1R4 $(bindir)/mpixlf77 install -m 755 compilers/mpixlf90-trace-bgp-V1R4 $(bindir)/mpixlf90 install -m 755 compilers/mpixlf95-trace-bgp-V1R4 $(bindir)/mpixlf95 install -m 755 compilers/mpixlc_r-trace-bgp-V1R4 $(bindir)/mpixlc_r install -m 755 compilers/mpixlcxx_r-trace-bgp-V1R4 $(bindir)/mpixlcxx_r install -m 755 compilers/mpixlf2003_r-trace-bgp-V1R4 $(bindir)/mpixlf2003_r install -m 755 compilers/mpixlf77_r-trace-bgp-V1R4 $(bindir)/mpixlf77_r install -m 755 compilers/mpixlf90_r-trace-bgp-V1R4 $(bindir)/mpixlf90_r install -m 755 compilers/mpixlf95_r-trace-bgp-V1R4 $(bindir)/mpixlf95_r install -m 755 compilers/mpicc-trace-bgp-V1R4 $(bindir)/fast/mpicc install -m 755 compilers/mpicxx-trace-bgp-V1R4 $(bindir)/fast/mpicxx install -m 755 compilers/mpif77-trace-bgp-V1R4 $(bindir)/fast/mpif77 install -m 755 compilers/mpif90-trace-bgp-V1R4 $(bindir)/fast/mpif90 install -m 755 compilers/mpixlc-trace-bgp-V1R4 $(bindir)/fast/mpixlc install -m 755 compilers/mpixlcxx-trace-bgp-V1R4 $(bindir)/fast/mpixlcxx install -m 755 compilers/mpixlf2003-trace-bgp-V1R4 $(bindir)/fast/mpixlf2003 install -m 755 compilers/mpixlf77-trace-bgp-V1R4 $(bindir)/fast/mpixlf77 install -m 755 compilers/mpixlf90-trace-bgp-V1R4 $(bindir)/fast/mpixlf90 install -m 755 compilers/mpixlf95-trace-bgp-V1R4 $(bindir)/fast/mpixlf95 install -m 755 compilers/mpixlc_r-trace-bgp-V1R4 $(bindir)/fast/mpixlc_r install -m 755 compilers/mpixlcxx_r-trace-bgp-V1R4 $(bindir)/fast/mpixlcxx_r install -m 755 compilers/mpixlf2003_r-trace-bgp-V1R4 $(bindir)/fast/mpixlf2003_r install -m 755 compilers/mpixlf77_r-trace-bgp-V1R4 $(bindir)/fast/mpixlf77_r install -m 755 compilers/mpixlf90_r-trace-bgp-V1R4 $(bindir)/fast/mpixlf90_r install -m 755 compilers/mpixlf95_r-trace-bgp-V1R4 $(bindir)/fast/mpixlf95_r clean:: rm -f *.o *.a lib/*.o lib/*.a darshan-parser darshan-diff darshan-analyzer