iptables: fix static builds
[iptables-mirror.git] / iptables / Makefile.am
blob3c0faa5a54df75d0ed5d97f809eb20adbe4ebd2c
1 # -*- Makefile -*-
3 AM_CFLAGS        = ${regular_CFLAGS}
4 AM_CPPFLAGS      = ${regular_CPPFLAGS} -I${top_builddir}/include -I${top_srcdir}/include ${kinclude_CPPFLAGS} ${libmnl_CFLAGS} ${libnftnl_CFLAGS} ${libnetfilter_conntrack_CFLAGS}
5 AM_YFLAGS = -d
7 xtables_multi_SOURCES  = xtables-multi.c iptables-xml.c
8 xtables_multi_CFLAGS   = ${AM_CFLAGS}
9 xtables_multi_LDADD    = ../extensions/libext.a
10 if ENABLE_STATIC
11 xtables_multi_CFLAGS  += -DALL_INCLUSIVE
12 endif
13 if ENABLE_IPV4
14 xtables_multi_SOURCES += iptables-save.c iptables-restore.c \
15                          iptables-standalone.c iptables.c
16 xtables_multi_CFLAGS  += -DENABLE_IPV4
17 xtables_multi_LDADD   += ../libiptc/libip4tc.la ../extensions/libext4.a
18 endif
19 if ENABLE_IPV6
20 xtables_multi_SOURCES += ip6tables-save.c ip6tables-restore.c \
21                           ip6tables-standalone.c ip6tables.c
22 xtables_multi_CFLAGS  += -DENABLE_IPV6
23 xtables_multi_LDADD   += ../libiptc/libip6tc.la ../extensions/libext6.a
24 endif
25 xtables_multi_SOURCES += xshared.c
26 xtables_multi_LDADD   += ../libxtables/libxtables.la -lm
28 # nftables compatibility layer
29 if ENABLE_NFTABLES
30 xtables_compat_multi_SOURCES  = xtables-compat-multi.c iptables-xml.c
31 xtables_compat_multi_CFLAGS   = ${AM_CFLAGS}
32 xtables_compat_multi_LDADD    = ../extensions/libext.a ../extensions/libext_ebt.a
33 if ENABLE_STATIC
34 xtables_compat_multi_CFLAGS  += -DALL_INCLUSIVE
35 endif
36 xtables_compat_multi_CFLAGS  += -DENABLE_NFTABLES -DENABLE_IPV4 -DENABLE_IPV6
37 xtables_compat_multi_SOURCES += xtables-config-parser.y xtables-config-syntax.l
38 xtables_compat_multi_SOURCES += xtables-save.c xtables-restore.c \
39                                 xtables-standalone.c xtables.c nft.c \
40                                 nft-shared.c nft-ipv4.c nft-ipv6.c nft-arp.c \
41                                 xtables-arp-standalone.c xtables-arp.c \
42                                 getethertype.c nft-bridge.c \
43                                 xtables-eb-standalone.c xtables-eb.c
44 xtables_compat_multi_LDADD   += ${libmnl_LIBS} ${libnftnl_LIBS} ${libnetfilter_conntrack_LIBS} ../extensions/libext4.a ../extensions/libext6.a ../extensions/libext_ebt.a ../extensions/libext_arpt.a
45 # yacc and lex generate dirty code
46 xtables_compat_multi-xtables-config-parser.o xtables_compat_multi-xtables-config-syntax.o: AM_CFLAGS += -Wno-missing-prototypes -Wno-missing-declarations -Wno-implicit-function-declaration -Wno-nested-externs -Wno-undef -Wno-redundant-decls
47 xtables_compat_multi_SOURCES += xshared.c
48 xtables_compat_multi_LDADD   += ../libxtables/libxtables.la -lm
49 endif
51 sbin_PROGRAMS    = xtables-multi
52 if ENABLE_NFTABLES
53 sbin_PROGRAMS   += xtables-compat-multi
54 endif
55 man_MANS         = iptables.8 iptables-restore.8 iptables-save.8 \
56                    iptables-xml.1 ip6tables.8 ip6tables-restore.8 \
57                    ip6tables-save.8 iptables-extensions.8
58 CLEANFILES       = iptables.8 \
59                    xtables-config-parser.c xtables-config-syntax.c
61 vx_bin_links   = iptables-xml
62 if ENABLE_IPV4
63 v4_sbin_links  = iptables iptables-restore iptables-save
64 endif
65 if ENABLE_IPV6
66 v6_sbin_links  = ip6tables ip6tables-restore ip6tables-save
67 endif
68 if ENABLE_NFTABLES
69 x_sbin_links  = iptables-compat iptables-compat-restore iptables-compat-save \
70                 ip6tables-compat ip6tables-compat-restore ip6tables-compat-save \
71                 arptables-compat ebtables-compat
72 endif
74 iptables-extensions.8: iptables-extensions.8.tmpl ../extensions/matches.man ../extensions/targets.man
75         ${AM_VERBOSE_GEN} sed \
76                 -e '/@MATCH@/ r ../extensions/matches.man' \
77                 -e '/@TARGET@/ r ../extensions/targets.man' $< >$@;
79 pkgconfig_DATA = xtables.pc
81 # Using if..fi avoids an ugly "error (ignored)" message :)
82 install-exec-hook:
83         -if test -z "${DESTDIR}"; then /sbin/ldconfig; fi;
84         ${INSTALL} -dm0755 "${DESTDIR}${bindir}";
85         for i in ${vx_bin_links}; do ${LN_S} -f "${sbindir}/xtables-multi" "${DESTDIR}${bindir}/$$i"; done;
86         for i in ${v4_sbin_links}; do ${LN_S} -f xtables-multi "${DESTDIR}${sbindir}/$$i"; done;
87         for i in ${v6_sbin_links}; do ${LN_S} -f xtables-multi "${DESTDIR}${sbindir}/$$i"; done;
88         for i in ${x_sbin_links}; do ${LN_S} -f xtables-compat-multi "${DESTDIR}${sbindir}/$$i"; done;