diff options
Diffstat (limited to 'Makefile.am')
| -rw-r--r-- | Makefile.am | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..6d6d83c --- /dev/null +++ b/Makefile.am @@ -0,0 +1,92 @@ +AUTOMAKE_OPTIONS=gnits +# readme-alpha +AM_CFLAGS = $(WARN_CFLAGS) + +EXTRA_DIST = COPYING ChangeLog ChangeLog-2013 TODO config.h.in stamp-h.in \ + THANKS bootstrap \ + tool-versions.txt README-hacking +DISTCLEANFILES = tool-versions.txt + + +# "tests" is the gnulib unit test dir. +SUBDIRS = gl tests build-aux lib find xargs locate doc po m4 + +ACLOCAL_AMFLAGS = -I gl/m4 -I m4 + +TESTFILE_SUFFIXES = .exp .xo .xe .xi + +tool-versions.txt: Makefile + ( automake --version ; echo ; \ + autoconf --version ; echo ; \ + $(CC) --version ; echo ; \ + m4 --version ; echo ; \ + gettext --version ; echo ; \ + runtest --version ; echo ; \ + makeinfo --version ) > $@ + + +dist-hook: gen-ChangeLog findutils-check-pofiles findutils-check-testfiles + +# gen-Changelog must still work when $(top_srcdir)/.git does not exist +# because "make distcheck" verifies that you can "make dist" from the +# tarball generated by "make dist". We still need that to work. +.PHONY: gen-ChangeLog +gen-ChangeLog: + $(AM_V_GEN)if test -d $(top_srcdir)/.git; then \ + gen_start_date='2014-01-01' ; \ + log_fix="$(top_srcdir)/build-aux/git-log-fix" ; \ + test -e "$$log_fix" \ + && amend_git_log="--amend=$$log_fix" \ + || amend_git_log=; \ + { $(top_srcdir)/build-aux/gitlog-to-changelog \ + --srcdir=$(top_srcdir) \ + $$amend_git_log --since=$$gen_start_date \ + && cat $(top_srcdir)/ChangeLog-2013 ; \ + } > $(distdir)/cl-t \ + && { rm -f $(distdir)/ChangeLog \ + && mv $(distdir)/cl-t $(distdir)/ChangeLog; } \ + else \ + echo "WARNING: $@: cannot generate ChangeLog since" >&2 && \ + echo "$(top_srcdir) has no .git subdirectory" >&2 ; \ + fi + +## Check that we actually shipped all the .po files. If this rule fails, +## check ALL_LINGUAS in configure.in against the po files in the source +## directory (their names, not their contents) +findutils-check-pofiles: + @echo ; echo Checking to see if we distributed the full set of .po files + distcount=`ls $(distdir)/po/*.po | wc -l` ; srccount=`ls $(srcdir)/po/*.po | wc -l` ; test $$distcount -eq $$srccount || ( echo FAILED: Please check the value of ALL_LINGUAS in configure.in against the actual set of ".po" files >&2 ; false ) + @echo All .po files distributed OK. + +## Check that we actually shipped all the test files that exist in the source. +## runtest will run all the .exp files it finds, and so if we don't ship all +## of them, there will be some tests which people using the CVS code will be +## running, but people using the source distribution will not. +findutils-check-testfiles: + @echo + $(AUXDIR)/check-testfiles.sh "$(distdir)" "$(srcdir)" $(TESTFILE_SUFFIXES) + + +findutils-check-smells: + find $(srcdir) \( -path $(srcdir)/autom4te.cache -o \ + -path $(srcdir)/gnulib -o \ + -path $(srcdir)/gl -o \ + -path $(srcdir)/tests -o \ + -name .git -o \ + \( -type d -name CVS \) \ + \) -prune -o \ + \( -type f -o -type l \) \ + \! \( -name '*~' -o -name '*.xo' -o -name '*.xi' \) \ + -print0 | \ + xargs -0 python $(AUXDIR)/src-sniff.py + +# Clean coverage files generated by running binaries built with gcc +# -fprofile-arcs -ftest-coverage. We touch subdirectories here +# because the relecvant Makefile.am files (which we would otherwise +# edit to add an $(RM) command in their own coverage-clean rule) are +# generated by gnulib-tool and therefore we cannot add the rule to +# those files. +coverage-clean: + for dir in . gl/lib gl/lib/glthread gl/lib/uniwidth tests tests/uniwidth; do $(RM) $${dir}/*.gcno $${dir}/*.gcda $${dir}/*.gcov $${dir}/*.lcov; done + +clean-local: coverage-clean |
