Add simple time and performance measurement in verbose mode
[jigit.git] / Makefile
1 BINS = jigdump jigit-mkimage jigsum jigsum-sha256 rsyncsum lib extract-data parallel-sums
2 CFLAGS += -g -Wall -I libjte -pthread -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
3 #CC = gcc
4
5 CKSUM_OBJS = libjte/libjte_libjte_la-checksum.o libjte/libjte_libjte_la-md5.o libjte/libjte_libjte_la-sha1.o libjte/libjte_libjte_la-sha256.o libjte/libjte_libjte_la-sha512.o
6
7 all: $(BINS)
8
9 jigit-mkimage: mkimage.o endian.o md5.o libjte/libjte_libjte_la-sha256.o uncompress.o jig-base64.o
10         $(CC) $(LDFLAGS) -o $@ $+ -lz -lbz2
11
12 extract-data: extract-data.o endian.o uncompress.o
13         $(CC) $(LDFLAGS) -o $@ $+ -lz -lbz2
14
15 jigsum: jigsum.o md5.o jig-base64.o
16         $(CC) $(LDFLAGS) -o $@ $+
17
18 jigsum-sha256: jigsum-sha256.o libjte/libjte_libjte_la-sha256.o jig-base64.o
19         $(CC) $(LDFLAGS) -o $@ $+
20
21 rsyncsum: rsync.o md5.o jig-base64.o
22         $(CC) $(LDFLAGS) -o $@ $+
23
24 jigdump: jigdump.o md5.o jig-base64.o
25         $(CC) $(LDFLAGS) -o $@ $+
26
27 lib: libjte/Makefile
28         make -C libjte
29
30 libjte/Makefile:
31         cd libjte && ./configure
32
33 $(CKSUM_OBJS): lib
34
35 parallel-sums: parallel-sums.o $(CKSUM_OBJS)
36         $(CC) -pthread $(LDFLAGS) -o $@ $+ -lpthread
37
38 clean:
39         rm -f *.o $(BINS) *~ build-stamp
40         -make -C libjte clean
41
42 distclean: clean
43         -make -C libjte distclean
44
45 docdist:
46         for file in *.in; do \
47           OUT=$$(echo $$file | sed 's/\.in$$//'); \
48           sed "s/@VERSION@/$$VERSION/g;s/@MON_YEAR@/$$MON_YEAR/g" $$file > $$OUT; \
49         done
50
51 # Create source tarball from git. Complicated some - do autoconf dance
52 # in there too
53 gitdist:        Makefile
54                 @VERSION=$$(git describe | awk '{gsub("^.*/","");gsub("^v","");print $$0}'); \
55                 MON_YEAR=$$(date '+%B %Y'); \
56                 echo "VERSION is $$VERSION, MON_YEAR is \"$$MON_YEAR\""; \
57                 OUTPUT="jigit-$$VERSION"; \
58                 WD=$$(pwd); \
59                 if [ -e "../$$OUTPUT.tar.xz" ]; then \
60                  echo "../$$OUTPUT.tar.xz exists - delete it first"; \
61                  exit 1; \
62                 fi ; \
63                 if [ -d "../$$OUTPUT" ]; then \
64                  echo "../$$OUTPUT exists - delete it first"; \
65                  exit 1; \
66                 fi ; \
67                 echo "Creating working dir in ../$$OUTPUT"; \
68                 git archive --format=tar --prefix="$$OUTPUT/" HEAD | tar -C .. -xf - ; \
69                 echo "Running autoconf then cleanup in ../$$OUTPUT"; \
70                 cd ../$$OUTPUT/libjte && ./bootstrap && rm -rf autom4te.cache && \
71                   cd .. && make docdist VERSION="$$VERSION" MON_YEAR="$$MON_YEAR" && rm -f *.in; \
72                 echo "Creating dist tarball in ../$$OUTPUT.tar.xz"; \
73                 tar -C .. -c --xz -f ../$$OUTPUT.tar.xz $$OUTPUT; rm -rf ../$$OUTPUT; \
74                 cd $$WD;
75