ledger/Makefile.am
John Wiegley 808aa5c064 r381@user1022: johnw | 2007-06-01 15:56:56 -0400
Added fdstream.hpp to list of headers
2008-04-13 03:39:08 -04:00

305 lines
7.5 KiB
Makefile

SUBDIRS = gdtoa
BUILT_SOURCES =
CLEANFILES =
EXTRA_DIST = LICENSE docs tests contrib scripts setup.py \
acprep valgrind.sh src/TODO # src/gnucash.cc src/ofx.cc
ESC_srcdir=`echo "$(srcdir)" | sed 's/\//\\\\\//g'`
ESC_builddir=`echo "$(top_builddir)" | sed 's/\//\\\\\//g'`
ESC_distdir=`echo "$(distdir)" | sed 's/\//\\\\\//g'`
dist-hook:
rm -fr `find $(distdir) -name .svn`
lib_LTLIBRARIES = libledger.la
AM_YFLAGS = -d
AM_LFLAGS = -o $(LEX_OUTPUT_ROOT).c
libledger_la_LDFLAGS = -release $(PACKAGE_VERSION)
libledger_la_CPPFLAGS = \
-I$(top_builddir)/gdtoa \
-I$(srcdir)/gdtoa \
-I$(srcdir)/src \
-I$(srcdir)/src/utility \
-I$(srcdir)/src/numerics \
-I$(srcdir)/src/data \
-I$(srcdir)/src/traversal \
-I$(srcdir)/src/driver
libledger_la_SOURCES = \
src/utility/utils.cc \
src/utility/times.cc \
src/utility/binary.cc \
src/utility/mask.cc \
src/numerics/commodity.cc \
src/numerics/amount.cc \
src/numerics/balance.cc \
src/numerics/value.cc \
src/data/document.cc \
src/data/node.cc \
src/data/textual.cc \
src/data/compile.cc \
src/data/journal.cc \
src/data/jbuilder.cc \
src/traversal/xpath.cc \
src/traversal/transform.cc \
src/traversal/abbrev.cc \
src/driver/session.cc \
src/driver/report.cc
if HAVE_BOOST_PYTHON
Python_SRC = \
src/python/pyinterp.cc \
src/python/pyledger.cc \
src/python/py_amount.cc \
src/python/py_commodity.cc \
src/python/py_times.cc \
src/python/py_utils.cc
libledger_la_SOURCES += $(Python_SRC)
libledger_la_CPPFLAGS += -I$(srcdir)/src/python
endif
#if HAVE_LIBOFX
#libledger_la_CPPFLAGS += -DHAVE_LIBOFX=1
#libledger_la_SOURCES += src/ofx.cc
#endif
if DEBUG
libledger_la_CPPFLAGS += -DDEBUG_MODE
endif
if USE_PCH
nodist_libledger_la_SOURCES = system.hh.gch
BUILT_SOURCES += system.hh.gch
CLEANFILES += system.hh.gch system.hh
$(top_builddir)/system.hh.gch: $(srcdir)/src/utility/system.hh acconf.h
echo "#include \"src/utility/system.hh\"" > $(top_builddir)/system.hh
$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(libledger_la_CPPFLAGS) \
-o $@ $(srcdir)/src/utility/system.hh
endif
pkginclude_HEADERS = \
src/ledger.h \
src/utility/system.hh \
src/utility/binary.h \
src/utility/context.h \
src/utility/flags.h \
src/utility/mask.h \
src/utility/pushvar.h \
src/utility/times.h \
src/utility/utils.h \
src/numerics/amount.h \
src/numerics/balance.h \
src/numerics/balpair.h \
src/numerics/commodity.h \
src/numerics/value.h \
src/data/builder.h \
src/data/compile.h \
src/data/document.h \
src/data/jbuilder.h \
src/data/journal.h \
src/data/node.h \
src/data/parser.h \
src/data/textual.h \
src/traversal/abbrev.h \
src/traversal/transform.h \
src/traversal/xpath.h \
src/driver/fdstream.hpp \
src/driver/option.h \
src/driver/report.h \
src/driver/session.h \
src/python/pyfstream.h \
src/python/pyinterp.h \
src/python/pyledger.h \
src/python/pyutils.h
###############################################################################
bin_PROGRAMS = ledger
ledger_CPPFLAGS = $(libledger_la_CPPFLAGS)
ledger_LDADD = $(LIBOBJS) libledger.la gdtoa/libgdtoa.la $(LEXLIB)
ledger_LDFLAGS = -static # for the sake of command-line speed
ledger_SOURCES = src/driver/option.cc src/driver/main.cc
nodist_info_TEXINFOS = docs/ledger.texi
###############################################################################
dist_lisp_LISP = lisp/ledger.el lisp/timeclock.el
DISTCLEANFILES = ledger.elc timeclock.elc
###############################################################################
if HAVE_BOOST_PYTHON
noinst_PROGRAMS = ledger.so
CLEANFILES += ledger.so
clean-local:
rm -fr build
ledger_so_SOURCES = $(Python_SRC)
ledger_so_DEPENDENCIES = libledger.la gdtoa/libgdtoa.la
PYLIBS = ledger gdtoa gmp \
boost_date_time$(BOOST_SUFFIX) \
boost_filesystem$(BOOST_SUFFIX) \
boost_regex$(BOOST_SUFFIX) \
boost_python$(BOOST_SUFFIX)
#if HAVE_LIBOFX
#PYLIBS += ofx
#endif
ledger.so: $(ledger_so_SOURCES) $(ledger_so_DEPENDENCIES)
CFLAGS="$(CPPFLAGS) -I$(srcdir) $(libledger_la_CPPFLAGS)" \
LDFLAGS="$(LDFLAGS) -L. -L.libs -Lgdtoa -Lgdtoa/.libs" \
PYLIBS="$(PYLIBS)" SRCDIR="$(srcdir)" \
python $(srcdir)/setup.py build --build-lib=.
install-exec-hook:
CFLAGS="$(CPPFLAGS) -I$(srcdir) $(libledger_la_CPPFLAGS)" \
LDFLAGS="$(LDFLAGS) -L. -L.libs -Lgdtoa -Lgdtoa/.libs" \
PYLIBS="$(PYLIBS)" SRCDIR="$(srcdir)" \
python $(srcdir)/setup.py install --prefix=$(prefix)
endif
###############################################################################
TESTS = UnitTests
if HAVE_BOOST_PYTHON
TESTS += PyUnitTests
endif
check_PROGRAMS = $(TESTS)
nodist_UnitTests_SOURCES = tests/UnitTests.cc \
\
tests/utility/t_utils.cc \
tests/utility/t_times.cc \
tests/numerics/t_commodity.cc \
tests/numerics/t_amount.cc \
tests/numerics/t_balance.cc
UnitTests_CPPFLAGS = -I$(srcdir)/tests $(libledger_la_CPPFLAGS)
UnitTests_LDFLAGS = $(LIBADD_DL)
UnitTests_LDADD = $(lib_LTLIBRARIES) gdtoa/libgdtoa.la -lcppunit
nodist_PyUnitTests_SOURCES = tests/python/PyUnitTests.py
# jww (2007-05-10): This rule will not be triggered on systems that
# define an EXEEXT.
PyUnitTests: $(srcdir)/tests/python/PyUnitTests.py
cat $(srcdir)/tests/python/PyUnitTests.py \
| sed "s/%srcdir%/$(ESC_srcdir)/g" \
| sed "s/%builddir%/$(ESC_builddir)/g" > $@
chmod 755 $@
fullcheck: check
MallocGuardEdges=1 \
MallocScribble=1 \
MallocPreScribble=1 \
MallocCheckHeapStart=100 \
MallocCheckHeapEach=100 \
DYLD_INSERT_LIBRARIES=/usr/lib/libgmalloc.dylib \
$(srcdir)/valgrind.sh $(top_builddir)/UnitTests$(EXEEXT) --verify
###############################################################################
DISTCLEANFILES += Doxyfile.gen
alldocs: docs/ledger.info docs/ledger.pdf doxygen-docs
$(top_builddir)/Doxyfile.gen: $(srcdir)/docs/Doxyfile
cat $(srcdir)/docs/Doxyfile \
| sed "s/%srcdir%/$(ESC_srcdir)/g" \
| sed "s/%builddir%/$(ESC_builddir)/g" > $@
doxygen-docs: $(top_builddir)/Doxyfile.gen
doxygen $(top_builddir)/Doxyfile.gen
###############################################################################
clean-backupfiles:
rm -fr *~ \
.*~ \
.\#*
clean-documentation:
(cd docs; \
rm -fr *.aux \
*.cp \
*.fn \
*.info \
*.ky \
*.log \
*.pdf \
*.pg \
*.toc \
*.tp \
*.vr)
clean-buildproducts:
rm -fr *.Plo \
*.Po \
*.a \
*.elc \
*.gcno \
*.gdca \
*.la \
*.lo \
*.o \
*.so \
.deps \
.libs \
build
clean-debugdata:
rm -fr .gdb_history \
TAGS \
gmon.out \
h \
out
clean-autoconf:
(cd $(srcdir);
rm -fr Makefile \
Makefile.in \
acconf.h \
acconf.h.in \
aclocal.m4 \
autom4te \
compile \
config.guess \
config.sub \
configure \
depcomp \
elc-stamp \
elc-temp \
elisp-comp \
install-sh \
libtool \
ltconfig \
ltmain.sh \
missing \
mkinstalldirs \
py-compile \
stamp \
texinfo.tex \
ylwrap)
all-clean: maintainer-clean \
clean-buildproducts \
clean-backupfiles \
clean-debugdata \
clean-documentation \
clean-autoconf