Makefile.am revision f89c1716a7743ca6e2e6164d3b64c15b2e285e1e
1# -*- Makefile -*-
2
3ACLOCAL_AMFLAGS  = -I m4
4AUTOMAKE_OPTIONS = foreign subdir-objects
5
6AM_CFLAGS        = ${regular_CFLAGS} -I${top_builddir}/include -I${top_srcdir}/include ${kinclude_CFLAGS}
7SUBDIRS          = extensions
8if ENABLE_DEVEL
9SUBDIRS         += include
10endif
11if ENABLE_LIBIPQ
12SUBDIRS         += libipq
13endif
14lib_LTLIBRARIES =
15
16# libiptc
17lib_LTLIBRARIES           += libiptc/libiptc.la libiptc/libip4tc.la libiptc/libip6tc.la
18libiptc_libiptc_la_SOURCES  =
19libiptc_libiptc_la_LIBADD   = libiptc/libip4tc.la libiptc/libip6tc.la
20libiptc_libiptc_la_LDFLAGS  = -version-info 0:0:0
21libiptc_libip4tc_la_SOURCES = libiptc/libip4tc.c
22libiptc_libip4tc_la_LDFLAGS = -version-info 0:0:0
23libiptc_libip6tc_la_SOURCES = libiptc/libip6tc.c
24libiptc_libip6tc_la_LDFLAGS = -version-info 0:0:0
25
26lib_LTLIBRARIES      += libxtables.la
27libxtables_la_SOURCES = xtables.c
28libxtables_la_LDFLAGS = -version-info ${libxtables_vcurrent}:0:${libxtables_vage}
29libxtables_la_LIBADD  = -ldl
30
31# iptables, dynamic
32iptables_SOURCES          = iptables-standalone.c iptables.c xshared.c
33iptables_LDFLAGS          = -rdynamic
34iptables_LDADD            = libiptc/libip4tc.la extensions/libext4.a libxtables.la -lm
35
36iptables_xml_LDADD        = libxtables.la
37iptables_multi_SOURCES    = iptables-multi.c iptables-save.c \
38                            iptables-restore.c iptables-xml.c \
39                            iptables-standalone.c iptables.c xshared.c
40iptables_multi_CFLAGS     = ${AM_CFLAGS} -DIPTABLES_MULTI
41iptables_multi_LDFLAGS    = ${iptables_LDFLAGS}
42iptables_multi_LDADD      = ${iptables_LDADD}
43
44iptables_restore_SOURCES  = iptables-restore.c iptables.c xshared.c
45iptables_restore_LDFLAGS  = ${iptables_LDFLAGS}
46iptables_restore_LDADD    = ${iptables_LDADD}
47
48iptables_save_SOURCES     = iptables-save.c iptables.c xshared.c
49iptables_save_LDFLAGS     = ${iptables_LDFLAGS}
50iptables_save_LDADD       = ${iptables_LDADD}
51
52# iptables-multi, semi-static
53iptables_static_SOURCES   = ${iptables_multi_SOURCES} xtables.c
54iptables_static_CFLAGS    = ${iptables_multi_CFLAGS} -DNO_SHARED_LIBS=1
55iptables_static_LDADD     = libiptc/libip4tc.la extensions/libext4.a -lm
56
57iptables_xml_SOURCES      = iptables-xml.c
58
59# ip6tables, dynamic
60ip6tables_SOURCES         = ip6tables-standalone.c ip6tables.c xshared.c
61ip6tables_LDFLAGS         = -rdynamic
62ip6tables_LDADD           = libiptc/libip6tc.la extensions/libext6.a libxtables.la -lm
63
64ip6tables_multi_SOURCES   = ip6tables-multi.c ip6tables-save.c \
65                            ip6tables-restore.c ip6tables-standalone.c \
66                            ip6tables.c xshared.c
67ip6tables_multi_CFLAGS    = ${AM_CFLAGS} -DIPTABLES_MULTI
68ip6tables_multi_LDFLAGS   = ${ip6tables_LDFLAGS}
69ip6tables_multi_LDADD     = ${ip6tables_LDADD}
70
71ip6tables_restore_SOURCES = ip6tables-restore.c ip6tables.c xshared.c
72ip6tables_restore_LDFLAGS = ${ip6tables_LDFLAGS}
73ip6tables_restore_LDADD   = ${ip6tables_LDADD}
74
75ip6tables_save_SOURCES    = ip6tables-save.c ip6tables.c xshared.c
76ip6tables_save_LDFLAGS    = ${ip6tables_LDFLAGS}
77ip6tables_save_LDADD      = ${ip6tables_LDADD}
78
79# iptables-multi, semi-static
80ip6tables_static_SOURCES    = ${ip6tables_multi_SOURCES} xtables.c
81ip6tables_static_CFLAGS     = ${ip6tables_multi_CFLAGS} -DNO_SHARED_LIBS=1
82ip6tables_static_LDADD      = libiptc/libip6tc.la extensions/libext6.a -lm
83
84bin_PROGRAMS     = iptables-xml
85sbin_PROGRAMS    =
86noinst_PROGRAMS  =
87man_MANS         = iptables.8 iptables-restore.8 iptables-save.8 \
88                   iptables-xml.8 ip6tables.8 ip6tables-restore.8 \
89                   ip6tables-save.8
90CLEANFILES       = iptables.8 ip6tables.8
91
92if ENABLE_STATIC
93if ENABLE_IPV4
94sbin_PROGRAMS += iptables-static
95endif
96if ENABLE_IPV6
97sbin_PROGRAMS += ip6tables-static
98endif
99endif
100if ENABLE_SHARED
101if ENABLE_IPV4
102sbin_PROGRAMS += iptables iptables-multi iptables-restore iptables-save
103endif
104if ENABLE_IPV6
105sbin_PROGRAMS += ip6tables ip6tables-multi ip6tables-restore ip6tables-save
106endif
107endif
108
109iptables.8: ${srcdir}/iptables.8.in extensions/matches4.man extensions/targets4.man
110	${AM_VERBOSE_GEN} sed -e 's/@PACKAGE_AND_VERSION@/${PACKAGE} ${PACKAGE_VERSION}/g' -e '/@MATCH@/ r extensions/matches4.man' -e '/@TARGET@/ r extensions/targets4.man' $< >$@;
111
112ip6tables.8: ${srcdir}/ip6tables.8.in extensions/matches6.man extensions/targets6.man
113	${AM_VERBOSE_GEN} sed -e 's/@PACKAGE_AND_VERSION@/${PACKAGE} ${PACKAGE_VERSION}/g' -e '/@MATCH@/ r extensions/matches6.man' -e '/@TARGET@/ r extensions/targets6.man' $< >$@;
114
115pkgconfig_DATA = libiptc.pc xtables.pc
116
117.PHONY: tarball
118tarball:
119	rm -Rf /tmp/${PACKAGE_TARNAME}-${PACKAGE_VERSION};
120	pushd ${top_srcdir} && git archive --prefix=${PACKAGE_TARNAME}-${PACKAGE_VERSION}/ HEAD | tar -C /tmp -x && popd;
121	pushd /tmp/${PACKAGE_TARNAME}-${PACKAGE_VERSION} && ./autogen.sh && popd;
122	tar -C /tmp -cjf ${PACKAGE_TARNAME}-${PACKAGE_VERSION}.tar.bz2 --owner=root --group=root ${PACKAGE_TARNAME}-${PACKAGE_VERSION}/;
123	rm -Rf /tmp/${PACKAGE_TARNAME}-${PACKAGE_VERSION};
124
125config.status: extensions/GNUmakefile.in \
126	include/xtables.h.in include/iptables/internal.h.in
127
128# Using if..fi avoids an ugly "error (ignored)" message :)
129install-exec-hook:
130	-if test -z "${DESTDIR}"; then /sbin/ldconfig; fi;
131