gnucash/Makefile.am
Derek Atkins d86d61e227 Allow building from either SVN or SVK
- create gnc-svnversion script that builds the revision number
  from either SVN or SVK.  The script should fail gracefully if
  you don't have SVK installed
- convert the configure script to use the new gnc-svnversion script
- convert the splash-screen Makefile to use the gnc-svnversions script

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@14427 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-06-24 18:34:35 +00:00

210 lines
4.9 KiB
Makefile

SUBDIRS = . doc lib src intl-scm packaging po 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 lib/.links
dist_doc_DATA = \
AUTHORS \
COPYING \
ChangeLog \
ChangeLog.2005 \
ChangeLog.2004 \
ChangeLog.2003 \
DOCUMENTERS \
HACKING \
INSTALL \
LICENSE \
NEWS \
README \
README.patches \
README.dependencies
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/gnucash.pot \
po/POTFILES.in \
po/POTFILES.skip \
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/fr.po \
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 \
util/gnc-svnversion
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:@-SRCDIR-@:${srcdir}:g' \
-e 's:@-PERL-@:${PERL}:g'
chmod +x $@.tmp
mv $@.tmp $@
lib/.links:
rm -f goffice gsf
if !HAVE_GOFFICE
$(LN_S) -f . goffice
endif
if !HAVE_LIBGSF
$(LN_S) -f $(srcdir)/lib/libgsf-1.12.3/gsf gsf
endif
touch lib/.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 lib/.links po/POTFILES.in
cscope.files:
find src lib -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; \
for X in `grep -v \# ${distdir}/po/POTFILES.skip` ; do \
if [ -f ${distdir}/$$X ] ; then \
echo $$X " is in POTFILES.skip but also 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
# Creation rules so that po/gnucash.pot can always be created for
# make dist.
po/gnucash.pot: po/POTFILES.in intl-scm/guile-strings.c
${MAKE} -C po gnucash.pot
intl-scm/guile-strings.c:
${MAKE} -C intl-scm guile-strings.c
.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 - > $@