Makefile.in 11.7 KB
Newer Older
1
all: libdarshan-util.a darshan-null-logutils.o darshan-analyzer darshan-convert darshan-diff darshan-parser darshan-dxt-parser darshan-merge jenkins-hash-gen
2 3 4 5 6 7 8 9 10 11 12

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

DARSHAN_LOG_FORMAT = $(srcdir)/../darshan-log-format.h
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
DARSHAN_MOD_LOG_FORMATS = $(srcdir)/../darshan-posix-log-format.h \
			  $(srcdir)/../darshan-mpiio-log-format.h \
			  $(srcdir)/../darshan-hdf5-log-format.h \
			  $(srcdir)/../darshan-pnetcdf-log-format.h \
			  $(srcdir)/../darshan-bgq-log-format.h \
			  $(srcdir)/../darshan-lustre-log-format.h \
			  $(srcdir)/../darshan-stdio-log-format.h \
			  $(srcdir)/../darshan-dxt-log-format.h \
			  $(srcdir)/../darshan-mdhim-log-format.h

DARSHAN_MOD_LOGUTIL_HEADERS = darshan-posix-logutils.h \
			      darshan-mpiio-logutils.h \
			      darshan-hdf5-logutils.h \
			      darshan-pnetcdf-logutils.h \
			      darshan-bgq-logutils.h \
			      darshan-lustre-logutils.h \
			      darshan-stdio-logutils.h \
			      darshan-dxt-logutils.h \
			      darshan-mdhim-logutils.h

DARSHAN_STATIC_MOD_OBJS = darshan-posix-logutils.o \
			  darshan-mpiio-logutils.o \
			  darshan-hdf5-logutils.o \
			  darshan-pnetcdf-logutils.o \
			  darshan-bgq-logutils.o \
			  darshan-lustre-logutils.o \
			  darshan-stdio-logutils.o \
			  darshan-dxt-logutils.o \
			  darshan-mdhim-logutils.o

DARSHAN_DYNAMIC_MOD_OBJS = darshan-posix-logutils.po \
			   darshan-mpiio-logutils.po \
			   darshan-hdf5-logutils.po \
			   darshan-pnetcdf-logutils.po \
			   darshan-bgq-logutils.po \
			   darshan-lustre-logutils.po \
			   darshan-stdio-logutils.po \
			   darshan-dxt-logutils.po \
			   darshan-mdhim-logutils.po
55

56
DARSHAN_ENABLE_SHARED=@DARSHAN_ENABLE_SHARED@
57 58 59

VPATH = $(srcdir)

60
ifeq ($(DARSHAN_ENABLE_SHARED),1)
61
all: libdarshan-util.so darshan-null-logutils.po
62
endif
63 64
cp_zlib_link_flags = @__DARSHAN_ZLIB_LINK_FLAGS@
cp_zlib_include_flags = @__DARSHAN_ZLIB_INCLUDE_FLAGS@
65 66 67

# deliberately avoid large file support for host side utilities to avoid
# potentially buggy libz 64 bit offset support
68
CFLAGS = -I . -I .. -I $(srcdir) -I $(srcdir)/../ -DDARSHAN_CONFIG_H=\"darshan-util-config.h\" @CFLAGS@ @CPPFLAGS@ 
69
CFLAGS_SHARED = $(CFLAGS) -shared -fpic -DPIC 
70
LDFLAGS=@LDFLAGS@
71 72 73

CC=@CC@
LD=@LD@
74
AR=@AR@
75 76 77 78 79 80 81 82 83

LIBS = -lz @LIBBZ2@

mktestdir::
	mkdir -p test

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

84 85 86 87 88
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 $@

89 90 91 92 93
darshan-null-logutils.o: darshan-null-logutils.c darshan-logutils.h darshan-null-logutils.h $(DARSHAN_LOG_FORMAT) $(srcdir)/../darshan-null-log-format.h | uthash-1.9.2
	$(CC) $(CFLAGS) -c  $< -o $@
darshan-null-logutils.po: darshan-null-logutils.c darshan-logutils.h darshan-null-logutils.h $(DARSHAN_LOG_FORMAT) $(srcdir)/../darshan-null-log-format.h | uthash-1.9.2
	$(CC) $(CFLAGS_SHARED) -c  $< -o $@

94 95 96 97 98
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 $@

Philip Carns's avatar
Philip Carns committed
99 100 101 102 103
darshan-mpiio-logutils.o: darshan-mpiio-logutils.c darshan-logutils.h darshan-mpiio-logutils.h $(DARSHAN_LOG_FORMAT) $(srcdir)/../darshan-mpiio-log-format.h | uthash-1.9.2
	$(CC) $(CFLAGS) -c  $< -o $@
darshan-mpiio-logutils.po: darshan-mpiio-logutils.c darshan-logutils.h darshan-mpiio-logutils.h $(DARSHAN_LOG_FORMAT) $(srcdir)/../darshan-mpiio-log-format.h | uthash-1.9.2
	$(CC) $(CFLAGS_SHARED) -c  $< -o $@

104 105 106 107 108
darshan-hdf5-logutils.o: darshan-hdf5-logutils.c darshan-logutils.h darshan-hdf5-logutils.h $(DARSHAN_LOG_FORMAT) $(srcdir)/../darshan-hdf5-log-format.h | uthash-1.9.2
	$(CC) $(CFLAGS) -c  $< -o $@
darshan-hdf5-logutils.po: darshan-hdf5-logutils.c darshan-logutils.h darshan-hdf5-logutils.h $(DARSHAN_LOG_FORMAT) $(srcdir)/../darshan-hdf5-log-format.h | uthash-1.9.2
	$(CC) $(CFLAGS_SHARED) -c  $< -o $@

109 110 111 112 113
darshan-pnetcdf-logutils.o: darshan-pnetcdf-logutils.c darshan-logutils.h darshan-pnetcdf-logutils.h $(DARSHAN_LOG_FORMAT) $(srcdir)/../darshan-pnetcdf-log-format.h | uthash-1.9.2
	$(CC) $(CFLAGS) -c  $< -o $@
darshan-pnetcdf-logutils.po: darshan-pnetcdf-logutils.c darshan-logutils.h darshan-pnetcdf-logutils.h $(DARSHAN_LOG_FORMAT) $(srcdir)/../darshan-pnetcdf-log-format.h | uthash-1.9.2
	$(CC) $(CFLAGS_SHARED) -c  $< -o $@

114 115 116 117 118
darshan-bgq-logutils.o: darshan-bgq-logutils.c darshan-logutils.h darshan-bgq-logutils.h $(DARSHAN_LOG_FORMAT) $(srcdir)/../darshan-bgq-log-format.h | uthash-1.9.2
	$(CC) $(CFLAGS) -c  $< -o $@
darshan-bgq-logutils.po: darshan-bgq-logutils.c darshan-logutils.h darshan-bgq-logutils.h $(DARSHAN_LOG_FORMAT) $(srcdir)/../darshan-bgq-log-format.h | uthash-1.9.2
	$(CC) $(CFLAGS_SHARED) -c  $< -o $@

119 120 121 122 123
darshan-lustre-logutils.o: darshan-lustre-logutils.c darshan-logutils.h darshan-lustre-logutils.h $(DARSHAN_LOG_FORMAT) $(srcdir)/../darshan-lustre-log-format.h | uthash-1.9.2
	$(CC) $(CFLAGS) -c  $< -o $@
darshan-lustre-logutils.po: darshan-lustre-logutils.c darshan-logutils.h darshan-lustre-logutils.h $(DARSHAN_LOG_FORMAT) $(srcdir)/../darshan-lustre-log-format.h | uthash-1.9.2
	$(CC) $(CFLAGS_SHARED) -c  $< -o $@

124 125 126 127 128
darshan-stdio-logutils.o: darshan-stdio-logutils.c darshan-logutils.h darshan-stdio-logutils.h $(DARSHAN_LOG_FORMAT) $(srcdir)/../darshan-stdio-log-format.h | uthash-1.9.2
	$(CC) $(CFLAGS) -c  $< -o $@
darshan-stdio-logutils.po: darshan-stdio-logutils.c darshan-logutils.h darshan-stdio-logutils.h $(DARSHAN_LOG_FORMAT) $(srcdir)/../darshan-stdio-log-format.h | uthash-1.9.2
	$(CC) $(CFLAGS_SHARED) -c  $< -o $@

129
darshan-dxt-logutils.o: darshan-dxt-logutils.c darshan-logutils.h darshan-dxt-logutils.h $(DARSHAN_LOG_FORMAT) $(srcdir)/../darshan-dxt-log-format.h | uthash-1.9.2
130
	$(CC) $(CFLAGS) -c  $< -o $@
131
darshan-dxt-logutils.po: darshan-dxt-logutils.c darshan-logutils.h darshan-dxt-logutils.h $(DARSHAN_LOG_FORMAT) $(srcdir)/../darshan-dxt-log-format.h | uthash-1.9.2
132 133
	$(CC) $(CFLAGS_SHARED) -c  $< -o $@

134 135 136 137 138 139
darshan-mdhim-logutils.o: darshan-mdhim-logutils.c darshan-logutils.h darshan-mdhim-logutils.h $(DARSHAN_LOG_FORMAT) $(srcdir)/../darshan-mdhim-log-format.h | uthash-1.9.2
	$(CC) $(CFLAGS) -c  $< -o $@
darshan-mdhim-logutils.po: darshan-mdhim-logutils.c darshan-logutils.h darshan-mdhim-logutils.h $(DARSHAN_LOG_FORMAT) $(srcdir)/../darshan-mdhim-log-format.h | uthash-1.9.2
	$(CC) $(CFLAGS_SHARED) -c  $< -o $@


140
libdarshan-util.a: darshan-logutils.o $(DARSHAN_STATIC_MOD_OBJS)
141
	ar rcs libdarshan-util.a $^
142

143
libdarshan-util.so: darshan-logutils.po $(DARSHAN_DYNAMIC_MOD_OBJS) 
144 145
	$(CC) $(CFLAGS_SHARED) $(LDFLAGS) -o $@ $^ $(LIBS)
	
146 147
jenkins-hash-gen: jenkins-hash-gen.c lookup3.o
	$(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ $(LIBS)
148

149 150 151 152
lookup3.o: lookup3.c
	$(CC) $(CFLAGS) -c $< -o $@

darshan-analyzer: darshan-analyzer.c darshan-logutils.h $(DARSHAN_LOG_FORMAT) $(DARSHAN_MOD_LOGUTIL_HEADERS) $(DARSHAN_MOD_LOG_FORMATS) libdarshan-util.a | uthash-1.9.2
153
	$(CC) $(CFLAGS) $(LDFLAGS) $< libdarshan-util.a -o $@ $(LIBS)
154

155
darshan-convert: darshan-convert.c darshan-logutils.h $(DARSHAN_LOG_FORMAT) $(DARSHAN_MOD_LOGUTIL_HEADERS) $(DARSHAN_MOD_LOG_FORMATS) libdarshan-util.a lookup3.o | uthash-1.9.2
156
	$(CC) $(CFLAGS) $(LDFLAGS) $< lookup3.o libdarshan-util.a -o $@ $(LIBS)
157

158 159
darshan-diff: darshan-diff.c darshan-logutils.h $(DARSHAN_LOG_FORMAT) $(DARSHAN_MOD_LOGUTIL_HEADERS) $(DARSHAN_MOD_LOG_FORMATS) libdarshan-util.a | uthash-1.9.2
	$(CC) $(CFLAGS) $(LDFLAGS) $< libdarshan-util.a -o $@ $(LIBS) 
160

Shane Snyder's avatar
Shane Snyder committed
161
darshan-parser: darshan-parser.c darshan-logutils.h $(DARSHAN_LOG_FORMAT) $(DARSHAN_MOD_LOGUTIL_HEADERS) $(DARSHAN_MOD_LOG_FORMATS) libdarshan-util.a | uthash-1.9.2
162
	$(CC) $(CFLAGS) $(LDFLAGS) $< libdarshan-util.a -o $@ $(LIBS) 
Shane Snyder's avatar
Shane Snyder committed
163

164 165 166
darshan-dxt-parser: darshan-dxt-parser.c darshan-logutils.h $(DARSHAN_LOG_FORMAT) $(DARSHAN_MOD_LOGUTIL_HEADERS) $(DARSHAN_MOD_LOG_FORMATS) libdarshan-util.a | uthash-1.9.2
	$(CC) $(CFLAGS) $(LDFLAGS) $< libdarshan-util.a -o $@ $(LIBS) 

Shane Snyder's avatar
Shane Snyder committed
167
darshan-merge: darshan-merge.c darshan-logutils.h $(DARSHAN_LOG_FORMAT) $(DARSHAN_MOD_LOGUTIL_HEADERS) $(DARSHAN_MOD_LOG_FORMATS) libdarshan-util.a | uthash-1.9.2
168
	$(CC) $(CFLAGS) $(LDFLAGS) $< libdarshan-util.a -o $@ $(LIBS)
169

170 171
#test/gztest: test/gztest.c mktestdir
#	$(CC) $(CFLAGS)  $(LDFLAGS) -lz $< -o $@
172

173 174
#test/gz-bench: test/gz-bench.c mktestdir
#	$(CC) $(CFLAGS)  $(LDFLAGS) -lz $< -o $@
175 176 177 178

install:: all
	install -d $(bindir)
	install -d $(libdir)
179
	install -d $(includedir)
180
	install -d $(pkgconfigdir)
181 182
	install -m 755 darshan-analyzer $(bindir)
	install -m 755 darshan-convert $(bindir)
183
	install -m 755 darshan-diff $(bindir)
Shane Snyder's avatar
Shane Snyder committed
184
	install -m 755 darshan-parser $(bindir)
185
	install -m 755 darshan-dxt-parser $(bindir)
Shane Snyder's avatar
Shane Snyder committed
186
	install -m 755 darshan-merge $(bindir)
187
	install -m 755 $(srcdir)/darshan-summary-per-file.sh $(bindir)
188
	install -m 755 $(srcdir)/dxt_analyzer.py $(bindir)
189
	install -m 755 libdarshan-util.a $(libdir)
190 191 192
ifeq ($(DARSHAN_ENABLE_SHARED),1)
	install -m 755 libdarshan-util.so $(libdir)
endif
193
	install -m 644 $(srcdir)/darshan-logutils.h $(includedir)
194 195 196 197 198
	install -m 644 $(srcdir)/darshan-posix-logutils.h $(includedir)
	install -m 644 $(srcdir)/darshan-mpiio-logutils.h $(includedir)
	install -m 644 $(srcdir)/darshan-hdf5-logutils.h $(includedir)
	install -m 644 $(srcdir)/darshan-pnetcdf-logutils.h $(includedir)
	install -m 644 $(srcdir)/darshan-bgq-logutils.h $(includedir)
Shane Snyder's avatar
Shane Snyder committed
199
	install -m 644 $(srcdir)/darshan-null-logutils.h $(includedir)
200
	install -m 644 $(srcdir)/darshan-lustre-logutils.h $(includedir)
201
	install -m 644 $(srcdir)/darshan-stdio-logutils.h $(includedir)
202
	install -m 644 $(srcdir)/darshan-dxt-logutils.h $(includedir)
203
	install -m 644 $(srcdir)/darshan-mdhim-logutils.h $(includedir)
204
	install -m 644 $(srcdir)/../darshan-null-log-format.h $(includedir)
205 206 207 208 209
	install -m 644 $(srcdir)/../darshan-posix-log-format.h $(includedir)
	install -m 644 $(srcdir)/../darshan-mpiio-log-format.h $(includedir)
	install -m 644 $(srcdir)/../darshan-hdf5-log-format.h $(includedir)
	install -m 644 $(srcdir)/../darshan-pnetcdf-log-format.h $(includedir)
	install -m 644 $(srcdir)/../darshan-bgq-log-format.h $(includedir)
210
	install -m 644 $(srcdir)/../darshan-lustre-log-format.h $(includedir)
211
	install -m 644 $(srcdir)/../darshan-stdio-log-format.h $(includedir)
212
	install -m 644 $(srcdir)/../darshan-dxt-log-format.h $(includedir)
213
	install -m 644 $(srcdir)/../darshan-mdhim-log-format.h $(includedir)
214 215
	install -d $(includedir)/uthash-1.9.2
	install -d $(includedir)/uthash-1.9.2/src
Shane Snyder's avatar
Shane Snyder committed
216
	install -m 644 uthash-1.9.2/src/uthash.h $(includedir)/uthash-1.9.2/src/
217
	install -m 644 $(DARSHAN_LOG_FORMAT) $(includedir)
218 219 220 221 222 223 224 225
	install -m 755 darshan-job-summary/bin/darshan-job-summary.pl $(bindir)
	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)
	install -m 644 $(srcdir)/darshan-job-summary/share/* $(datarootdir)
226
	install -m 644 maint/darshan-util.pc $(pkgconfigdir)
227 228 229


clean::
230
	rm -f *.o *.po *.a *.so darshan-analyzer darshan-convert darshan-diff darshan-parser darshan-dxt-parser darshan-merge jenkins-hash-gen
231 232

distclean:: clean
Shane Snyder's avatar
Shane Snyder committed
233
	rm -f darshan-util-config.h aclocal.m4 autom4te.cache/* config.status config.log Makefile darshan-job-summary/bin/darshan-job-summary.pl maint/darshan-util.pc
234 235
	rm -rf uthash-1.9.2
	rm -rf autom4te.cache