Makefile.in 4.74 KB
Newer Older
1
all: darshan-util-lib darshan-posix-parser
2
#all: darshan-parser darshan-convert darshan-diff darshan-analyzer darshan-log-params darshan-util-lib
3 4 5 6 7 8 9 10 11 12 13

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@
14
pkgconfigdir = $(DESTDIR)$(libdir)/pkgconfig
15 16

DARSHAN_LOG_FORMAT = $(srcdir)/../darshan-log-format.h
17
DARSHAN_ENABLE_SHARED=@DARSHAN_ENABLE_SHARED@
18 19 20

VPATH = $(srcdir)

21 22 23
ifeq ($(DARSHAN_ENABLE_SHARED),1)
all: libdarshan-util.so
endif
24 25 26 27 28 29
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) -I $(srcdir)/../ -DDARSHAN_CONFIG_H=\"darshan-util-config.h\" @CFLAGS@ @CPPFLAGS@ 
30
CFLAGS_SHARED = $(CFLAGS) -shared -fpic -DPIC 
31
LDFLAGS=@LDFLAGS@
32 33 34

CC=@CC@
LD=@LD@
35
AR=@AR@
36 37 38 39 40 41 42 43 44

LIBS = -lz @LIBBZ2@

mktestdir::
	mkdir -p test

uthash-1.9.2:
	tar xjvf $(srcdir)/extern/uthash-1.9.2.tar.bz2

45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
darshan-logutils.o: darshan-logutils.c darshan-logutils.h $(DARSHAN_LOG_FORMAT) | uthash-1.9.2
	$(CC) $(CFLAGS) -c  $< -o $@
darshan-logutils.po: darshan-logutils.c darshan-logutils.h $(DARSHAN_LOG_FORMAT) | uthash-1.9.2
	$(CC) $(CFLAGS_SHARED) -c  $< -o $@

darshan-posix-logutils.o: darshan-posix-logutils.c darshan-logutils.h darshan-posix-logutils.h $(DARSHAN_LOG_FORMAT) $(srcdir)/../darshan-posix-log-format.h | uthash-1.9.2
	$(CC) $(CFLAGS) -c  $< -o $@
darshan-posix-logutils.po: darshan-posix-logutils.c darshan-logutils.h darshan-posix-logutils.h $(DARSHAN_LOG_FORMAT) $(srcdir)/../darshan-posix-log-format.h | uthash-1.9.2
	$(CC) $(CFLAGS_SHARED) -c  $< -o $@

libdarshan-util.so: darshan-logutils.po darshan-posix-logutils.po
	$(CC) $(CFLAGS_SHARED) $(LDFLAGS) -o $@ $^ $(LIBS)
	
darshan-util-lib: darshan-logutils.o darshan-posix-logutils.o
	ar rcs libdarshan-util.a $^

jenkins: util/bin/jenkins.o lookup3.o
	$(CC) $(CFLAGS)  $(LDFLAGS) $< -o $@ lookup3.o $(LIBS)

darshan-posix-parser: darshan-posix-parser.c darshan-logutils.h darshan-posix-logutils.h $(DARSHAN_LOG_FORMAT) $(srcdir)/../darshan-posix-log-format.h darshan-util-lib | uthash-1.9.2
	$(CC) $(CFLAGS) $(LDFLAGS) darshan-posix-parser.c libdarshan-util.a -o $@ $(LIBS) 
66

67 68
#darshan-parser: darshan-parser.c $(DARSHAN_LOG_FORMAT) darshan-logutils.h darshan-logutils.o | uthash-1.9.2
#	$(CC) $(CFLAGS) $(LDFLAGS) $< darshan-logutils.o -o $@ $(LIBS) 
69

70 71
#darshan-convert: darshan-convert.c $(DARSHAN_LOG_FORMAT) darshan-logutils.h darshan-logutils.o lookup3.o
#	$(CC) $(CFLAGS)  $(LDFLAGS) $< darshan-logutils.o lookup3.o -o $@ $(LIBS)
72

73 74 75 76 77
#darshan-analyzer: darshan-analyzer.c $(DARSHAN_LOG_FORMAT) darshan-logutils.h darshan-logutils.o
#	$(CC) $(CFLAGS)  $(LDFLAGS) $< darshan-logutils.o -o $@ $(LIBS)

#darshan-log-params: darshan-log-params.c $(DARSHAN_LOG_FORMAT)
#	$(CC) $(CFLAGS)  $(LDFLAGS) $< -o $@ $(LIBS)
78

79 80 81 82
#darshan-diff: darshan-diff.o $(DARSHAN_LOG_FORMAT) darshan-logutils.o darshan-logutils.h
#	$(CC) $(CFLAGS)  $(LDFLAGS) $< darshan-logutils.o -o $@ $(LIBS)
#darshan-diff.o: darshan-diff.c
#	$(CC) $(CFLAGS) -c  $< -o $@
83

84 85
#test/gztest: test/gztest.c mktestdir
#	$(CC) $(CFLAGS)  $(LDFLAGS) -lz $< -o $@
86

87 88
#test/gz-bench: test/gz-bench.c mktestdir
#	$(CC) $(CFLAGS)  $(LDFLAGS) -lz $< -o $@
89 90 91 92 93 94 95

lookup3.o: lookup3.c
	$(CC) $(CFLAGS) -c $< -o $@

install:: all
	install -d $(bindir)
	install -d $(libdir)
96
	install -d $(includedir)
97
	install -d $(pkgconfigdir)
98
#	install -m 755 darshan-parser $(bindir)
99
#	install -m 755 darshan-posix-parser $(bindir)
100 101 102 103
#	install -m 755 darshan-convert $(bindir)
#	install -m 755 darshan-diff $(bindir)
#	install -m 755 darshan-analyzer $(bindir)
#	install -m 755 $(srcdir)/darshan-summary-per-file.sh $(bindir)
104
	install -m 755 libdarshan-util.a $(libdir)
105 106 107
ifeq ($(DARSHAN_ENABLE_SHARED),1)
	install -m 755 libdarshan-util.so $(libdir)
endif
108 109
#	install -m 644 $(srcdir)/darshan-logutils.h $(includedir)
#	install -m 644 $(DARSHAN_LOG_FORMAT) $(includedir)
110
#	install -m 755 darshan-job-summary/bin/darshan-job-summary.pl $(bindir)
111 112 113 114 115 116
#	install -d $(libdir)/TeX
#	install -m 644 $(srcdir)/darshan-job-summary/lib/TeX/Encode.pm $(libdir)/TeX/
#	install -d $(libdir)/Number
#	install -d $(libdir)/Number/Bytes
#	install -m 644 $(srcdir)/darshan-job-summary/lib/Number/Bytes/Human.pm $(libdir)/Number/Bytes
#	install -d $(datarootdir)
117
#	install -m 644 $(srcdir)/darshan-job-summary/share/* $(datarootdir)
118
	install -m 644 maint/darshan-util.pc $(pkgconfigdir)
119 120 121


clean::
122
	rm -f *.o *.a darshan-posix-parser
123 124 125 126 127

distclean:: clean
	rm -f darshan-runtime-config.h aclocal.m4 autom4te.cache/* config.status config.log Makefile util/bin/darshan-job-summary.pl
	rm -rf uthash-1.9.2
	rm -rf autom4te.cache