aboutsummaryrefslogtreecommitdiff
path: root/Makefile.am
diff options
context:
space:
mode:
authorng0 <ng0@n0.is>2019-11-16 13:43:33 +0000
committerng0 <ng0@n0.is>2019-11-16 13:43:33 +0000
commitbe91802c1a57c0d37247a15153958cd9bb2155d1 (patch)
tree91862329afb338e827db0e46d19536f76e56bde0 /Makefile.am
parentbfb22f3f3d81a786c5698e92e80bb8da250e3faf (diff)
downloadgnunet-be91802c1a57c0d37247a15153958cd9bb2155d1.tar.gz
gnunet-be91802c1a57c0d37247a15153958cd9bb2155d1.zip
addition to previous commit, properly implement make lint.
Diffstat (limited to 'Makefile.am')
-rw-r--r--Makefile.am52
1 files changed, 49 insertions, 3 deletions
diff --git a/Makefile.am b/Makefile.am
index e30ea1099..360a2e4c3 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -12,9 +12,6 @@ endif
12if DOCUMENTATION 12if DOCUMENTATION
13 SUBDIRS += doc 13 SUBDIRS += doc
14endif 14endif
15if HAVE_EXPERIMENTAL
16 SUBDIRS += lint
17endif
18 15
19# only manpages, needs "doc" subdir 16# only manpages, needs "doc" subdir
20if INCLUDE_MANPAGES 17if INCLUDE_MANPAGES
@@ -41,12 +38,61 @@ ACLOCAL_AMFLAGS = -I m4
41 38
42if HAVE_UNCRUSTIFY_BINARY 39if HAVE_UNCRUSTIFY_BINARY
43MCRUSTIFY = find $(top_srcdir) -type f -name '*.c' -or -name '*.h' -print0 | xargs -0 uncrustify -c $(top_srcdir)/contrib/uncrustify.cfg -q --replace --no-backup 2>&1 || true 40MCRUSTIFY = find $(top_srcdir) -type f -name '*.c' -or -name '*.h' -print0 | xargs -0 uncrustify -c $(top_srcdir)/contrib/uncrustify.cfg -q --replace --no-backup 2>&1 || true
41else
42MCRUSTIFY = echo "crustify: skipped"
44endif 43endif
45 44
46if HAVE_YAPF_BINARY 45if HAVE_YAPF_BINARY
47MYAPF = find $(top_srcdir) -type f -name '*.py' -or -name '*.py.in' -print0 | xargs -0 $(YAPF_BINARY) -i 2>&1 || true 46MYAPF = find $(top_srcdir) -type f -name '*.py' -or -name '*.py.in' -print0 | xargs -0 $(YAPF_BINARY) -i 2>&1 || true
47else
48MYAPF = echo "yapf: skipped"
48endif 49endif
49 50
50pretty: 51pretty:
51 $(MCRUSTIFY) 52 $(MCRUSTIFY)
52 $(MYAPF) 53 $(MYAPF)
54
55lint: check-bashisms check-texinfo check-man check-python
56
57check-bashisms:
58if 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
61else
62 printf "No checkbashisms in PATH, skipped"
63endif
64
65check-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
69check-python:
70 printf "Running flake8 and 2to3 if detected.\n"
71 $(top_srcdir)/contrib/scripts/lint/lint-python.sh || true
72
73# exception to add: ignore license files.
74# exception to add: uref's can go above 79 chars.
75check-texinfo:
76 printf "Running basic texinfo linters\n"
77 printf "...lines containing tabstops?\n" 2>&1 | tee $(top_srcdir)/doc/handbook/texinfo_handbook.log || true
78 printf "...lines containing tabstops?\n" 2>&1 | tee $(top_srcdir)/doc/tutorial/texinfo_tutorial.log || true
79 @cd $(top_srcdir)/doc/handbook ; find . -type f ! -path '*/.*' -name '*.texi' -print0 | xargs -0 awk '/\t/ {print FILENAME":"NR":"$$0}' > $(srcdir)/texinfo_handbook.log || true
80 @cd $(top_srcdir)/doc/tutorial ; find . -type f ! -path '*/.*' -name '*.texi' -print0 | xargs -0 awk '/\t/ {print FILENAME":"NR":"$$0}' > $(srcdir)/texinfo_tutorial.log || true
81 printf "...line length over 79 chars?\n" 2>&1 | tee $(top_srcdir)/doc/handbook/texinfo_handbook.log || true
82 @cd $(top_srcdir)/doc/handbook ; find . -type f ! -path '*/.*' -name '*.texi' -print0 | xargs -0 awk 'length>79 {print FILENAME":"NR":"$$0}' > $(srcdir)/texinfo_handbook.log || true
83 printf "...line length over 79 chars?\n" 2>&1 | tee $(top_srcdir)/doc/tutorial/texinfo_tutorial.log || true
84 @cd $(top_srcdir)/doc/tutorial ; find . -type f ! -path '*/.*' -name '*.texi' -print0 | xargs -0 awk 'length>79 {print FILENAME":"NR":"$$0}' > $(srcdir)/texinfo_tutorial.log || true
85 printf "...lines containing macros incompatible with old makeinfo?\n" 2>&1 | tee -a $(top_srcdir)/doc/handbook/texinfo_handbook.log || true
86 @cd $(top_srcdir)/doc/handbook ; find . -type f ! -path '*/.*' -name '*.texi' -print0 | xargs -0 awk '/@geq\{\}/ {print FILENAME":"NR":"$$0}' >> $(srcdir)/texinfo_handbook.log || true
87 printf "...lines containing macros incompatible with old makeinfo?\n" 2>&1 | tee -a $(top_srcdir)/doc/tutorial/texinfo_tutorial.log || true
88 @cd $(top_srcdir)/doc/tutorial ; find . -type f ! -path '*/.*' -name '*.texi' -print0 | xargs -0 awk '/@geq\{\}/ {print FILENAME":"NR":"$$0}' >> $(srcdir)/texinfo_tutorial.log || true
89 printf "...lines containing macros incompatible with texi2mdoc?\n" 2>&1 | tee -a $(top_srcdir)/doc/handbook/texinfo_handbook.log || true
90 @cd $(top_srcdir)/doc/handbook ; find . -type f ! -path '*/.*' -name '*.texi' -print0 | xargs -0 awk '/@footnote\{/ {print FILENAME":"NR":"$$0}' >> $(srcdir)/texinfo_handbook.log || true
91 printf "...lines containing macros incompatible with texi2mdoc?\n" 2>&1 | tee -a $(top_srcdir)/doc/tutorial/texinfo_tutorial.log || true
92 @cd $(top_srcdir)/doc/tutorial ; find . -type f ! -path '*/.*' -name '*.texi' -print0 | xargs -0 awk '/@footnote\{/ {print FILENAME":"NR":"$$0}' >> $(srcdir)/texinfo_tutorial.log || true
93 printf "...lines telling us what is left TODO or to fix?\n" 2>&1 | tee -a $(top_srcdir)/doc/handbook/texinfo_handbook.log || true
94 @cd $(top_srcdir)/doc/handbook ; find . -type f ! -path '*/.*' -name '*.texi' -print0 | xargs -0 awk '/TODO/ {print FILENAME":"NR":"$$0}' >> $(srcdir)/texinfo_handbook.log || true
95 @cd $(top_srcdir)/doc/handbook ; find . -type f ! -path '*/.*' -name '*.texi' -print0 | xargs -0 awk '/XXX/ {print FILENAME":"NR":"$$0}' >> $(srcdir)/texinfo_handbook.log || true
96 printf "...lines telling us what is left TODO or to fix?\n" 2>&1 | tee -a $(top_srcdir)/doc/tutorial/texinfo_tutorial.log || true
97 @cd $(top_srcdir)/doc/tutorial ; find . -type f ! -path '*/.*' -name '*.texi' -print0 | xargs -0 awk '/TODO/ {print FILENAME":"NR":"$$0}' >> $(srcdir)/texinfo_tutorial.log || true
98 @cd $(top_srcdir)/doc/tutorial ; find . -type f ! -path '*/.*' -name '*.texi' -print0 | xargs -0 awk '/XXX/ {print FILENAME":"NR":"$$0}' >> $(srcdir)/texinfo_tutorial.log || true