1# $Id: Makefile.in,v 1.30 2005/10/13 11:27:44 djm Exp $
2
3PROGVER=@PROGVER@
4
5prefix=@prefix@
6exec_prefix=@exec_prefix@
7bindir=@bindir@
8sbindir=@sbindir@
9libdir=@libdir@
10libexecdir=@libexecdir@
11datadir=@datadir@
12mandir=@mandir@
13sysconfdir=@sysconfdir@
14srcdir=@srcdir@
15top_srcdir=@top_srcdir@
16localstatedir=@localstatedir@
17includedir=@includedir@
18
19PIDFILEDIR=@PIDPATH@
20
21PATHFLAGS=-DSYSCONFDIR="\"$(sysconfdir)\"" -DPIDFILEDIR="\"$(PIDFILEDIR)\""
22PROGFLAGS=-DPROGVER="\"$(PROGVER)\""
23
24VPATH=@srcdir@
25CC=@CC@
26LDFLAGS=@LDFLAGS@
27CFLAGS=@CFLAGS@
28CPPFLAGS=-I$(srcdir) @CPPFLAGS@ $(PATHFLAGS) $(PROGFLAGS) @DEFS@
29LIBS=@LIBS@
30EXEEXT=@EXEEXT@
31INSTALL=@INSTALL@
32RANLIB=@RANLIB@
33
34HEADER_DIR=$(includedir)/flowd
35
36# Bison doesn't work
37YACC=@YACC@
38
39TARGETS=flowd flowd-reader
40
41all: $(TARGETS)
42
43LIBFLOWD_OBJS=		atomicio.o addr.o store.o store-v2.o crc32.o \
44			strlcpy.o strlcat.o
45LIBFLOWD_HEADERS=	flowd-config.h flowd-common.h addr.h crc32.h \
46			store.h store-v2.h flowd-pytypes.h
47FLOWD_OBJS=		flowd.o privsep_fdpass.o privsep.o filter.o \
48			parse.o log.o daemon.o peer.o \
49			closefrom.o setproctitle.o
50FLOWD_READER_OBJS=	flowd-reader.o parse.o log.o filter.o
51
52libflowd.a: $(LIBFLOWD_HEADERS) $(LIBFLOWD_OBJS)
53	$(AR) rv $@ $(LIBFLOWD_OBJS)
54	$(RANLIB) $@
55
56parse.c: $(top_srcdir)/parse.y
57	$(YACC) $(top_srcdir)/parse.y
58	mv y.tab.c parse.c
59	rm -f y.tab.h
60
61flowd: $(LIBFLOWD_HEADERS) $(FLOWD_OBJS) libflowd.a
62	$(CC) $(LDFLAGS) -L. -o $@ $(FLOWD_OBJS) -lflowd $(LIBS)
63
64flowd-reader: $(LIBFLOWD_HEADERS) $(FLOWD_READER_OBJS) libflowd.a
65	$(CC) $(LDFLAGS) -L. -o $@ $(FLOWD_READER_OBJS) libflowd.a $(LIBS)
66
67clean:
68	rm -f $(TARGETS) *.o core *.core y.tab.* parse.c libflowd.a
69
70realclean: clean
71	-(cd Flowd-perl && test -f Makefile && make distclean)
72	rm -rf autom4te.cache Makefile config.log config.status
73	rm -f flowd.8 flowd-reader.8 flowd.conf.5
74	rm -f *.pyc *.pyo
75	rm -rf build
76
77distclean: realclean
78	rm -f flowd-config.h* flowd-pytypes.h configure
79
80strip:
81	strip $(TARGETS)
82
83install-man:
84	$(srcdir)/mkinstalldirs $(DESTDIR)$(mandir)/man5
85	$(srcdir)/mkinstalldirs $(DESTDIR)$(mandir)/man8
86	$(INSTALL) -m 0644 flowd.8 $(DESTDIR)$(mandir)/man8/flowd.8
87	$(INSTALL) -m 0644 flowd.conf.5 $(DESTDIR)$(mandir)/man5/flowd.conf.5
88	$(INSTALL) -m 0644 flowd-reader.8 $(DESTDIR)$(mandir)/man8/flowd-reader.8
89
90install-bin: $(TARGETS)
91	$(srcdir)/mkinstalldirs $(DESTDIR)$(sbindir)
92	$(srcdir)/mkinstalldirs $(DESTDIR)$(bindir)
93	$(INSTALL) -m 0755 -s flowd $(DESTDIR)$(sbindir)/flowd
94	$(INSTALL) -m 0755 -s flowd-reader $(DESTDIR)$(bindir)/flowd-reader
95
96install-conf: flowd.conf
97	$(srcdir)/mkinstalldirs $(DESTDIR)$(sysconfdir)
98	test -f $(DESTDIR)$(sysconfdir)/flowd.conf || \
99	    $(INSTALL) -m 0600 flowd.conf $(DESTDIR)$(sysconfdir)/flowd.conf.sample
100
101install-lib: libflowd.a
102	$(srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
103	$(INSTALL) -m 0644 libflowd.a $(DESTDIR)$(libdir)
104
105install-includes: $(LIBFLOWD_HEADERS)
106	$(srcdir)/mkinstalldirs $(DESTDIR)$(HEADER_DIR)
107	$(INSTALL) -m 0644 addr.h $(DESTDIR)$(HEADER_DIR)
108	$(INSTALL) -m 0644 store.h $(DESTDIR)$(HEADER_DIR)
109	$(INSTALL) -m 0644 store-v2.h $(DESTDIR)$(HEADER_DIR)
110	$(INSTALL) -m 0644 crc32.h $(DESTDIR)$(HEADER_DIR)
111	$(INSTALL) -m 0644 flowd-pytypes.h $(DESTDIR)$(HEADER_DIR)
112	$(INSTALL) -m 0644 flowd-config.h $(DESTDIR)$(HEADER_DIR)
113	$(INSTALL) -m 0644 flowd-common.h $(DESTDIR)$(HEADER_DIR)
114
115install: install-bin install-man install-conf install-lib install-includes
116