socket-default: Fix setting DSCP value on FreeBSD
[strongswan.git] / Makefile.am
1 SUBDIRS = src man conf init testing
2
3 if USE_FUZZING
4   SUBDIRS += fuzz
5 endif
6
7 if USE_SCRIPTS
8   SUBDIRS += scripts
9 endif
10
11 if USE_SILENT_RULES
12   AM_MAKEFLAGS = -s
13 endif
14
15 ACLOCAL_AMFLAGS = -I m4/config
16
17 EXTRA_DIST = Doxyfile.in LICENSE Android.common.mk.in Android.common.mk Android.mk
18 CLEANFILES = Doxyfile
19 BUILT_SOURCES = Android.common.mk
20 MAINTAINERCLEANFILES = Android.common.mk
21
22 if USE_DEV_HEADERS
23 config_includedir = $(ipseclibdir)/include
24 nodist_config_include_HEADERS = config.h
25 endif
26
27 # we can't (and shouldn't) install/uninstall system files during make distcheck,
28 # so override the autodetected path for systemd units
29 AM_DISTCHECK_CONFIGURE_FLAGS = \
30         --with-systemdsystemunitdir='$$(prefix)/lib/systemd/system'
31
32 # we leave config files behind intentionally so prevent distcheck from complaining
33 distuninstallcheck_listfiles = find . -type f \! -name '*.conf' \! -name '*.secrets' -print
34
35 Android.common.mk :     Android.common.mk.in configure.ac
36                 $(AM_V_GEN) \
37                 sed \
38                 -e "s:\@PACKAGE_VERSION\@:$(PACKAGE_VERSION):" \
39                 $(srcdir)/$@.in > $@
40
41 Doxyfile :      Doxyfile.in
42                 $(AM_V_GEN) \
43                 sed \
44                 -e "s:\@PACKAGE_VERSION\@:$(PACKAGE_VERSION):" \
45                 -e "s:\@PACKAGE_NAME\@:$(PACKAGE_NAME):" \
46                 -e "s:\@SRC_DIR\@:$(srcdir):g" \
47                 $(srcdir)/$@.in > $@
48
49 apidoc :        Doxyfile
50                 @test -d apidoc || doxygen
51                 @! find Doxyfile $(top_srcdir)/src/ \( -name '*.h' -o -name '*.md' \) -newer apidoc | \
52                         grep -q '' || doxygen && touch apidoc
53
54 cov-reset-common:
55                 @rm -rf $(top_builddir)/coverage
56                 @find $(top_builddir)/src $(top_builddir)/scripts -name "*.gcda" -delete
57
58 if COVERAGE
59 cov-reset: cov-reset-common
60                 @lcov --zerocounters --directory $(top_builddir)
61
62 cov-report:
63                 @mkdir $(top_builddir)/coverage
64                 lcov -c -o $(top_builddir)/coverage/coverage.info -d $(top_builddir) \
65                          --rc lcov_branch_coverage=1
66                 lcov -r $(top_builddir)/coverage/coverage.info '*/tests/*' '*/suites/*' '/usr*' \
67                          -o $(abs_top_builddir)/coverage/coverage.cleaned.info \
68                          --rc lcov_branch_coverage=1
69                 genhtml --num-spaces 4 --legend --branch-coverage --ignore-errors source \
70                                 -t "$(PACKAGE_STRING)" \
71                                 -o $(top_builddir)/coverage/html \
72                                 -p `readlink -m $(abs_top_srcdir)`/src \
73                                 $(top_builddir)/coverage/coverage.cleaned.info
74                 @echo "Coverage Report at $(top_builddir)/coverage/html" >&2
75
76 coverage:
77                 @$(MAKE) cov-reset
78                 @$(MAKE) check
79                 @$(MAKE) cov-report
80 else
81 coverage:
82                 @echo "reconfigure with --enable-coverage"
83 endif
84
85 clean-local: cov-reset-common
86                 @find $(top_builddir)/src $(top_builddir)/scripts -name "*.gcno" -delete
87                 @rm -rf apidoc
88
89 .PHONY: cov-reset-common cov-reset cov-report coverage apidoc