gnucash/Makefile.am
Chris Shoemaker 53b5dc8ef7 Fail 'make distcheck' if POTFILES.in contains undistributed files.
The failure will also helpfully explain which files are the problem.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@13065 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-02-01 20:30:14 +00:00

191 lines
4.3 KiB
Makefile

SUBDIRS = . doc lib src intl-scm po rpm accounts
docdir = ${GNC_DOC_INSTALL_DIR}
GNC_CTAGS_FILE = @GNC_CTAGS_FILE@
GNC_ETAGS_FILE = @GNC_ETAGS_FILE@
noinst_DATA = make-gnucash-patch make-gnucash-potfiles .links
dist_doc_DATA = \
AUTHORS \
COPYING \
ChangeLog \
ChangeLog.2005 \
ChangeLog.2004 \
ChangeLog.2003 \
DOCUMENTERS \
HACKING \
INSTALL \
LICENSE \
NEWS \
README \
README.patches
m4datadir = $(datadir)/aclocal
m4data_DATA = gnucash.m4
# All the other files that go in the distribution tarfile that aren't
# included some other way...
# Most directories handle their own EXTRA_DIST setting, but for some,
# it's not worth the trouble and for others, there's no Makefile.am
# (i.e. ./intl and ./po -- these handle their own Makefile.in and
# Makefile.in.in files...), so we list their files here.
# Don't list any directories or you'll get *everything*, including the
# CVS dirs.
EXTRA_DIST = \
gnucash.lsm \
gnucash.m4 \
gnucash-config.in \
make-gnucash-patch.in \
make-gnucash-potfiles.in \
macros/aqbanking.m4 \
macros/as-scrub-include.m4 \
macros/compiler-flags.m4 \
macros/g-wrap.m4 \
macros/gnome-guile-checks.m4 \
macros/legacy_macros.m4 \
po/POTFILES.in \
po/README \
po/glossary/da.po \
po/glossary/de.po \
po/glossary/el.po \
po/glossary/es.po \
po/glossary/es_NI-policy.txt \
po/glossary/gnc-glossary.txt \
po/glossary/it.po \
po/glossary/nl.po \
po/glossary/nb.po \
po/glossary/pl.po \
po/glossary/pt.po \
po/glossary/pt_BR.po \
po/glossary/rw.po \
po/glossary/sk.po \
po/glossary/sv.po \
po/glossary/txt-to-pot.sh \
po/glossary/vi.po \
po/glossary/zh_TW.po \
intltool-extract.in \
intltool-merge.in \
intltool-update.in
bin_SCRIPTS = gnucash-config
CLEANFILES = gnucash-config
## We borrow guile's convention and use @-...-@ as the substitution
## brackets here, instead of the usual @...@. This prevents autoconf
## from substituting the values directly into the left-hand sides of
## the sed substitutions.
make-gnucash-patch: make-gnucash-patch.in Makefile
rm -f $@.tmp
sed < $< > $@.tmp \
-e 's:@-PERL-@:${PERL}:g'
chmod +x $@.tmp
mv $@.tmp $@
make-gnucash-potfiles: make-gnucash-potfiles.in Makefile
rm -f $@.tmp
sed < $< > $@.tmp \
-e 's:@-PERL-@:${PERL}:g'
chmod +x $@.tmp
mv $@.tmp $@
.links:
rm -f goffice gsf
if !HAVE_GOFFICE
ln -sf . goffice
endif
if !HAVE_LIBGSF
ln -sf $(srcdir)/lib/libgsf-1.12.3/gsf gsf
endif
touch .links
DISTCLEANFILES = \
intltool-extract intltool-update intltool-merge\
cscope.files cscope.out etags.files make-gnucash-patch \
make-gnucash-potfiles po/.intltool-merge-cache \
goffice gsf .links po/POTFILES.in
cscope.files:
find . -name '*.[ch]' > cscope.files
cscope.out: cscope.files
cscope -b
# make sure etags.files is up to date.
# and use the contents of etags.files to re-make TAGS if needed.
etags:
if GNC_ETAGS_FILE
${MAKE} -f Makefile.TAGS etags.files
${MAKE} -f Makefile.TAGS TAGS
else
@echo "You must ./configure with --enable-etags to use etags."
endif
# make sure etags.files is up to date.
# and use the contents of etags.files to re-make tags if needed.
ctags:
if GNC_CTAGS_FILE
${MAKE} -f Makefile.TAGS etags.files
${MAKE} -f Makefile.TAGS tags
else
@echo "You must ./configure with --enable-ctags to use ctags."
endif
.PHONY: etags ctags
ACLOCAL_AMFLAGS = -I macros -I m4
.PHONY: doc
doc:
$(MAKE) -C src/doc doc
distcleancheck_listfiles = \
find -type f -exec sh -c 'test -f ${srcdir}/{} || echo {}' ';'
dist-hook: po/POTFILES.in
distcheck-hook:
@e=''; \
for X in `grep -v \# ${distdir}/po/POTFILES.in` ; do \
if [ ! -f ${distdir}/$$X ] ; then \
echo $$X " is in POTFILES.in but not in the dist."; \
e='yes'; \
fi; \
done; \
if test "$$e" = "yes" ; then exit 1; fi;
distclean-local:
libtool: $(LIBTOOL_DEPS)
$(SHELL) ./config.status --recheck
.PHONY: pot
pot: Makefile po/POTFILES.in
rm -f intl-scm/guile-strings.c
${MAKE} -C intl-scm
rm -f po/$(PACKAGE).pot
${MAKE} -C po $(PACKAGE).pot
BUILT_SOURCES = po/POTFILES.in
po/POTFILES.in: make-gnucash-potfiles .potfiles
./make-gnucash-potfiles > ./po/POTFILES.in
.potfiles:
SVN = svn
XSLTPROC = xsltproc
ChangeLog.svn:
$(SVN) log -v --xml -r HEAD:11782 http://svn.gnucash.org/repo/gnucash | \
$(XSLTPROC) --stringparam strip-prefix "gnucash" \
--stringparam include-rev "yes" $(srcdir)/macros/svn2cl.xsl - > $@