root/src/Makefile.in

Revision 57d42b3ced2b3293f9e3fee35bb4f7bcdabd23e2, 12.1 kB (checked in by Theo Schlossnagle <jesus@omniti.com>, 2 months ago)

Merge in lua52 and make it a compile-time option.

--enable-lua=<no,lua52,LuaJIT>

  • Property mode set to 100644
Line 
1 .SUFFIXES: .re .c
2
3 CC=@CC@
4 CPPFLAGS=@CPPFLAGS@
5 CFLAGS=@CFLAGS@
6 CLINKFLAGS=@CLINKFLAGS@
7 LUACFLAGS=@LUACFLAGS@
8 PGCFLAGS=@PGCFLAGS@
9 LDFLAGS=@LDFLAGS@
10 DEPFLAGS=@DEPFLAGS@
11 AR=@AR@
12 RANLIB=@RANLIB@
13 LIBS=@LIBS@
14 INSTALL=@INSTALL@
15 XML2H=@top_srcdir@/buildtools/xml2h
16
17 prefix=@prefix@
18 exec_prefix=@exec_prefix@
19 bindir=@bindir@
20 sbindir=@sbindir@
21 libdir=@libdir@
22 includedir=${prefix}/include
23 libexecdir=@libexecdir@
24 localstatedir=@localstatedir@
25 datarootdir=@datarootdir@
26 mandir=@mandir@
27 mansubdir=@mansubdir@
28 docdir=${prefix}/@docdir@
29 sysconfdir=@sysconfdir@
30 srcdir=@srcdir@
31 top_srcdir=@top_srcdir@
32 MODULES_DIR=@MODULES_DIR@
33
34 WHOLE_ARCHIVE=@WHOLE_ARCHIVE@
35 NOWHOLE_ARCHIVE=@NOWHOLE_ARCHIVE@
36
37 DTRACEOBJ=@DTRACEOBJ@
38 NOITD_DTRACEOBJ=$(DTRACEOBJ:%dtrace_stub.o=noitd_%dtrace_stub.o)
39 STRATCOND_DTRACEOBJ=$(DTRACEOBJ:%dtrace_stub.o=stratcond_%dtrace_stub.o)
40
41 TARGETS=noitd stratcond noit.conf test-noit.conf stratcon.conf test-stratcon.conf \
42         jlog/jlogctl
43
44 MODDIR=modules
45
46 HEADERS=noit_capabilities_listener.h noit_check.h noit_check_resolver.h \
47         noit_check_rest.h \
48         noit_check_tools_shared.h \
49         noit_check_tools.h noit_conf.h noit_conf_checks.h noit_conf_private.h \
50         noit_version.h \
51         noit_config.h noit_console.h noit_console_telnet.h noit_defines.h \
52         noit_filters.h noit_http.h noit_jlog_listener.h noit_listener.h \
53         noit_livestream_listener.h noit_main.h noit_module.h noit_rest.h \
54         noit_tokenizer.h noit_xml.h \
55         stratcon_datastore.h stratcon_iep.h stratcon_jlog_streamer.h \
56         stratcon_realtime_http.h \
57         eventer/OETS_asn1_helper.h eventer/eventer.h \
58         eventer/eventer_POSIX_fd_opset.h eventer/eventer_SSL_fd_opset.h \
59         eventer/eventer_jobq.h \
60         utils/noit_atomic.h utils/noit_b64.h utils/noit_hash.h \
61         utils/noit_log.h utils/noit_mkdir.h utils/noit_security.h \
62         utils/noit_sem.h utils/noit_skiplist.h utils/noit_str.h \
63         utils/noit_watchdog.h utils/noit_lockfile.h \
64         utils/noit_hooks.h \
65         noitedit/chared.h noitedit/common.h noitedit/compat.h noitedit/el.h \
66         noitedit/el_term.h noitedit/emacs.h noitedit/fcns.h noitedit/fgetln.h \
67         noitedit/help.h noitedit/hist.h noitedit/histedit.h noitedit/key.h \
68         noitedit/map.h noitedit/parse.h noitedit/prompt.h noitedit/refresh.h \
69         noitedit/search.h noitedit/sig.h noitedit/strlcpy.h noitedit/sys.h \
70         noitedit/tokenizer.h noitedit/tty.h noitedit/vi.h \
71         jlog/jlog.h jlog/jlog_config.h jlog/jlog_hash.h jlog/jlog_io.h
72
73 include Makefile.objs
74
75 NOIT_OBJS=noitd.o noit_main.o noit_listener.o \
76         noit_console.o noit_console_state.o noit_console_telnet.o \
77         noit_console_complete.o noit_check_resolver.o \
78         noit_check_tools_shared.o noit_check_log_helpers.o \
79         noit_check.o noit_check_log.o noit_check_tools.o \
80         noit_module.o noit_conf.o noit_conf_checks.o noit_tokenizer.o \
81         noit_capabilities_listener.o noit_xml.o \
82         noit_jlog_listener.o noit_livestream_listener.o noit_filters.o \
83         noit_http.o noit_rest.o noit_check_rest.o noit_filters_rest.o \
84         bundle.pb-c.o \
85         $(UDNS_LIB_OBJS) $(NOITEDIT_LIB_OBJS) $(EVENTER_LIB_OBJS) \
86         $(JLOG_LIB_OBJS) $(NOIT_UTILS_OBJS) $(JSON_LIB_OBJS) $(YAJL_LIB_OBJS) \
87         $(LUA_OBJS)
88
89 NOIT_LIBS=libudns libnoitedit libeventer libjlog libnoit_utils libnoitjson libnoityajl
90 NOIT_LIB_FILES=udns/libudns.o noitedit/libnoitedit.a eventer/libeventer.a \
91         jlog/libjlog.a utils/libnoit_utils.a json-lib/libnoitjson.a yajl-lib/libnoityajl.a
92
93 STRATCON_OBJS=stratcond.o noit_main.o noit_listener.o \
94         noit_console.o noit_console_state.o noit_console_telnet.o \
95         noit_console_complete.o noit_xml.o \
96         noit_conf.o noit_http.o noit_rest.o noit_tokenizer.o \
97         noit_capabilities_listener.o noit_module.o \
98         noit_check_tools_shared.o noit_check_log_helpers.o \
99         stratcon_realtime_http.o \
100         stratcon_jlog_streamer.o stratcon_datastore.o \
101         stratcon_iep.o \
102         bundle.pb-c.o \
103         $(UDNS_LIB_OBJS) $(NOITEDIT_LIB_OBJS) $(EVENTER_LIB_OBJS) \
104         $(JLOG_LIB_OBJS) $(NOIT_UTILS_OBJS) $(JSON_LIB_OBJS) $(YAJL_LIB_OBJS)
105
106 FINAL_STRATCON_OBJS=$(STRATCON_OBJS:%.o=stratcon-objs/%.o)
107 FINAL_NOIT_OBJS=$(NOIT_OBJS:%.o=noit-objs/%.o)
108
109 all:    reversion $(TARGETS) java-bits make-modules make-man
110
111 lua/src/lua:
112         (cd lua/src && $(MAKE) lua)
113
114 noit-objs/%.o:  %.o
115         @mkdir -p "`dirname $@`"
116         @echo "- making private $@"
117         @cp $(@:noit-objs/%.o=%.o) $@
118
119 stratcon-objs/%.o:      %.o
120         @mkdir -p "`dirname $@`"
121         @echo "- making private $@"
122         @cp $(@:stratcon-objs/%.o=%.o) $@
123
124 make-man:
125         @(cd man && $(MAKE) -s)
126
127 make-modules:
128         @for dir in $(MODDIR) ; do \
129                 (cd $$dir && $(MAKE) -s) ; \
130         done
131
132 java-bits:
133         @-test -n "@JAVAPARTS@" && (cd java && $(MAKE) -s)
134
135 jlog/jlogctl:
136         @echo "- building jlogctl"
137         @(cd jlog && $(MAKE) -s jlogctl)
138
139 .PHONY: reversion
140
141 reversion:
142         @$(top_srcdir)/buildtools/mkversion.sh noit_version.h
143
144 noit_version.h:
145         @$(top_srcdir)/buildtools/mkversion.sh noit_version.h
146
147 man/noitd.usage.h:      make-man
148
149 man/stratcond.usage.h:  make-man
150
151
152 noitd.o:        man/noitd.usage.h
153 stratcond.o:    man/stratcond.usage.h
154
155 stratcon_jlog_streamer.o:       noit_@DTRACEHDR@ stratcon_@DTRACEHDR@
156 noit_check_tools.o:     noit_@DTRACEHDR@ stratcon_@DTRACEHDR@
157 noit_check.o:   noit_@DTRACEHDR@ stratcon_@DTRACEHDR@
158 dtrace_probes.h:        noit_@DTRACEHDR@ stratcon_@DTRACEHDR@
159
160 stratcond_@DTRACEOBJ@:    $(FINAL_STRATCON_OBJS)
161         @echo "- assembling $@" && \
162         @DTRACE@ @DTRACEFLAGS@ -Z -G -s stratcon_dtrace_probes.d -o stratcond_@DTRACEOBJ@ $(FINAL_STRATCON_OBJS)
163
164 noitd_@DTRACEOBJ@:    $(FINAL_NOIT_OBJS)
165         @echo "- assembling $@" && \
166         @DTRACE@ @DTRACEFLAGS@ -Z -G -s noit_dtrace_probes.d -o noitd_@DTRACEOBJ@ $(FINAL_NOIT_OBJS)
167
168 noit_@DTRACEHDR@:    noit_dtrace_probes.d
169         @if test -z "@DTRACE@" ; then \
170                 echo "- faking dtrace header" ; \
171                 cp ./noit_@DTRACEHDR@.stock ./noit_@DTRACEHDR@ ; \
172         else \
173                 echo "- building dtrace header $@" ; \
174                 @DTRACE@ -h -s noit_dtrace_probes.d ; \
175         fi
176
177 stratcon_@DTRACEHDR@:    stratcon_dtrace_probes.d
178         @if test -z "@DTRACE@" ; then \
179                 echo "- faking dtrace header" ; \
180                 cp ./stratcon_@DTRACEHDR@.stock ./stratcon_@DTRACEHDR@ ; \
181         else \
182                 echo "- building dtrace header $@" ; \
183                 @DTRACE@ -h -s stratcon_dtrace_probes.d ; \
184         fi
185
186 noitd:  $(FINAL_NOIT_OBJS) man/noitd.usage.h $(NOITD_DTRACEOBJ)
187         @echo "- linking $@"
188         @$(CC) $(CLINKFLAGS) -o $@ $(FINAL_NOIT_OBJS) \
189                 $(NOITD_DTRACEOBJ) \
190                 $(LDFLAGS) \
191                 $(LIBS)
192
193 stratcond:      $(FINAL_STRATCON_OBJS) $(STRATCOND_DTRACEOBJ)
194         @echo "- linking $@"
195         @$(CC) $(CLINKFLAGS) -o $@ $(FINAL_STRATCON_OBJS) \
196                 $(STRATCOND_DTRACEOBJ) \
197                 $(LDFLAGS) \
198                 $(LIBS)
199
200 stratcon_datastore.o:   stratcon_datastore.c
201         @echo "- compiling $<"
202         @$(CC) $(CPPFLAGS) $(PGCFLAGS) $(CFLAGS) -c $<
203
204 .c.o:
205         @if [ "`dirname $@`" != "." ] ; then \
206                 (cd "`dirname $@`" && $(MAKE) "`basename $@`") ; \
207         else \
208                 echo "- compiling $<" ; \
209                 $(CC) $(CPPFLAGS) $(CFLAGS) -c $< ; \
210         fi
211
212 udns/udns_codes.c:
213         @(cd udns && $(MAKE) udns_codes.c)
214
215 utils/noit_atomic_sol_sparcv8plus.o:    utils/noit_atomic_sol.s
216         @(cd utils && $(MAKE) noit_atomic_sol_sparcv8plus.o)
217
218 utils/noit_atomic_sol_sparcv9.o:        utils/noit_atomic_sol.s
219         @(cd utils && $(MAKE) noit_atomic_sol_sparcv9.o)
220
221 utils/noit_atomic_sol_x86_32.o: utils/noit_atomic_sol.s
222         @(cd utils && $(MAKE) noit_atomic_sol_x86_32.o)
223
224 utils/noit_atomic_sol_x86_64.o: utils/noit_atomic_sol.s
225         @(cd utils && $(MAKE) noit_atomic_sol_x86_64.o)
226
227 noit_module.o:  module-online.h
228
229 module-online.h:        modules/module-online.xsl
230         @echo "- making module-online.h (StyleSheet include)"
231         @$(XML2H) helpStyleXML < modules/module-online.xsl > $@
232
233 noit_tokenizer.c:
234         @echo "- re2c noit_tokenizer.re"
235         @re2c -o $@ noit_tokenizer.re
236
237 test-noit.conf: noit.conf.in Makefile
238         @sed -e "s^%sysconfdir%^`pwd`^g;" \
239                 -e "s^%modulesdir%^`pwd`/modules^g;" \
240                 -e "s^%modulesluadir%^`pwd`/modules-lua^g;" \
241                 -e "s^%PKIPREFIX%^../test/test-^g;" < \
242                 noit.conf.in > \
243                 test-noit.conf
244
245 noit.conf:      noit.conf.in Makefile
246         @sed -e "s^%sysconfdir%^$(sysconfdir)^g;" \
247                 -e "s^%modulesdir%^$(MODULES_DIR)^g;" \
248                 -e "s^%modulesluadir%^$(MODULES_DIR)^g;" \
249                 -e "s^%PKIPREFIX%^$${PKIPREFIX}^g;" < \
250                 noit.conf.in > \
251                 noit.conf
252
253 test-stratcon.conf:     stratcon.conf.in Makefile
254         @sed -e "s^%sysconfdir%^`pwd`^g;" \
255                 -e "s^%modulesdir%^`pwd`/modules^g;" \
256                 -e "s^%modulesluadir%^`pwd`/modules-lua^g;" \
257                 -e "s^%iepbindir%^`pwd`/java^g;" \
258                 -e "s^%iepdbdir%^`pwd`/java^g;" \
259                 -e "s^%PKIPREFIX%^../test/test-^g;" < \
260                 stratcon.conf.in > \
261                 test-stratcon.conf
262
263 stratcon.conf:  stratcon.conf.in Makefile
264         @sed -e "s^%sysconfdir%^$(sysconfdir)^g;" \
265                 -e "s^%modulesdir%^$(MODULES_DIR)^g;" \
266                 -e "s^%modulesluadir%^$(MODULES_DIR)^g;" \
267                 -e "s^%iepbindir%^$(bindir)^g;" \
268                 -e "s^%iepdbdir%^$(localstatedir)/db/noit-iep^g;" \
269                 -e "s^%PKIPREFIX%^$${PKIPREFIX}^g;" < \
270                 stratcon.conf.in > \
271                 stratcon.conf
272
273 install-dirs:
274         $(top_srcdir)/buildtools/mkinstalldirs $(DESTDIR)$(bindir)
275         $(top_srcdir)/buildtools/mkinstalldirs $(DESTDIR)$(sbindir)
276         $(top_srcdir)/buildtools/mkinstalldirs $(DESTDIR)$(sysconfdir)
277
278 install-headers:        $(HEADERS)
279         $(top_srcdir)/buildtools/mkinstalldirs $(DESTDIR)$(bindir)
280         $(top_srcdir)/buildtools/mkinstalldirs $(DESTDIR)$(includedir)
281         $(top_srcdir)/buildtools/mkinstalldirs $(DESTDIR)$(includedir)/eventer
282         $(top_srcdir)/buildtools/mkinstalldirs $(DESTDIR)$(includedir)/utils
283         $(top_srcdir)/buildtools/mkinstalldirs $(DESTDIR)$(includedir)/noitedit
284         $(top_srcdir)/buildtools/mkinstalldirs $(DESTDIR)$(includedir)/jlog
285         $(INSTALL) -m 0755 scripts/noit-config $(DESTDIR)$(bindir)/noit-config
286         for file in $(HEADERS) ; do \
287                 $(INSTALL) -m 0644 $$file $(DESTDIR)$(includedir)/$$file ; \
288         done
289
290 install-noitd:  install-dirs reversion noitd noit.conf java-bits jlog/jlogctl
291         $(INSTALL) -m 0755 scripts/noittrap $(DESTDIR)$(bindir)/noittrap
292         $(INSTALL) -m 0755 jlog/jlogctl $(DESTDIR)$(bindir)/noit_jlogctl
293         $(INSTALL) -m 0755 noitd $(DESTDIR)$(sbindir)/noitd
294         $(INSTALL) -m 0644 noit.conf $(DESTDIR)$(sysconfdir)/noit.conf.sample
295         $(INSTALL) -m 0644 config_templates.conf $(DESTDIR)$(sysconfdir)/config_templates.conf
296         $(INSTALL) -m 0644 default-ca-chain.crt $(DESTDIR)$(sysconfdir)/default-ca-chain.crt
297         (cd modules && $(MAKE) install-modules DESTDIR=$(DESTDIR))
298         (cd modules-lua && $(MAKE) install DESTDIR=$(DESTDIR))
299         -test -n "@JAVAPARTS@" && (cd @JAVAPARTS@ && $(MAKE) install-jezebel DESTDIR=$(DESTDIR))
300
301 install-stratcond:      install-dirs reversion stratcond stratcon.conf java-bits
302         $(INSTALL) -m 0755 stratcond $(DESTDIR)$(sbindir)/stratcond
303         $(INSTALL) -m 0644 stratcon.conf $(DESTDIR)$(sysconfdir)/stratcon.conf.sample
304         (cd modules && $(MAKE) install-smodules DESTDIR=$(DESTDIR))
305         -test -n "@JAVAPARTS@" && (cd @JAVAPARTS@ && $(MAKE) install-iep DESTDIR=$(DESTDIR))
306
307 install-docs:
308         (cd man && $(MAKE) install DESTDIR=$(DESTDIR))
309
310 install:        install-dirs install-docs install-headers install-noitd install-stratcond
311
312 clean:
313         rm -f *.o $(TARGETS) $(LUA_OBJS)
314         rm -f module-online.h
315         rm -rf noit-objs stratcon-objs
316         (cd jlog && $(MAKE) clean)
317         (cd eventer && $(MAKE) clean)
318         (cd udns && $(MAKE) clean)
319         (cd man && $(MAKE) clean)
320         (cd modules && $(MAKE) clean)
321         (cd noitedit && $(MAKE) clean)
322         (cd utils && $(MAKE) clean)
323         (cd json-lib && $(MAKE) clean)
324         (cd yajl-lib && $(MAKE) clean)
325         (cd java && $(MAKE) clean)
326         (cd LuaJIT && $(MAKE) clean)
327         (cd lua/src && $(MAKE) clean)
328
329 Makefile.noit.dep:
330         find noit-objs -name \*.o | grep -v 'eventer_.*_impl.o' | sort | awk '{gsub("^.+-objs/", ""); print "noit-objs/"$$1": "$$1;}' > $@
331         for impl in kqueue ports epoll; do \
332                 echo "noit-objs/eventer/eventer_$${impl}_impl.o: eventer/eventer_$${impl}_impl.o" >> $@ ; \
333         done
334
335 Makefile.stratcon.dep:
336         find stratcon-objs -name \*.o | grep -v 'eventer_.*_impl.o' | sort | awk '{gsub("^.+-objs/", ""); print "stratcon-objs/"$$1": "$$1;}' > $@
337         for impl in kqueue ports epoll; do \
338                 echo "stratcon-objs/eventer/eventer_$${impl}_impl.o: eventer/eventer_$${impl}_impl.o" >> $@ ; \
339         done
340
341 Makefile.dep:
342         $(CC) -I. $(CPPFLAGS) $(CFLAGS) $(DEPFLAGS) *.c > Makefile.dep
343         for d in utils jlog udns eventer noitedit json-lib yajl-lib; do \
344                 $(CC) -I. $(CPPFLAGS) $(CFLAGS) $(DEPFLAGS) $$d/*.c | \
345                 perl -pe 's#(\s)([^\s\\])#$$1$$2#g; s#^(\S)#'$$d'/$$1#;' >> \
346                 Makefile.dep ; \
347         done
348         $(top_srcdir)/buildtools/culldeps.sh Makefile.dep
349
350 include Makefile.dep
351 include Makefile.noit.dep
352 include Makefile.stratcon.dep
353
354 distclean-subdirs:
355         for dir in jlog eventer udns man modules modules-lua noitedit utils json-lib yajl-lib LuaJIT lua/src java ; do \
356                 (cd $$dir && $(MAKE) distclean) ; \
357         done
358
359 distclean:      clean distclean-subdirs
360         rm -f Makefile noit_config.h scripts/noit-config
361
362 bundle:
363         protoc bundle.proto --java_out=java
364         protoc-c bundle.proto --c_out=.
Note: See TracBrowser for help on using the browser.