Makefile.am revision 71e402bbb3db7b54571f0e44354fd37706ff90aa
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
14if HAVE_LIBNFNETLINK
15SUBDIRS         += utils
16endif
17lib_LTLIBRARIES =
18
19# libiptc
20lib_LTLIBRARIES            += libiptc/libip4tc.la libiptc/libip6tc.la libiptc/libiptc.la
21libiptc_libiptc_la_SOURCES  =
22libiptc_libiptc_la_LIBADD   = libiptc/libip4tc.la libiptc/libip6tc.la
23libiptc_libiptc_la_LDFLAGS  = -version-info 0:0:0 ${libiptc_LDFLAGS2}
24libiptc_libip4tc_la_SOURCES = libiptc/libip4tc.c
25libiptc_libip4tc_la_LDFLAGS = -version-info 0:0:0
26libiptc_libip6tc_la_SOURCES = libiptc/libip6tc.c
27libiptc_libip6tc_la_LDFLAGS = -version-info 0:0:0 ${libiptc_LDFLAGS2}
28
29lib_LTLIBRARIES      += libxtables.la
30libxtables_la_SOURCES = xtables.c xtoptions.c
31libxtables_la_LDFLAGS = -version-info ${libxtables_vcurrent}:0:${libxtables_vage}
32if ENABLE_SHARED
33libxtables_la_CFLAGS  = ${AM_CFLAGS}
34libxtables_la_LIBADD  = -ldl
35else
36libxtables_la_CFLAGS  = ${AM_CFLAGS} -DNO_SHARED_LIBS=1
37libxtables_la_LIBADD  =
38endif
39
40xtables_multi_SOURCES  = xtables-multi.c
41xtables_multi_CFLAGS   = ${AM_CFLAGS} -DIPTABLES_MULTI
42xtables_multi_LDFLAGS  = -rdynamic
43xtables_multi_LDADD    = extensions/libext.a
44if ENABLE_STATIC
45xtables_multi_CFLAGS  += -DALL_INCLUSIVE
46endif
47if ENABLE_IPV4
48xtables_multi_SOURCES += iptables-save.c iptables-restore.c iptables-xml.c \
49                         iptables-standalone.c iptables.c
50xtables_multi_CFLAGS  += -DENABLE_IPV4
51xtables_multi_LDADD   += libiptc/libip4tc.la extensions/libext4.a
52endif
53if ENABLE_IPV6
54xtables_multi_SOURCES += ip6tables-save.c ip6tables-restore.c \
55                          ip6tables-standalone.c ip6tables.c
56xtables_multi_CFLAGS  += -DENABLE_IPV6
57xtables_multi_LDADD   += libiptc/libip6tc.la extensions/libext6.a
58endif
59xtables_multi_SOURCES += xshared.c
60xtables_multi_LDADD   += libxtables.la -lm
61
62sbin_PROGRAMS    = xtables-multi
63man_MANS         = iptables.8 iptables-restore.8 iptables-save.8 \
64                   iptables-xml.8 ip6tables.8 ip6tables-restore.8 \
65                   ip6tables-save.8
66CLEANFILES       = iptables.8 ip6tables.8
67
68if ENABLE_IPV4
69v4_bin_links   = iptables-xml
70v4_sbin_links  = iptables iptables-restore iptables-save
71endif
72if ENABLE_IPV6
73v6_sbin_links  = ip6tables ip6tables-restore ip6tables-save
74endif
75
76iptables.8: ${srcdir}/iptables.8.in extensions/matches4.man extensions/targets4.man
77	${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' $< >$@;
78
79ip6tables.8: ${srcdir}/ip6tables.8.in extensions/matches6.man extensions/targets6.man
80	${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' $< >$@;
81
82pkgconfig_DATA = libiptc.pc xtables.pc
83
84.PHONY: tarball
85tarball:
86	rm -Rf /tmp/${PACKAGE_TARNAME}-${PACKAGE_VERSION};
87	pushd ${top_srcdir} && git archive --prefix=${PACKAGE_TARNAME}-${PACKAGE_VERSION}/ HEAD | tar -C /tmp -x && popd;
88	pushd /tmp/${PACKAGE_TARNAME}-${PACKAGE_VERSION} && ./autogen.sh && popd;
89	tar -C /tmp -cjf ${PACKAGE_TARNAME}-${PACKAGE_VERSION}.tar.bz2 --owner=root --group=root ${PACKAGE_TARNAME}-${PACKAGE_VERSION}/;
90	rm -Rf /tmp/${PACKAGE_TARNAME}-${PACKAGE_VERSION};
91
92config.status: extensions/GNUmakefile.in \
93	include/xtables.h.in include/iptables/internal.h.in
94
95# Using if..fi avoids an ugly "error (ignored)" message :)
96install-exec-hook:
97	-if test -z "${DESTDIR}"; then /sbin/ldconfig; fi;
98	${INSTALL} -dm0755 "${DESTDIR}${bindir}";
99	for i in ${v4_bin_links}; do ${LN_S} -f "${sbindir}/xtables-multi" "${DESTDIR}${bindir}/$$i"; done;
100	for i in ${v4_sbin_links}; do ${LN_S} -f xtables-multi "${DESTDIR}${sbindir}/$$i"; done;
101	for i in ${v6_sbin_links}; do ${LN_S} -f xtables-multi "${DESTDIR}${sbindir}/$$i"; done;
102