root/src/Makefile.in

Revision 9be017000280fee553f709865815a23e67148f83, 5.4 kB (checked in by Theo Schlossnagle <jesus@omniti.com>, 5 years ago)

more cleanly separated install targets -- and a clean that cleans

  • Property mode set to 100644
Line 
1 .SUFFIXES: .re .c
2
3 CC=@CC@
4 CPPFLAGS=@CPPFLAGS@
5 CFLAGS=@CFLAGS@
6 PGCFLAGS=@PGCFLAGS@
7 LDFLAGS=@LDFLAGS@
8 AR=@AR@
9 RANLIB=@RANLIB@
10 LIBS=@LIBS@
11 PGLIBS=@PGLIBS@
12 INSTALL=@INSTALL@
13 XML2H=@top_srcdir@/buildtools/xml2h
14
15 prefix=@prefix@
16 exec_prefix=@exec_prefix@
17 bindir=@bindir@
18 sbindir=@sbindir@
19 libdir=@libdir@
20 includedir=${prefix}/include
21 libexecdir=@libexecdir@
22 datarootdir = @datarootdir@
23 mandir=@mandir@
24 mansubdir=@mansubdir@
25 docdir=${prefix}/@docdir@
26 sysconfdir=@sysconfdir@
27 srcdir=@srcdir@
28 top_srcdir=@top_srcdir@
29 MODULES_DIR=@MODULES_DIR@
30
31 WHOLE_ARCHIVE=@WHOLE_ARCHIVE@
32 NOWHOLE_ARCHIVE=@NOWHOLE_ARCHIVE@
33
34 SUBS=lua utils eventer udns modules noitedit man stomp
35
36 NOIT_OBJS=noitd.o noit_listener.o \
37         noit_console.o noit_console_state.o noit_console_telnet.o \
38         noit_console_complete.o \
39         noit_check.o noit_check_log.o noit_check_tools.o \
40         noit_module.o noit_conf.o noit_conf_checks.o noit_tokenizer.o \
41         noit_capabilities_listener.o noit_xml.o \
42         noit_jlog_listener.o noit_livestream_listener.o noit_filters.o
43
44 STRATCON_OBJS=stratcond.o noit_listener.o \
45         noit_console.o noit_console_state.o noit_console_telnet.o \
46         noit_console_complete.o noit_xml.o \
47         noit_conf.o noit_http.o noit_tokenizer.o \
48         stratcon_realtime_http.o \
49         stratcon_jlog_streamer.o stratcon_datastore.o \
50         stratcon_iep.o
51
52 all:    noitd stratcond noit.conf test-noit.conf stratcon.conf test-stratcon.conf
53
54 make-subdirs:   serf/.libs/libserf-0.o jlog/libjlog.a
55         @for dir in $(SUBS) ; do \
56                 echo "- building $$dir bits" ; \
57                 (cd $$dir && make -s) ; \
58         done
59
60 java-bits:
61         @echo "- building java bits"
62         @test -n "@JAVAPARTS@" && (cd java && make -s)
63
64 jlog/libjlog.a:
65         @(cd jlog && make libjlog.a)
66
67 serf/.libs/libserf-0.a:
68         @(cd serf && \
69                 env \
70                 CFLAGS="$(CFLAGS)" \
71                 LDFLAGS="$(LDFLAGS)" \
72                 python serfmake build --with-apr=@APRPREFIX@)
73
74 serf/.libs/libserf-0.o: serf/.libs/libserf-0.a
75         @ld -r -o serf/.libs/libserf-0.o \
76                 serf/.libs/context.o serf/.libs/outgoing.o \
77                 serf/.libs/incoming.o serf/buckets/.libs/*.o
78
79 noitd:  make-subdirs $(NOIT_OBJS)
80         @$(CC) -o $@ $(NOIT_OBJS) \
81                 udns/libudns.o \
82                 $(LDFLAGS) \
83                 $(WHOLE_ARCHIVE) \
84                 -Leventer -leventer \
85                 -Lutils -lnoit_utils \
86                 -Ljlog -ljlog \
87                 -Lnoitedit -lnoitedit \
88                 $(NOWHOLE_ARCHIVE) \
89                 $(LIBS)
90         @echo "- linking $@"
91
92 stratcond:      make-subdirs $(STRATCON_OBJS)
93         @$(CC) -o $@ $(STRATCON_OBJS) \
94                 udns/libudns.o \
95                 $(LDFLAGS) \
96                 $(WHOLE_ARCHIVE) \
97                 -Leventer -leventer \
98                 -Lutils -lnoit_utils \
99                 -Ljlog -ljlog \
100                 -Lnoitedit -lnoitedit \
101                 -Lstomp -lstomp \
102                 $(NOWHOLE_ARCHIVE) \
103                 $(LIBS) $(PGLIBS) @SERFLIBS@
104         @echo "- linking $@"
105
106 stratcon_datastore.o:   stratcon_datastore.c
107         @$(CC) $(CPPFLAGS) $(PGCFLAGS) -c $<
108         @echo "- compiling $<"
109
110 stratcon_iep.o: stratcon_iep.c
111         @$(CC) $(CPPFLAGS) $(CFLAGS) @SERFCFLAGS@ -c $<
112         @echo "- compiling $<"
113
114 .c.o:
115         @$(CC) $(CPPFLAGS) $(CFLAGS) -c $<
116         @echo "- compiling $<"
117
118 noit_module.o:  module-online.h
119
120 module-online.h:        modules/module-online.xsl
121         @echo "- making module-online.h (StyleSheet include)"
122         @$(XML2H) helpStyleXML < modules/module-online.xsl > $@
123
124 noit_tokenizer.c:       noit_tokenizer.re
125         @re2c -o $@ noit_tokenizer.re
126         @echo "- re2c noit_tokenizer.re"
127
128 test-noit.conf: noit.conf.in Makefile
129         sed -e "s^%sysconfdir%^`pwd`^g;" \
130                 -e "s^%modulesdir%^`pwd`/modules^g;" \
131                 -e "s^%modulesluadir%^`pwd`/modules-lua^g;" \
132                 -e "s^%PKIPREFIX%^../test/test-^g;" < \
133                 noit.conf.in > \
134                 test-noit.conf
135
136 noit.conf:      noit.conf.in Makefile
137         sed -e "s^%sysconfdir%^$(sysconfdir)^g;" \
138                 -e "s^%modulesdir%^$(MODULES_DIR)^g;" \
139                 -e "s^%modulesluadir%^$(MODULES_DIR)^g;" \
140                 -e "s^%PKIPREFIX%^$${PKIPREFIX}^g;" < \
141                 noit.conf.in > \
142                 noit.conf
143
144 test-stratcon.conf:     stratcon.conf.in Makefile
145         sed -e "s^%sysconfdir%^`pwd`^g;" \
146                 -e "s^%modulesdir%^`pwd`/modules^g;" \
147                 -e "s^%modulesluadir%^`pwd`/modules-lua^g;" \
148                 -e "s^%iepbindir%^`pwd`/java^g;" \
149                 -e "s^%iepdbdir%^`pwd`/java^g;" \
150                 -e "s^%PKIPREFIX%^../test/test-^g;" < \
151                 stratcon.conf.in > \
152                 test-stratcon.conf
153
154 stratcon.conf:  stratcon.conf.in Makefile
155         sed -e "s^%sysconfdir%^$(sysconfdir)^g;" \
156                 -e "s^%modulesdir%^$(MODULES_DIR)^g;" \
157                 -e "s^%modulesluadir%^$(MODULES_DIR)^g;" \
158                 -e "s^%iepbindir%^$(bindir)^g;" \
159                 -e "s^%iepdbdir%^$(prefix)/var/db^g;" \
160                 -e "s^%PKIPREFIX%^$${PKIPREFIX}^g;" < \
161                 stratcon.conf.in > \
162                 stratcon.conf
163
164 install-dirs:
165         $(top_srcdir)/buildtools/mkinstalldirs $(DESTDIR)$(bindir)
166         $(top_srcdir)/buildtools/mkinstalldirs $(DESTDIR)$(sbindir)
167         $(top_srcdir)/buildtools/mkinstalldirs $(DESTDIR)$(sysconfdir)
168
169 install-noitd:  noitd noit.conf
170         $(INSTALL) -m 0755 scripts/noittrap $(DESTDIR)$(bindir)/noittrap
171         $(INSTALL) -m 0755 noitd $(DESTDIR)$(sbindir)/noitd
172         $(INSTALL) -m 0644 noit.conf $(DESTDIR)$(sysconfdir)/noit.conf.sample
173         (cd modules && make install DESTDIR=$(DESTDIR))
174         (cd modules-lua && make install DESTDIR=$(DESTDIR))
175
176 install-stratcond:      install-dirs stratcond stratcond.conf java-bits
177         $(INSTALL) -m 0755 stratcond $(DESTDIR)$(sbindir)/stratcond
178         $(INSTALL) -m 0644 stratcon.conf $(DESTDIR)$(sysconfdir)/stratcon.conf.sample
179         test -n "@JAVAPARTS@" && (cd @JAVAPARTS@ && make install DESTDIR=$(DESTDIR))
180
181 install-docs:
182         (cd man && make install DESTDIR=$(DESTDIR))
183
184 install:        install-dirs install-docs install-noitd install-stratcond
185
186 clean-subdirs:
187         for dir in $(SUBS) ; do \
188                 (cd $$dir && make clean) ; \
189         done
190         (cd java && make clean)
191
192 clean:  clean-subdirs
193         rm -f *.o noitd
194         rm serf/.libs/libserf-0.a serf/.libs/libserf-0.o jlog/libjlog.a
195         (cd jlog && make clean)
196         (cd serf && \
197                 env \
198                 CFLAGS="$(CFLAGS)" \
199                 LDFLAGS="$(LDFLAGS)" \
200                 python serfmake clean)
201
Note: See TracBrowser for help on using the browser.