rewrite sed logic used in Makefiles and move into dosubst awk script.
[oweals/gnunet.git] / Makefile.am
1 # This Makefile.am is in the public domain
2 AM_CPPFLAGS = -I$(top_srcdir)/src/include
3
4 # only documentation (ALL of the documentation)
5 if DOCUMENTATION_ONLY
6   SUBDIRS = bin doc
7 else
8   SUBDIRS = m4 bin src po pkgconfig
9 endif
10
11 # documentation on / off switch (affects all of the documentation)
12 if DOCUMENTATION
13   SUBDIRS += doc
14 endif
15
16 # only manpages, needs "doc" subdir
17 if INCLUDE_MANPAGES
18   SUBDIRS += doc
19 endif
20
21 if !TALER_ONLY
22   SUBDIRS += contrib
23 endif
24
25 EXTRA_DIST = \
26  ABOUT-NLS \
27  config.rpath \
28  acinclude.m4 \
29  README.1st
30
31 gnunetincludedir = $(includedir)/gnunet
32 gnunetinclude_HEADERS = gnunet_config.h
33
34 docdir = $(datadir)/doc/gnunet/
35 doc_DATA = COPYING README
36
37 ACLOCAL_AMFLAGS = -I m4
38
39 if HAVE_UNCRUSTIFY_BINARY
40 MCRUSTIFY = find $(top_srcdir) -type f -name '*.c' -or -name '*.h' -print0 | xargs -0 uncrustify -c $(top_srcdir)/uncrustify.cfg -q --replace --no-backup 2>&1 || true
41 else
42 MCRUSTIFY = echo "crustify: skipped"
43 endif
44
45 if HAVE_YAPF_BINARY
46 MYAPF = find $(top_srcdir) -type f -name '*.py' -or -name '*.py.in' -print0 | xargs -0 $(YAPF_BINARY) -i 2>&1 || true
47 else
48 MYAPF = echo "yapf: skipped"
49 endif
50
51 pretty:
52         $(MCRUSTIFY)
53         $(MYAPF)
54
55 lint: check-bashisms check-texinfo check-man check-python
56
57 check-bashisms:
58 if HAVE_CHECKBASHISMS
59         printf "If checkbashisms.pl is in PATH, run checkbashism on all .sh files.\n"
60         find '.' -type f ! -path '*/.*' ! -path '*/_*' -name '*.sh' -print0 | xargs -0 checkbashisms.pl -f 2>&1 | tee $(srcdir)/bashism.log || true
61 else
62         printf "No checkbashisms in PATH, skipped"
63 endif
64
65 check-man:
66         printf "Running lint-man.sh in doc/man.\n"
67         @cd $(top_srcdir)/doc/man ; ../../contrib/scripts/lint/lint-man.sh || true
68
69 check-python:
70         printf "Running flake8 and 2to3 if detected.\n"
71         $(top_srcdir)/contrib/scripts/lint/lint-python.sh || true
72
73 if HAVE_AWK
74 check-texinfo:
75         @cd $(top_srcdir); find . -type f ! -path '*/.*' -name '*.texi' -print0 | xargs -0 ./contrib/scripts/check-texinfo.awk > $(srcdir)/texinfo_lint.log || true
76 endif