## @file
##
## $Id$
##
## $Date$
## $Author$
##
## @copy © Marc Wäckerlin
## @license LGPL, see file <a href="license.html">COPYING</a>
##
AM_CPPFLAGS += -I$(top_srcdir)
if HAVE_STACKTRACE
AM_CPPFLAGS += -DHAVE_STACKTRACE
endif
CLEANFILES = doxygen.errors functiontrace_test.log \
mrwautofunctiontracelog4cxx_test.log \
mrwautofunctiontracelog4cxx_test-mt.log \
$(VALTESTS) valgrind.log
examplesdir = $(pkgdatadir)/examples
dist_examples_DATA = $(top_srcdir)/mrw/examples/*
htmldir = $(pkgdatadir)/doc/html
pdfdir = $(pkgdatadir)/doc/pdf
if HAVE_DOXYGEN
html_DATA = $(top_builddir)/doc/html/index.html
dist_pdf_DATA = $(top_builddir)/doc/latex/@PACKAGENAME@-@MAJOR@.@MINOR@.@LEAST@.pdf
endif
lib_LTLIBRARIES = libmrw.la
if HAVE_BOOST_THREAD
lib_LTLIBRARIES += libmrw-mt.la
endif
if HAVE_STACKTRACE
lib_LTLIBRARIES += libmrwexcstderr.la
if HAVE_THREADS
if HAVE_BOOST_THREAD
lib_LTLIBRARIES += libmrwexcstderr-mt.la
endif
endif
if AUTOFNTRACE
lib_LTLIBRARIES += libmrwautofunctiontracestdlog.la
if HAVE_THREADS
if HAVE_BOOST_THREAD
lib_LTLIBRARIES += libmrwautofunctiontracestdlog-mt.la
endif
endif
endif
if HAVE_LOG4CXX
lib_LTLIBRARIES += libmrwexclog4cxx.la
if HAVE_BOOST_THREAD
lib_LTLIBRARIES += libmrwexclog4cxx-mt.la
endif
if AUTOFNTRACE
lib_LTLIBRARIES += libmrwautofunctiontracelog4cxx.la
if HAVE_THREADS
if HAVE_BOOST_THREAD
lib_LTLIBRARIES += libmrwautofunctiontracelog4cxx-mt.la
endif
endif
endif
endif
endif
if HAVE_LOG4CXX
lib_LTLIBRARIES += libmrwlog4cxxconfiguration.la
if HAVE_THREADS
lib_LTLIBRARIES += libmrwlog4cxxconfiguration-mt.la
endif
endif
libmrw_la_SOURCES = \
mrw.hpp version.cpp \
arg.cpp arg.hpp auto.hpp deque.hpp \
exception.cpp exception.hpp \
list.hpp \
map.hpp multimap.hpp multiset.hpp \
set.hpp \
smartpointer.hpp stdext.cpp stdext.hpp \
string.hpp unistd.hpp vector.hpp \
tokenizer.hpp \
errno.hpp errno.cpp
if HAVE_DIR
libmrw_la_SOURCES += file.hpp configfile.hpp configfile.cpp
endif
if HAVE_REGEXP
libmrw_la_SOURCES += regexp.hpp regexp.cpp
endif
if HAVE_EXEC
libmrw_la_SOURCES += exec.cpp exec.hpp
endif
if HAVE_LTDL
libmrw_la_SOURCES += dynamiclibrary.hpp
endif
if HAVE_LOG4CXX
libmrw_la_SOURCES += functiontrace.cpp functiontrace.hpp
endif
if HAVE_STACKTRACE
libmrw_la_SOURCES += \
stacktrace.hpp stacktrace.cpp
endif
libmrw_la_LDFLAGS = -version-info @LIB_VERSION@
libmrw_la_LIBADD =
if HAVE_STACKTRACE
libmrw_la_LIBADD += -lltdl
endif
if HAVE_THREADS
if HAVE_BOOST_THREAD
libmrw_mt_la_SOURCES = $(libmrw_la_SOURCES)
libmrw_mt_la_CXXFLAGS = @THREADS@
libmrw_mt_la_LDFLAGS = $(libmrw_la_LDFLAGS) -version-info @LIB_VERSION@ \
@THREADS@
libmrw_mt_la_LIBADD = $(libmrw_la_LIBADD) @BOOST_THREAD_LIB@
endif
endif
if HAVE_STACKTRACE
libmrwexcstderr_la_SOURCES = autostacktracestderr.cpp version.cpp
libmrwexcstderr_la_LDFLAGS = -version-info @LIB_VERSION@
libmrwexcstderr_la_LIBADD = $(top_builddir)/mrw/libmrw.la
if HAVE_THREADS
if HAVE_BOOST_THREAD
libmrwexcstderr_mt_la_SOURCES = autostacktracestderr.cpp version.cpp
libmrwexcstderr_mt_la_CXXFLAGS = @THREADS@
libmrwexcstderr_mt_la_LDFLAGS = -version-info @LIB_VERSION@ @THREADS@
libmrwexcstderr_mt_la_LIBADD = $(top_builddir)/mrw/libmrw-mt.la
endif
endif
if AUTOFNTRACE
libmrwautofunctiontracestdlog_la_SOURCES = autofunctiontracestdlog.cpp \
version.cpp
libmrwautofunctiontracestdlog_la_CXXFLAGS = -w
libmrwautofunctiontracestdlog_la_LDFLAGS = -version-info @LIB_VERSION@
libmrwautofunctiontracestdlog_la_LIBADD = $(top_builddir)/mrw/libmrw.la
if HAVE_THREADS
if HAVE_BOOST_THREAD
libmrwautofunctiontracestdlog_mt_la_SOURCES = \
autofunctiontracelog4cxx.cpp version.cpp
libmrwautofunctiontracestdlog_mt_la_CXXFLAGS = @THREADS@ -w
libmrwautofunctiontracestdlog_mt_la_LDFLAGS = \
-version-info @LIB_VERSION@ @THREADS@
libmrwautofunctiontracestdlog_mt_la_LIBADD = \
$(top_builddir)/mrw/libmrw-mt.la
endif
endif
endif
if HAVE_LOG4CXX
libmrwexclog4cxx_la_SOURCES = autostacktracelog4cxx.cpp version.cpp
libmrwexclog4cxx_la_LDFLAGS = -version-info @LIB_VERSION@
libmrwexclog4cxx_la_LIBADD = $(top_builddir)/mrw/libmrw.la -llog4cxx
if HAVE_THREADS
if HAVE_BOOST_THREAD
libmrwexclog4cxx_mt_la_SOURCES = autostacktracelog4cxx.cpp version.cpp
libmrwexclog4cxx_mt_la_CXXFLAGS = @THREADS@
libmrwexclog4cxx_mt_la_LDFLAGS = -version-info @LIB_VERSION@ @THREADS@
libmrwexclog4cxx_mt_la_LIBADD = $(top_builddir)/mrw/libmrw-mt.la -llog4cxx
endif
endif
if AUTOFNTRACE
libmrwautofunctiontracelog4cxx_la_SOURCES = autofunctiontracelog4cxx.cpp \
version.cpp
libmrwautofunctiontracelog4cxx_la_CXXFLAGS = -w
libmrwautofunctiontracelog4cxx_la_LDFLAGS = -version-info @LIB_VERSION@
libmrwautofunctiontracelog4cxx_la_LIBADD = $(top_builddir)/mrw/libmrw.la -llog4cxx
if HAVE_THREADS
if HAVE_BOOST_THREAD
libmrwautofunctiontracelog4cxx_mt_la_SOURCES = \
autofunctiontracelog4cxx.cpp version.cpp
libmrwautofunctiontracelog4cxx_mt_la_CXXFLAGS = @THREADS@ -w
libmrwautofunctiontracelog4cxx_mt_la_LDFLAGS = \
-version-info @LIB_VERSION@ @THREADS@
libmrwautofunctiontracelog4cxx_mt_la_LIBADD = \
$(top_builddir)/mrw/libmrw-mt.la -llog4cxx
endif
endif
endif
endif
endif
if HAVE_LOG4CXX
libmrwlog4cxxconfiguration_la_SOURCES = log4cxxconfiguration.cpp version.cpp
libmrwlog4cxxconfiguration_la_LDFLAGS = -version-info @LIB_VERSION@
libmrwlog4cxxconfiguration_la_LIBADD = -llog4cxx
if HAVE_THREADS
libmrwlog4cxxconfiguration_mt_la_SOURCES = log4cxxconfiguration.cpp \
version.cpp
libmrwlog4cxxconfiguration_mt_la_CXXFLAGS = @THREADS@
libmrwlog4cxxconfiguration_mt_la_LDFLAGS = -version-info @LIB_VERSION@ \
@THREADS@
libmrwlog4cxxconfiguration_mt_la_LIBADD = -llog4cxx
endif
endif
VALGRIND_CHECKS = auto_test smartpointer_test stdext_test \
tokenizer_test string_test
NO_VALGRIND_CHECKS =
if HAVE_DIR
VALGRIND_CHECKS += configfile_test
dist_check_SCRIPTS = configfile_check.sh
endif
if HAVE_REGEXP
VALGRIND_CHECKS += regexp_test
endif
if HAVE_EXEC
VALGRIND_CHECKS += exec_test
endif
if HAVE_LTDL
VALGRIND_CHECKS += dynamiclibrary_test
endif
if HAVE_LOG4CXX
VALGRIND_CHECKS += functiontrace_test
endif
if HAVE_STACKTRACE
NO_VALGRIND_CHECKS += stacktrace_test
VALGRIND_CHECKS += mrwexcstderr_test
if HAVE_LOG4CXX
VALGRIND_CHECKS += mrwexclog4cxx_test
if AUTOFNTRACE
NO_VALGRIND_CHECKS += mrwautofunctiontracelog4cxx_test
if HAVE_THREADS
if HAVE_BOOST_THREAD
NO_VALGRIND_CHECKS += mrwautofunctiontracelog4cxx_test-mt
endif
endif
endif
endif
endif
auto_test_SOURCES = auto_test.cpp version.cpp
auto_test_CPPFLAGS = -I$(top_srcdir) @CPPUNIT_CFLAGS@ -g3 -O0
auto_test_CXXFLAGS = -g3 -O0
auto_test_LDFLAGS = @CPPUNIT_LIBS@ -L.libs
auto_test_LDADD = $(top_builddir)/mrw/libmrw.la
if HAVE_STACKTRACE
auto_test_LDADD += $(top_builddir)/mrw/libmrwexcstderr.la
endif
smartpointer_test_SOURCES = smartpointer_test.cpp version.cpp
smartpointer_test_CPPFLAGS = -I$(top_srcdir) @CPPUNIT_CFLAGS@ -g3 -O0
smartpointer_test_CXXFLAGS = -g3 -O0
smartpointer_test_LDFLAGS = @CPPUNIT_LIBS@ -L.libs
smartpointer_test_LDADD = $(top_builddir)/mrw/libmrw.la
if HAVE_STACKTRACE
smartpointer_test_LDADD += $(top_builddir)/mrw/libmrwexcstderr.la
endif
if HAVE_EXEC
exec_test_SOURCES = exec_test.cpp version.cpp
exec_test_CPPFLAGS = -I$(top_srcdir) @CPPUNIT_CFLAGS@ -g3 -O0
exec_test_CXXFLAGS = -g3 -O0
exec_test_LDFLAGS = @CPPUNIT_LIBS@ -L.libs
exec_test_LDADD = $(top_builddir)/mrw/libmrw.la
if HAVE_STACKTRACE
exec_test_LDADD += $(top_builddir)/mrw/libmrwexcstderr.la
endif
endif
stdext_test_SOURCES = stdext_test.cpp version.cpp
stdext_test_CPPFLAGS = -I$(top_srcdir) @CPPUNIT_CFLAGS@ -g3 -O0
stdext_test_CXXFLAGS = -g3 -O0
stdext_test_LDFLAGS = @CPPUNIT_LIBS@ -L.libs
stdext_test_LDADD = $(top_builddir)/mrw/libmrw.la
if HAVE_STACKTRACE
stdext_test_LDADD += $(top_builddir)/mrw/libmrwexcstderr.la
endif
string_test_SOURCES = string_test.cpp version.cpp
string_test_CPPFLAGS = -I$(top_srcdir) @CPPUNIT_CFLAGS@ -g3 -O0
string_test_CXXFLAGS = -g3 -O0
string_test_LDFLAGS = @CPPUNIT_LIBS@ -L.libs
string_test_LDADD = $(top_builddir)/mrw/libmrw.la
if HAVE_STACKTRACE
string_test_LDADD += $(top_builddir)/mrw/libmrwexcstderr.la
endif
if HAVE_REGEXP
regexp_test_SOURCES = regexp_test.cpp version.cpp
regexp_test_CPPFLAGS = -I$(top_srcdir) @CPPUNIT_CFLAGS@ -g3 -O0
regexp_test_CXXFLAGS = -g3 -O0
regexp_test_LDFLAGS = @CPPUNIT_LIBS@ -L.libs
regexp_test_LDADD = $(top_builddir)/mrw/libmrw.la
if HAVE_STACKTRACE
regexp_test_LDADD += $(top_builddir)/mrw/libmrwexcstderr.la
endif
endif
tokenizer_test_SOURCES = tokenizer_test.cpp version.cpp
tokenizer_test_CPPFLAGS = -I$(top_srcdir) @CPPUNIT_CFLAGS@ -g3 -O0
tokenizer_test_CXXFLAGS = -g3 -O0
tokenizer_test_LDFLAGS = @CPPUNIT_LIBS@ -L.libs
tokenizer_test_LDADD = $(top_builddir)/mrw/libmrw.la
if HAVE_STACKTRACE
tokenizer_test_LDADD += $(top_builddir)/mrw/libmrwexcstderr.la
endif
if HAVE_DIR
configfile_test_SOURCES = configfile_test.cpp version.cpp
configfile_test_CPPFLAGS = -I$(top_srcdir) @CPPUNIT_CFLAGS@ -g3 -O0
configfile_test_CXXFLAGS = -g3 -O0
configfile_test_LDFLAGS = @CPPUNIT_LIBS@ -L.libs
configfile_test_LDADD = $(top_builddir)/mrw/libmrw.la
if HAVE_STACKTRACE
configfile_test_LDADD += $(top_builddir)/mrw/libmrwexcstderr.la
endif
endif
if HAVE_LTDL
check_LTLIBRARIES = libdynamiclibrary_testlib.la
libdynamiclibrary_testlib_la_SOURCES = dynamiclibrary_testlib.cpp
libdynamiclibrary_testlib_la_LDFLAGS = -module -rpath /bullshit
dynamiclibrary_test_SOURCES = dynamiclibrary_test.cpp version.cpp
dynamiclibrary_test_CPPFLAGS = -I$(top_srcdir) @CPPUNIT_CFLAGS@ -g3 -O0
dynamiclibrary_test_CXXFLAGS = -g3 -O0
dynamiclibrary_test_LDFLAGS = @CPPUNIT_LIBS@ -L.libs
dynamiclibrary_test_LDADD = $(top_builddir)/mrw/libmrw.la -lltdl
endif
if HAVE_LOG4CXX
functiontrace_test_SOURCES = functiontrace_test.cpp version.cpp
functiontrace_test_CPPFLAGS = -I$(top_srcdir) @CPPUNIT_CFLAGS@ -g3 -O0
functiontrace_test_CXXFLAGS = -g3 -O0
functiontrace_test_LDFLAGS = @CPPUNIT_LIBS@ -L.libs
functiontrace_test_LDADD = $(top_builddir)/mrw/libmrw.la -llog4cxx
if HAVE_STACKTRACE
functiontrace_test_LDADD += $(top_builddir)/mrw/libmrwexcstderr.la
endif
endif
if HAVE_STACKTRACE
stacktrace_test_SOURCES = stacktrace_test.cpp version.cpp
stacktrace_test_CPPFLAGS = -I$(top_srcdir) @CPPUNIT_CFLAGS@ -g3 -O0
stacktrace_test_CXXFLAGS = -g3 -O0
stacktrace_test_LDFLAGS = @CPPUNIT_LIBS@ -L.libs
stacktrace_test_LDADD = $(top_builddir)/mrw/libmrw.la $(top_builddir)/mrw/libmrwexcstderr.la
mrwexcstderr_test_SOURCES = mrwexcstderr_test.cpp version.cpp
mrwexcstderr_test_CPPFLAGS = -I$(top_srcdir) @CPPUNIT_CFLAGS@ -g3 -O0
mrwexcstderr_test_CXXFLAGS = -g3 -O0
mrwexcstderr_test_LDFLAGS = @CPPUNIT_LIBS@ -L.libs
mrwexcstderr_test_LDADD = $(top_builddir)/mrw/libmrwexcstderr.la
if HAVE_LOG4CXX
mrwexclog4cxx_test_SOURCES = mrwexclog4cxx_test.cpp version.cpp
mrwexclog4cxx_test_CPPFLAGS = -I$(top_srcdir) @CPPUNIT_CFLAGS@ -g3 -O0
mrwexclog4cxx_test_CXXFLAGS = -g3 -O0
mrwexclog4cxx_test_LDFLAGS = @CPPUNIT_LIBS@ -L.libs
mrwexclog4cxx_test_LDADD = $(top_builddir)/mrw/libmrwexclog4cxx.la -llog4cxx
if AUTOFNTRACE
mrwautofunctiontracelog4cxx_test_SOURCES = \
mrwautofunctiontracelog4cxx_test.cpp version.cpp
mrwautofunctiontracelog4cxx_test_CPPFLAGS = \
-I$(top_srcdir) @CPPUNIT_CFLAGS@ -finstrument-functions -g3 -O0
mrwautofunctiontracelog4cxx_test_CXXFLAGS = -g3 -O0 -finstrument-functions
mrwautofunctiontracelog4cxx_test_LDFLAGS = \
@CPPUNIT_LIBS@ -L.libs -finstrument-functions
mrwautofunctiontracelog4cxx_test_LDADD = \
-llog4cxx $(top_builddir)/mrw/libmrwautofunctiontracelog4cxx.la
if HAVE_THREADS
if HAVE_BOOST_THREAD
mrwautofunctiontracelog4cxx_test_mt_SOURCES = \
mrwautofunctiontracelog4cxx_test.cpp version.cpp
mrwautofunctiontracelog4cxx_test_mt_CPPFLAGS = \
-I$(top_srcdir) @CPPUNIT_CFLAGS@ -finstrument-functions -g3 -O0
mrwautofunctiontracelog4cxx_test_mt_CXXFLAGS = -g3 -O0 \
-finstrument-functions @THREADS@
mrwautofunctiontracelog4cxx_test_mt_LDFLAGS = \
@CPPUNIT_LIBS@ -L.libs @THREADS@ -finstrument-functions
mrwautofunctiontracelog4cxx_test_mt_LDADD = \
-llog4cxx $(top_builddir)/mrw/libmrwautofunctiontracelog4cxx-mt.la @BOOST_THREAD_LIB@
endif
endif
endif
endif
endif
dist_check_DATA = test.dat configfile.ini configfile.ini.result
EXTRA_DIST = head.html foot.html style.css hintergrund.png
if HAVE_VALGRIND
VALTESTS=$(VALGRIND_CHECKS:%=valcheck_%)
TESTS = $(VALTESTS) $(NO_VALGRIND_CHECKS) $(dist_check_SCRIPTS)
valcheck_%: %
echo "LD_LIBRARY_PATH=.libs $(top_srcdir)/valcheck.sh .libs/$<" > $@
chmod ugo+x $@
else
TESTS = $(check_PROGRAMS) $(dist_check_SCRIPTS)
endif
check_PROGRAMS = $(VALGRIND_CHECKS) $(NO_VALGRIND_CHECKS)
.PHONY: doc clean-local distclean-local dist-hool install-data-hook \
uninstall-hook
deps = $(top_srcdir)/COPYING $(top_srcdir)/README $(top_srcdir)/INSTALL $(top_srcdir)/NEWS $(top_srcdir)/ChangeLog
doc: $(top_builddir)/doc/html/index.html $(top_builddir)/doc/latex/@PACKAGENAME@-@MAJOR@.@MINOR@.@LEAST@.pdf
$(html_DATA): doxyfile *.[ch]pp $(deps) style.css head.html foot.html
test -d $(top_builddir)/doc/latex || mkdir -p $(top_builddir)/doc/latex
test -d $(top_builddir)/doc/html || mkdir -p $(top_builddir)/doc/html
@test -f $(top_builddir)/doc/html/hintergrund.png || \
cp $(srcdir)/hintergrund.png \
$(top_builddir)/doc/html
doxygen doxyfile || \
( echo "**** ERROR in Doxygen ****" && cat doxygen.errors && false )
if PEDANTIC
test \! -s doxygen.errors
endif
$(top_builddir)/doc/latex/@PACKAGENAME@-@MAJOR@.@MINOR@.@LEAST@.pdf: doxyfile *.[ch]pp $(deps) $(html_DATA)
cd $(top_builddir)/doc/latex && make && \
mv refman.pdf @PACKAGENAME@-@MAJOR@.@MINOR@.@LEAST@.pdf || \
( echo "**** ERROR in Doxygen-PDF ****" && \
cat refman.log && false )
clean-local:
- rm doxygen.err libmrw.doxytag
distclean-local:
- rm -r $(top_builddir)/doc/html/* $(top_builddir)/doc/latex/*
- rm makefile makefile.in doxygen.err libmrw.doxytag
dist-hook:
test -d $(distdir)/doc/html || \
mkdir -p $(distdir)/doc/html
cp $(top_builddir)/doc/html/* $(distdir)/doc/html/.
install-data-hook:
env | grep -i tmp
test -d "$(DESTDIR)$(pkgdatadir)/doc" || \
mkdir -p "$(DESTDIR)$(pkgdatadir)/doc"
chmod -R u+w "$(DESTDIR)$(pkgdatadir)/doc"
cp -rf $(top_builddir)/doc/html "$(DESTDIR)$(pkgdatadir)/doc/"
uninstall-hook:
chmod -R u+w "$(DESTDIR)$(pkgdatadir)/doc"
rm -rf "$(DESTDIR)$(pkgdatadir)/doc/html"