all: checkpath lib/libdarshan-posix.a lib/libdarshan-mpi-io.a darshan-parser darshan-diff darshan-analyzer 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 $@ mktestdir:: mkdir -p test uthash-1.9.2: tar xjvf 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 | 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 $@ %.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 $@ $^ 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 -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) clean:: rm -f *.o *.a lib/*.o lib/*.a 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 rm -f compilers/*-V1R4 compilers/fast/*-V1R4 compilers/*-pcarns rm -rf uthash-1.9.2 rmdir autom4te.cache