root/GNUmakefile.in

Revision d4631b971e1f9590c6c91c0c266bfe665fccaaaf, 3.9 KB (checked in by Antti-Juhani Kaijanaho <ajk@…>, 2 years ago)

Use gdb to get more readable assertion backtraces

Signed-off-by: Antti-Juhani Kaijanaho <ajk@…>

  • Property mode set to 100644
Line 
1#    This file is part of Alue, the multiprotocol Internet discussion daemon
2#
3#    Copyright © 2009, 2010 Antti-Juhani Kaijanaho
4#
5#    Copying and distribution of this file, with or without modification,
6#    are permitted in any medium without royalty provided the copyright
7#    notice and this notice are preserved.  This file is offered as-is,
8#    without any warranty.
9
10CXXFLAGS = @CXXFLAGS@ @BOOST_CPPFLAGS@ @GnuTLS_CFLAGS@ \
11        -DBOOST_ENABLE_ASSERT_HANDLER
12CFLAGS = @CFLAGS@ @BOOST_CPPFLAGS@ @GnuTLS_CFLAGS@
13CXX = @CXX@
14CC = @CC@
15LDFLAGS = @LDFLAGS@ @BOOST_LDFLAGS@
16LDLIBS = @LIBS@ @BOOST_DATE_TIME_LIB@ @BOOST_SYSTEM_LIB@ \
17         @BOOST_PROGRAM_OPTIONS_LIB@ @BOOST_THREAD_LIB@ \
18         @GnuTLS_LIBS@
19DEFS = @DEFS@ -DCONFFILE=\"$(cfgfile)\" -DBINDIR=\"${bindir}\"
20
21INSTALL = @INSTALL@
22INSTALL_PROGRAM = ${INSTALL}
23INSTALL_DATA = $(INSTALL) -m 644
24INSTALL_DIR = $(INSTALL) -d
25INSTALL_INFO = install-info
26
27PACKAGE_TARNAME = @PACKAGE_TARNAME@
28
29srcdir = @srcdir@
30
31prefix = @prefix@
32exec_prefix = @exec_prefix@
33bindir = @bindir@
34datarootdir = @datarootdir@
35sysconfdir = @sysconfdir@
36localstatedir = @localstatedir@
37docdir = @docdir@
38infodir = @infodir@
39htmldir = @htmldir@
40pdfdir = @pdfdir@
41logdir = @localstatedir@/log
42pkgdatadir=$(datarootdir)/@PACKAGE_TARNAME@
43pkglocalstatedir=$(localstatedir)/state/@PACKAGE_TARNAME@
44pkgsysconfdir=$(sysconfdir)/$(PACKAGE_TARNAME)
45cfgfile = $(pkgsysconfdir)/alue.cfg
46
47cc_src = $(filter-out %test.cc $(srcdir)/inject-email.cc, \
48          $(wildcard $(srcdir)/*.cc $(srcdir)/*/*.cc))
49test_src = $(wildcard $(srcdir)/*test.cc $(srcdir)/*/*test.cc)
50
51obj = $(cc_src:.cc=.o)
52test_obj = $(test_src:.cc=.o) $(filter-out $(srcdir)/alue_posix.o, $(obj))
53
54all : check alue inject-email | print-conf
55
56alue :  $(obj) | print-conf
57        @echo CXX LDFLAGS -o $@ $(obj) LDLIBS
58        @$(CXX) $(LDFLAGS) -o $@ $(obj) $(LDLIBS)
59
60inject-email : inject-email.o config.o | print-conf
61        @echo CXX LDFLAGS -o $@ $^ LDLIBS
62        @$(CXX) $(LDFLAGS) -o $@ $^ $(LDLIBS)
63
64test : $(test_obj) | print-conf
65        @echo CXX LDFLAGS -o $@ $(test_obj) LDLIBS \
66                @BOOST_UNIT_TEST_FRAMEWORK_LIB@
67        @$(CXX) $(LDFLAGS) -o $@ $(test_obj) $(LDLIBS) \
68                @BOOST_UNIT_TEST_FRAMEWORK_LIB@
69
70check: test | print-conf
71        ./test
72        touch $@
73
74print-conf :
75        @echo "CC=$(CC)"
76        @echo "CXX=$(CXX)"
77        @echo "CFLAGS=$(CFLAGS)"
78        @echo "CXXFLAGS=$(CXXFLAGS)"
79        @echo "LDFLAGS=$(LDLIBS)"
80        @echo "LDLIBS=$(LDLIBS)"
81        @echo "DEFS=$(DEFS)"
82
83alue.cfg : alue.cfg.in GNUmakefile
84        sed -e 's|@logdir@|$(logdir)|g' \
85            -e 's|@pkgdatadir@|$(pkgdatadir)|g' \
86            -e 's|@pkglocalstatedir@|$(pkglocalstatedir)|g' \
87                $< > $@.new
88        mv $@.new $@
89
90pdf : $(srcdir)/doc/alue.pdf
91
92info : $(srcdir)/doc/alue.info
93
94install : all info alue.cfg check | print-conf
95        $(PRE_INSTALL)
96        $(NORMAL_INSTALL)
97        if ! test -d $(TESTDIR)$(bindir); then \
98                $(INSTALL_DIR) $(DESTDIR)$(bindir) ; \
99        fi
100        $(INSTALL_PROGRAM) alue $(DESTDIR)$(bindir)/alue
101        $(INSTALL_PROGRAM) inject-email $(DESTDIR)$(bindir)/alue-inject-email
102        if ! test -d $(DESTDIR)$(pkgsysconfdir); then \
103                $(INSTALL_DIR) $(DESTDIR)$(pkgsysconfdir) ; \
104        fi
105        $(INSTALL_DATA) alue.cfg $(DESTDIR)$(cfgfile).dist
106        if ! test -d $(TESTDIR)$(infodir); then \
107                $(INSTALL_DIR) $(DESTDIR)$(infodir) ; \
108        fi
109        $(INSTALL_DATA) alue.info $(DESTDIR)$(infodir)/alue.info
110        $(POST_INSTALL)
111        $(INSTALL_INFO) --dir=$(DESTDIR)$(infodir)/dir \
112          $(DESTDIR)$(infodir)/alue.info
113
114clean :
115        $(RM) *.o */*.o *.d */*.d *.d.* */*.d.* alue inject-email check
116
117%.o: $(srcdir)/%.cc | print-conf
118        @echo CXX DEFS CXXFLAGS -c -o $@ $<
119        @$(CXX) $(DEFS) $(CXXFLAGS) -c -o $@ $<
120
121%.d: $(srcdir)/%.cc | print-conf
122        @echo CXX -MM DEFS CPPFLAGS $<
123        @set -e; rm -f $@; \
124                $(CXX) -MM $(DEFS) $(CPPFLAGS) $< > $@.$$$$; \
125                sed 's,$(notdir $*)\.o[ :]*,$*.o $@ : ,g' < $@.$$$$ > $@; \
126                rm -f $@.$$$$
127
128%.pdf : $(srcdir)/%.texinfo
129        $(TEXI2PDF) -q -o $@ $<
130
131%.info : $(srcdir)/%.texinfo
132        $(MAKEINFO) $<
133
134GNUmakefile : config.status GNUmakefile.in
135        ./config.status
136
137.PHONY : print-conf
138
139ifneq ($(MAKECMDGOALS),clean)
140include $(cc_src:.cc=.d) $(test_src:.cc=.d)
141endif
Note: See TracBrowser for help on using the browser.