summaryrefslogtreecommitdiff
path: root/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile.am')
-rw-r--r--Makefile.am92
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