## @file
##
## $Id$
##
## $Date$
## $Author$
##
## @copy © Marc Wäckerlin
## @license LGPL, see file COPYING
##
## $Log$
## Revision 1.30 2005/04/14 15:56:07 marc
## phony updated, clean rearranged
##
## Revision 1.29 2005/04/10 15:01:28 marc
## Now, make distcheck works AND the html doc is dirstributed...
##
## Revision 1.28 2005/04/07 22:08:59 marc
## doc/html to EXTRA_DIST
##
## Revision 1.27 2005/04/07 21:26:28 marc
## wrong examplesdir
##
## Revision 1.26 2005/04/07 20:58:57 marc
## Oops, there's a make distcheck...? Now it works.
## documentation is now generated in root dir, no more in mrw subdir
## HTML documentation now with stylesheet, footer and header
## RPM/libtool: .la files with wrong path!
## New feature: library libmrwlog4cxxconfiguration configures log4cxx
##
## Revision 1.25 2005/03/11 23:20:54 marc
## - removed old TRACER
## - new autofunctiontrace library, new function trace
## - new multithreaded targets
## - corrected build flags for not optimized tests
##
## Revision 1.24 2005/02/28 08:10:24 marc
## dynamic library is conditional
##
## Revision 1.23 2005/02/28 07:14:58 marc
## new functiontrace, removed simpletrace
##
## Revision 1.22 2005/02/18 15:51:08 marc
## new dynamiclibrary.hpp
## tests are now compiled with option -O0
##
## Revision 1.21 2005/02/08 12:34:14 marc
## added errno / unix_error
##
## Revision 1.20 2005/01/28 11:22:32 marc
## cppunit flags
##
## Revision 1.19 2005/01/07 01:07:39 marc
## added configuration files for test
##
## Revision 1.18 2005/01/07 00:57:55 marc
## the test script was not distributed
##
## Revision 1.17 2005/01/07 00:33:51 marc
## added config file and file
##
## Revision 1.16 2004/12/17 16:30:06 marc
## added tokenizer
##
## Revision 1.15 2004/12/14 20:20:06 marc
## added regexp
##
## Revision 1.14 2004/12/08 13:48:20 marc
## forget TRACE
##
## Revision 1.13 2004/11/25 18:33:18 marc
## support for function tracing which does not yet work (bug in OpenC++)
##
## Revision 1.12 2004/10/13 11:17:21 marc
## new file stdext.cpp
##
## Revision 1.11 2004/10/11 18:33:02 marc
## add stdext.hpp
##
## Revision 1.10 2004/10/07 16:16:34 marc
## forgotten to save before last checkin...
##
## Revision 1.9 2004/10/07 09:29:17 marc
## new classes
## new versioning
## link tests with unexpected handler
## check doxygen.error
##
## Revision 1.8 2004/09/09 20:09:06 marc
## library versioning now works how i want it
##
## Revision 1.7 2004/08/31 16:23:57 marc
## added .PHONY
##
## Revision 1.6 2004/08/28 16:21:25 marc
## mrw-c++-0.92 (mrw)
## - new file: version.cpp
## - new file header for all sources
## - work around warning in mrw::auto
## - possibility to compile without log4cxx
## - work around bugs in demangle.h and libiberty.h
## - corrections in documentation
## - added simple tracing mechanism
## - more warnings
## - small corrections in Auto<>::Free and a new test for it
## - possibility to compile without stack trace
##
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
examplesdir = ${pkgdatadir}/examples
dist_examples_DATA = ${top_srcdir}/mrw/examples/*
htmldir = ${pkgdatadir}/doc/html
html_DATA = ${top_builddir}/doc/html/index.html
pdfdir = ${pkgdatadir}/doc/pdf
dist_pdf_DATA = ${top_builddir}/doc/latex/@PACKAGENAME@-@MAJOR@.@MINOR@.@LEAST@.pdf
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 HAVE_LOG4CXX
lib_LTLIBRARIES += libmrwexclog4cxx.la \
libmrwlog4cxxconfiguration.la
if HAVE_THREADS
lib_LTLIBRARIES += libmrwlog4cxxconfiguration-mt.la
if HAVE_BOOST_THREAD
lib_LTLIBRARIES += libmrwexclog4cxx-mt.la
endif
endif
if AUTOFNTRACE
lib_LTLIBRARIES += libmrwautofunctiontracelog4cxx.la
if HAVE_THREADS
if HAVE_BOOST_THREAD
lib_LTLIBRARIES += libmrwautofunctiontracelog4cxx-mt.la
endif
endif
endif
endif
endif
libmrw_la_SOURCES = \
mrw.hpp version.cpp \
arg.cpp arg.hpp auto.hpp deque.hpp \
exception.cpp exception.hpp \
exec.cpp exec.hpp list.hpp \
map.hpp multimap.hpp multiset.hpp \
set.hpp \
smartpointer.hpp stdext.cpp stdext.hpp \
string.hpp unistd.hpp vector.hpp regexp.hpp regexp.cpp \
tokenizer.hpp configfile.hpp configfile.cpp file.hpp \
errno.hpp errno.cpp
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} @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 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
libmrwlog4cxxconfiguration_la_SOURCES = log4cxxconfiguration.cpp version.cpp
libmrwlog4cxxconfiguration_la_LDFLAGS = -version-info @LIB_VERSION@
libmrwlog4cxxconfiguration_la_LIBADD = -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
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
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
check_PROGRAMS = auto_test smartpointer_test exec_test stdext_test regexp_test \
tokenizer_test configfile_test
if HAVE_LTDL
check_PROGRAMS += dynamiclibrary_test
endif
if HAVE_LOG4CXX
check_PROGRAMS += functiontrace_test
endif
dist_check_SCRIPTS = configfile_check.sh
if HAVE_STACKTRACE
check_PROGRAMS += stacktrace_test mrwexcstderr_test
if HAVE_LOG4CXX
check_PROGRAMS += mrwexclog4cxx_test
if AUTOFNTRACE
check_PROGRAMS += mrwautofunctiontracelog4cxx_test
if HAVE_THREADS
if HAVE_BOOST_THREAD
check_PROGRAMS += 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@
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@
smartpointer_test_LDADD = ${top_builddir}/mrw/libmrw.la
if HAVE_STACKTRACE
smartpointer_test_LDADD += ${top_builddir}/mrw/libmrwexcstderr.la
endif
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@
exec_test_LDADD = ${top_builddir}/mrw/libmrw.la
if HAVE_STACKTRACE
exec_test_LDADD += ${top_builddir}/mrw/libmrwexcstderr.la
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@
stdext_test_LDADD = ${top_builddir}/mrw/libmrw.la
if HAVE_STACKTRACE
stdext_test_LDADD += ${top_builddir}/mrw/libmrwexcstderr.la
endif
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@
regexp_test_LDADD = ${top_builddir}/mrw/libmrw.la
if HAVE_STACKTRACE
regexp_test_LDADD += ${top_builddir}/mrw/libmrwexcstderr.la
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@
tokenizer_test_LDADD = ${top_builddir}/mrw/libmrw.la
if HAVE_STACKTRACE
tokenizer_test_LDADD += ${top_builddir}/mrw/libmrwexcstderr.la
endif
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@
configfile_test_LDADD = ${top_builddir}/mrw/libmrw.la
if HAVE_STACKTRACE
configfile_test_LDADD += ${top_builddir}/mrw/libmrwexcstderr.la
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@
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@
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@
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@
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@
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@ -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@ @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
TESTS = ${check_PROGRAMS} ${dist_check_SCRIPTS}
.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 ~/www/marc/linux/hintergrund.png \
${top_builddir}/doc/html || \
\( echo "**** sorry, you are missing the html background image" && \
echo " (after distclean doc/html/hintergrund.png is deleted)" \
\)
doxygen doxyfile
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
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:
chmod -R u+w ${pkgdatadir}/doc
cp -rf ${top_builddir}/doc/html ${pkgdatadir}/doc/
uninstall-hook:
chmod -R u+w ${pkgdatadir}/doc
rm -rf ${pkgdatadir}/doc/html