all: lib/libdarshan-posix.a lib/libdarshan-mpi-io.a darshan-parser darshan-diff darshan-analyzer darshan-log-params DESTDIR = srcdir = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datarootdir = $(DESTDIR)@datarootdir@ includedir = $(DESTDIR)@includedir@ mandir = $(DESTDIR)@mandir@ sbindir = $(DESTDIR)@sbindir@ bindir = $(DESTDIR)@bindir@ libdir = $(DESTDIR)@libdir@ DISABLE_LDPRELOAD = @DISABLE_LDPRELOAD@ ifndef DISABLE_LDPRELOAD all: lib/libdarshan.so endif VPATH = $(srcdir) 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@ CFLAGS_MPI = -I . -I $(srcdir) @CFLAGS@ @CPPFLAGS@ -D_LARGEFILE64_SOURCE CFLAGS_MPI_SHARED = -I . -I $(srcdir) @CFLAGS@ @CPPFLAGS@ -D_LARGEFILE64_SOURCE -shared -fpic -DPIC -DDARSHAN_PRELOAD CC=@MPICC@ LD=@MPICC@ lib:: @mkdir -p $@ mktestdir:: mkdir -p test uthash-1.9.2: tar xjvf $(srcdir)/extern/uthash-1.9.2.tar.bz2 darshan-parser: darshan-parser.c darshan.h darshan-log-format.h darshan-logutils.h darshan-logutils.o | uthash-1.9.2 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 | lib $(CC) $(cp_zlib_include_flags) $(CFLAGS_MPI) -c $< -o $@ lib/darshan-mpi-io.po: lib/darshan-mpi-io.c darshan.h darshan-log-format.h | lib $(CC) $(cp_zlib_include_flags) $(CFLAGS_MPI_SHARED) -c $< -o $@ lib/darshan-pnetcdf.o: lib/darshan-pnetcdf.c darshan.h darshan-log-format.h | lib $(CC) $(cp_zlib_include_flags) $(CFLAGS_MPI) -c $< -o $@ lib/darshan-pnetcdf.po: lib/darshan-pnetcdf.c darshan.h darshan-log-format.h | lib $(CC) $(cp_zlib_include_flags) $(CFLAGS_MPI_SHARED) -c $< -o $@ lib/darshan-hdf5.o: lib/darshan-hdf5.c darshan.h darshan-log-format.h | lib $(CC) $(cp_zlib_include_flags) $(CFLAGS_MPI) -c $< -o $@ lib/darshan-hdf5.po: lib/darshan-hdf5.c darshan.h darshan-log-format.h | lib $(CC) $(cp_zlib_include_flags) $(CFLAGS_MPI_SHARED) -c $< -o $@ lib/darshan-posix.o: lib/darshan-posix.c darshan.h darshan-log-format.h | lib $(CC) $(cp_zlib_include_flags) $(CFLAGS_MPI) -c $< -o $@ lib/darshan-posix.po: lib/darshan-posix.c darshan.h darshan-log-format.h | lib $(CC) $(cp_zlib_include_flags) $(CFLAGS_MPI_SHARED) -c $< -o $@ lib/lookup3.o: lib/lookup3.c $(CC) $(CFLAGS_MPI) -c $< -o $@ lib/lookup3.po: lib/lookup3.c $(CC) $(CFLAGS_MPI_SHARED) -c $< -o $@ lib/lookup8.o: lib/lookup8.c $(CC) $(CFLAGS_MPI) -c $< -o $@ lib/lookup8.po: lib/lookup8.c $(CC) $(CFLAGS_MPI_SHARED) -c $< -o $@ %.i: %.c $(CC) -E $(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 $@ $^ lib/libdarshan.so: lib/darshan-mpi-io.po lib/darshan-pnetcdf.po lib/darshan-hdf5.po lib/darshan-posix.po lib/lookup3.po lib/lookup8.po $(CC) $(CFLAGS_MPI_SHARED) -ldl -o $@ $^ -lpthread -lrt -lz install:: all install -d $(libdir) install -m 755 lib/libdarshan-posix.a $(libdir) install -m 755 lib/libdarshan-mpi-io.a $(libdir) ifndef DISABLE_LDPRELOAD install -m 755 lib/libdarshan.so $(libdir) endif install -d $(bindir) 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 darshan-gen-fortran.pl $(bindir) install -m 755 util/bin/darshan-job-summary.pl $(bindir) install -d $(libdir)/TeX install -m 644 $(srcdir)/util/lib/TeX/Encode.pm $(libdir)/TeX/ install -d $(libdir)/Number install -d $(libdir)/Number/Bytes install -m 644 $(srcdir)/util/lib/Number/Bytes/Human.pm $(libdir)/Number/Bytes install -d $(datarootdir) install -m 644 $(srcdir)/util/share/* $(datarootdir) clean:: rm -f *.o *.a lib/*.o lib/*.po lib/*.a lib/*.so darshan-parser darshan-diff darshan-analyzer darshan-log-params distclean:: clean rm -f darshan-config.h darshan-gen-cxx.pl darshan-gen-fortran.pl darshan-gen-cc.pl darshan-mk-log-dirs.pl aclocal.m4 autom4te.cache/* config.status config.log Makefile util/bin/darshan-job-summary.pl rm -f compilers/*-V1R4 compilers/fast/*-V1R4 compilers/*-pcarns rm -rf uthash-1.9.2 rm -rf autom4te.cache