root/openpgpsdk/trunk/Makefile

Revision 541 (checked in by rachel, 5 years ago)

CUnit only needs to be compiled once, not every time we make clean.

Line 
1 # order of build of subdirs is important
2 #
3 SUBDIRS=src examples tests
4
5 all: Makefiles include/openpgpsdk/configure.h headers default
6
7 headers:
8         cd include/openpgpsdk && make headers
9
10 default:
11         @set -e; for d in $(SUBDIRS); do \
12         (cd $$d; echo "+++ make in $$d"; make; echo "--- $$d"); \
13         done
14
15 include/openpgpsdk/configure.h: include/openpgpsdk/configure.h.template configure
16         echo re-run configure && exit 1
17
18 force_depend:
19         @set -e; for d in $(SUBDIRS); do \
20         (cd $$d; echo "+++ make force_depend in $$d"; make force_depend ; echo "--- $$d"); \
21         done
22
23 clean:
24         @set -e; for d in $(SUBDIRS); do \
25         (cd $$d; echo "+++ make clean in $$d"; make clean; echo "--- $$d"); \
26         done
27         find . -name '*.core' | xargs rm -f
28         rm -rf oink-links
29         -rm lib/*
30         # reinstall the CUnit libs
31         (cd CUnit-2.1-0; make install)
32
33 Makefiles:
34         @set -e; for d in $(SUBDIRS); do \
35         (cd $$d; echo "+++ make Makefile in $$d"; make Makefile; echo "--- $$d"); \
36         done
37
38 tags:
39         rm -f TAGS
40         find . -name '*.[ch]' | xargs etags
41
42 test::
43         cd examples && make test
44
45 doc::
46         cd doc && make
47
48 cunit:
49         if [ ! -d CUnit-2.1-0 ]; then \
50                 tar xvfz CUnit-2.1-0-src.tar.gz; \
51                 (cd CUnit-2.1-0 && ./configure --prefix $(PWD) && make && make install); \
52         fi
53
54
55 coverity::
56         cov-build --dir coverity make
57         cd coverity && cov-analyze -e emit/ --outputdir output/ --enable VOLATILE --security --enable CHROOT --enable OPEN_ARGS --enable SECURE_CODING --enable SECURE_TEMP --enable TAINTED_POINTER --enable TOCTTOU && cov-commit-errors -e ./emit -o ./output -d /home/rachel/openpgpsdk/coverity/database/ --name ben
58
59 oink:
60         rm -rf oink-links
61         mkdir oink-links
62         cd oink-links \
63         && find ../src ../examples -name '*.[ihc]' -exec ln -s {} \; \
64         && ln -s ../util/Makefile.oink Makefile
Note: See TracBrowser for help on using the browser.