1# -*- Makefile -*- 2 3AM_CFLAGS = ${regular_CFLAGS} 4AM_CPPFLAGS = ${regular_CPPFLAGS} -I${top_builddir}/include -I${top_srcdir}/include -I${top_srcdir} ${kinclude_CPPFLAGS} ${libmnl_CFLAGS} ${libnftnl_CFLAGS} ${libnetfilter_conntrack_CFLAGS} 5 6BUILT_SOURCES = 7 8xtables_legacy_multi_SOURCES = xtables-legacy-multi.c iptables-xml.c 9xtables_legacy_multi_CFLAGS = ${AM_CFLAGS} 10xtables_legacy_multi_LDADD = ../extensions/libext.a 11if ENABLE_STATIC 12xtables_legacy_multi_CFLAGS += -DALL_INCLUSIVE 13endif 14if ENABLE_IPV4 15xtables_legacy_multi_SOURCES += iptables-standalone.c iptables.c 16xtables_legacy_multi_CFLAGS += -DENABLE_IPV4 17xtables_legacy_multi_LDADD += ../libiptc/libip4tc.la ../extensions/libext4.a 18endif 19if ENABLE_IPV6 20xtables_legacy_multi_SOURCES += ip6tables-standalone.c ip6tables.c 21xtables_legacy_multi_CFLAGS += -DENABLE_IPV6 22xtables_legacy_multi_LDADD += ../libiptc/libip6tc.la ../extensions/libext6.a 23endif 24xtables_legacy_multi_SOURCES += xshared.c iptables-restore.c iptables-save.c 25xtables_legacy_multi_LDADD += ../libxtables/libxtables.la -lm 26 27# iptables using nf_tables api 28if ENABLE_NFTABLES 29xtables_nft_multi_SOURCES = xtables-nft-multi.c iptables-xml.c 30xtables_nft_multi_CFLAGS = ${AM_CFLAGS} 31xtables_nft_multi_LDADD = ../extensions/libext.a ../extensions/libext_ebt.a 32if ENABLE_STATIC 33xtables_nft_multi_CFLAGS += -DALL_INCLUSIVE 34endif 35xtables_nft_multi_CFLAGS += -DENABLE_NFTABLES -DENABLE_IPV4 -DENABLE_IPV6 36xtables_nft_multi_SOURCES += xtables-save.c xtables-restore.c \ 37 xtables-standalone.c xtables.c nft.c \ 38 nft-shared.c nft-ipv4.c nft-ipv6.c nft-arp.c \ 39 xtables-monitor.c nft-cache.c \ 40 xtables-arp-standalone.c xtables-arp.c \ 41 nft-bridge.c nft-cmd.c nft-chain.c \ 42 xtables-eb-standalone.c xtables-eb.c \ 43 xtables-eb-translate.c \ 44 xtables-translate.c 45xtables_nft_multi_LDADD += ${libmnl_LIBS} ${libnftnl_LIBS} ${libnetfilter_conntrack_LIBS} ../extensions/libext4.a ../extensions/libext6.a ../extensions/libext_ebt.a ../extensions/libext_arpt.a 46xtables_nft_multi_SOURCES += xshared.c 47xtables_nft_multi_LDADD += ../libxtables/libxtables.la -lm 48endif 49 50sbin_PROGRAMS = xtables-legacy-multi 51if ENABLE_NFTABLES 52sbin_PROGRAMS += xtables-nft-multi 53endif 54man_MANS = iptables.8 iptables-restore.8 iptables-save.8 \ 55 iptables-xml.1 ip6tables.8 ip6tables-restore.8 \ 56 ip6tables-save.8 iptables-extensions.8 \ 57 iptables-apply.8 ip6tables-apply.8 58 59sbin_SCRIPTS = iptables-apply 60 61if ENABLE_NFTABLES 62man_MANS += xtables-nft.8 xtables-translate.8 xtables-legacy.8 \ 63 iptables-translate.8 ip6tables-translate.8 \ 64 iptables-restore-translate.8 ip6tables-restore-translate.8 \ 65 xtables-monitor.8 \ 66 arptables-nft.8 arptables-nft-restore.8 arptables-nft-save.8 \ 67 ebtables-nft.8 68endif 69CLEANFILES = iptables.8 xtables-monitor.8 \ 70 iptables-xml.1 iptables-apply.8 \ 71 iptables-extensions.8 iptables-extensions.8.tmpl \ 72 iptables-restore.8 iptables-save.8 \ 73 iptables-restore-translate.8 ip6tables-restore-translate.8 \ 74 iptables-translate.8 ip6tables-translate.8 75 76vx_bin_links = iptables-xml 77if ENABLE_IPV4 78v4_sbin_links = iptables-legacy iptables-legacy-restore iptables-legacy-save \ 79 iptables iptables-restore iptables-save 80endif 81if ENABLE_IPV6 82v6_sbin_links = ip6tables-legacy ip6tables-legacy-restore ip6tables-legacy-save \ 83 ip6tables ip6tables-restore ip6tables-save 84endif 85if ENABLE_NFTABLES 86x_sbin_links = iptables-nft iptables-nft-restore iptables-nft-save \ 87 ip6tables-nft ip6tables-nft-restore ip6tables-nft-save \ 88 iptables-translate ip6tables-translate \ 89 iptables-restore-translate ip6tables-restore-translate \ 90 arptables-nft arptables \ 91 arptables-nft-restore arptables-restore \ 92 arptables-nft-save arptables-save \ 93 ebtables-nft ebtables \ 94 ebtables-nft-restore ebtables-restore \ 95 ebtables-nft-save ebtables-save \ 96 xtables-monitor 97endif 98 99iptables-extensions.8: iptables-extensions.8.tmpl ../extensions/matches.man ../extensions/targets.man 100 ${AM_VERBOSE_GEN} sed \ 101 -e '/@MATCH@/ r ../extensions/matches.man' \ 102 -e '/@TARGET@/ r ../extensions/targets.man' $< >$@; 103 104iptables-translate.8 ip6tables-translate.8 iptables-restore-translate.8 ip6tables-restore-translate.8: 105 ${AM_VERBOSE_GEN} echo '.so man8/xtables-translate.8' >$@ 106 107pkgconfig_DATA = xtables.pc 108 109# Using if..fi avoids an ugly "error (ignored)" message :) 110install-exec-hook: 111 -if test -z "${DESTDIR}"; then /sbin/ldconfig; fi; 112 ${INSTALL} -dm0755 "${DESTDIR}${bindir}"; 113 for i in ${vx_bin_links}; do ${LN_S} -f "${sbindir}/xtables-legacy-multi" "${DESTDIR}${bindir}/$$i"; done; 114 for i in ${v4_sbin_links}; do ${LN_S} -f xtables-legacy-multi "${DESTDIR}${sbindir}/$$i"; done; 115 for i in ${v6_sbin_links}; do ${LN_S} -f xtables-legacy-multi "${DESTDIR}${sbindir}/$$i"; done; 116 for i in ${x_sbin_links}; do ${LN_S} -f xtables-nft-multi "${DESTDIR}${sbindir}/$$i"; done; 117 ${LN_S} -f iptables-apply "${DESTDIR}${sbindir}/ip6tables-apply" 118 119uninstall-hook: 120 dir=${DESTDIR}${bindir}; { \ 121 test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; \ 122 } || { \ 123 test -z "${vx_bin_links}" || ( \ 124 cd "$$dir" && rm -f ${vx_bin_links} \ 125 ) \ 126 } 127 dir=${DESTDIR}${sbindir}; { \ 128 test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; \ 129 } || { \ 130 test -z "${v4_sbin_links}" || ( \ 131 cd "$$dir" && rm -f ${v4_sbin_links} \ 132 ); \ 133 test -z "${v6_sbin_links}" || ( \ 134 cd "$$dir" && rm -f ${v6_sbin_links} \ 135 ); \ 136 test -z "${x_sbin_links}" || ( \ 137 cd "$$dir" && rm -f ${x_sbin_links} \ 138 ); \ 139 ( cd "$$dir" && rm -f ip6tables-apply ); \ 140 } 141