root/src/Makefile.in

Revision 9857d4bbab175a52fd9271eecee034bf267d7f72, 3.9 kB (checked in by Theo Schlossnagle <jesus@omniti.com>, 5 years ago)

fixes #37

  • 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
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_jlog_listener.o noit_livestream_listener.o noit_filters.o
42
43 STRATCON_OBJS=stratcond.o noit_listener.o \
44         noit_console.o noit_console_state.o noit_console_telnet.o \
45         noit_console_complete.o \
46         noit_conf.o noit_http.o noit_tokenizer.o \
47         stratcon_realtime_http.o \
48         stratcon_jlog_streamer.o stratcon_datastore.o
49
50 all:    noitd stratcond noit.conf test-noit.conf
51
52 make-subdirs:   serf/.libs/libserf-0.o jlog/libjlog.a
53         for dir in $(SUBS) ; do \
54                 (cd $$dir && make) ; \
55         done
56
57 jlog/libjlog.a:
58         (cd jlog && make libjlog.a)
59
60 serf/.libs/libserf-0.a:
61         (cd serf && \
62                 env \
63                 CFLAGS="$(CFLAGS)" \
64                 LDFLAGS="$(LDFLAGS)" \
65                 python serfmake build --with-apr=@APRPREFIX@)
66
67 serf/.libs/libserf-0.o: serf/.libs/libserf-0.a
68         ld -r -o serf/.libs/libserf-0.o \
69                 serf/.libs/context.o serf/buckets/.libs/*.o
70
71 noitd:  make-subdirs $(NOIT_OBJS)
72         @$(CC) -o $@ $(NOIT_OBJS) \
73                 udns/libudns.o \
74                 $(LDFLAGS) \
75                 $(WHOLE_ARCHIVE) \
76                 -Leventer -leventer \
77                 -Lutils -lnoit_utils \
78                 -Ljlog -ljlog \
79                 -Lnoitedit -lnoitedit \
80                 $(NOWHOLE_ARCHIVE) \
81                 $(LIBS)
82         @echo "- linking $@"
83
84 stratcond:      make-subdirs $(STRATCON_OBJS)
85         @$(CC) -o $@ $(STRATCON_OBJS) \
86                 udns/libudns.o \
87                 $(LDFLAGS) \
88                 $(WHOLE_ARCHIVE) \
89                 -Leventer -leventer \
90                 -Lutils -lnoit_utils \
91                 -Ljlog -ljlog \
92                 -Lnoitedit -lnoitedit \
93                 $(NOWHOLE_ARCHIVE) \
94                 $(LIBS) $(PGLIBS)
95         @echo "- linking $@"
96
97 stratcon_datastore.o:   stratcon_datastore.c
98         @$(CC) $(CPPFLAGS) $(PGCFLAGS) -c $<
99         @echo "- compiling $<"
100
101 .c.o:
102         @$(CC) $(CPPFLAGS) $(CFLAGS) -c $<
103         @echo "- compiling $<"
104
105 noit_module.o:  module-online.h
106
107 module-online.h:        modules/module-online.xsl
108         @echo "- making module-online.h (StyleSheet include)"
109         @$(XML2H) helpStyleXML < modules/module-online.xsl > $@
110
111 noit_tokenizer.c:       noit_tokenizer.re
112         @re2c -o $@ noit_tokenizer.re
113         @echo "- re2c $<"
114
115 test-noit.conf: noit.conf.in
116         sed -e "s^%sysconfdir%^`pwd`^g;" \
117                 -e "s^%modulesdir%^`pwd`/modules^g;" \
118                 -e "s^%modulesluadir%^`pwd`/modules-lua^g;" \
119                 -e "s^%PKIPREFIX%^`pwd`/../test/test-^g;" < \
120                 noit.conf.in > \
121                 test-noit.conf
122
123 noit.conf:      noit.conf.in
124         sed -e "s^%sysconfdir%^$(sysconfdir)^g;" \
125                 -e "s^%modulesdir%^$(MODULES_DIR)^g;" \
126                 -e "s^%modulesluadir%^$(MODULES_DIR)^g;" \
127                 -e "s^%PKIPREFIX%^$${PKIPREFIX}^g;" < \
128                 noit.conf.in > \
129                 noit.conf
130
131 install:        all
132         $(top_srcdir)/buildtools/mkinstalldirs $(DESTDIR)$(bindir)
133         $(INSTALL) -m 0755 scripts/noittrap $(DESTDIR)$(bindir)/noittrap
134         $(top_srcdir)/buildtools/mkinstalldirs $(DESTDIR)$(sbindir)
135         $(INSTALL) -m 0755 noitd $(DESTDIR)$(sbindir)/noitd
136         $(INSTALL) -m 0755 stratcond $(DESTDIR)$(sbindir)/stratcond
137         $(top_srcdir)/buildtools/mkinstalldirs $(DESTDIR)$(sysconfdir)
138         $(INSTALL) -m 0644 stratcon.conf $(DESTDIR)$(sysconfdir)/stratcon.conf.sample
139         $(INSTALL) -m 0644 noit.conf $(DESTDIR)$(sysconfdir)/noit.conf.sample
140         (cd man && make install DESTDIR=$(DESTDIR))
141         (cd modules && make install DESTDIR=$(DESTDIR))
142         (cd modules-lua && make install DESTDIR=$(DESTDIR))
143
144 clean-subdirs:
145         for dir in $(SUBS) ; do \
146                 (cd $$dir && make clean) ; \
147         done
148
149 clean:  clean-subdirs
150         rm -f *.o noitd
151
Note: See TracBrowser for help on using the browser.