summaryrefslogtreecommitdiffstats
path: root/Makefile.am
diff options
context:
space:
mode:
authorJan Engelhardt <jengelh@medozas.de>2008-01-20 13:14:00 +0000
committerPatrick McHardy <kaber@trash.net>2008-01-20 13:14:00 +0000
commitf82070f9871d281c2802c1624dcf222886b5fb50 (patch)
treec0e633b0867a4caab39d55b74f8521ecac724520 /Makefile.am
parent8e707d7c64c53c92a36b6c609b129aba8e51fab7 (diff)
Converts the iptables build infrastructure to autotools.
- Can build both static and dynamic at the same time - iptables-static will be a multi-binary, semi-static (link against libc but w/o dynamic plugins) - Always build IPv6 modules - consider INSTALL Signed-off-by: Jan Engelhardt <jengelh@computergmbh.de>
Diffstat (limited to 'Makefile.am')
-rw-r--r--Makefile.am92
1 files changed, 92 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 00000000..17c78a7c
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,92 @@
+# -*- Makefile -*-
+
+AUTOMAKE_OPTIONS = foreign subdir-objects
+AM_CFLAGS = ${regular_CFLAGS} -I${top_srcdir}/include
+SUBDIRS := extensions
+if ENABLE_DEVEL
+SUBDIRS += libipq
+endif
+
+# libiptc
+libiptc_libiptc_a_SOURCES = libiptc/libip4tc.c libiptc/libip6tc.c
+
+# iptables, dynamic
+iptables_SOURCES = iptables-standalone.c iptables.c xtables.c
+iptables_LDFLAGS = -rdynamic
+iptables_LDADD = -ldl -lm libiptc/libiptc.a extensions/libext4.a
+
+iptables_multi_SOURCES = iptables-multi.c iptables-save.c \
+ iptables-restore.c iptables-xml.c \
+ iptables-standalone.c iptables.c xtables.c
+iptables_multi_CFLAGS = ${AM_CFLAGS} -DIPTABLES_MULTI
+iptables_multi_LDFLAGS = ${iptables_LDFLAGS}
+iptables_multi_LDADD = ${iptables_LDADD}
+
+iptables_restore_SOURCES = iptables-restore.c iptables.c xtables.c
+iptables_restore_LDFLAGS = ${iptables_LDFLAGS}
+iptables_restore_LDADD = ${iptables_LDADD}
+
+iptables_save_SOURCES = iptables-save.c iptables.c xtables.c
+iptables_save_LDFLAGS = ${iptables_LDFLAGS}
+iptables_save_LDADD = ${iptables_LDADD}
+
+# iptables-multi, semi-static
+iptables_static_SOURCES = ${iptables_multi_SOURCES}
+iptables_static_CFLAGS = ${iptables_multi_CFLAGS} -DNO_SHARED_LIBS=1
+iptables_static_LDADD = -lm libiptc/libiptc.a extensions/libext4.a
+
+iptables_xml_SOURCES = iptables-xml.c
+
+# ip6tables, dynamic
+ip6tables_SOURCES = ip6tables-standalone.c ip6tables.c xtables.c
+ip6tables_LDFLAGS = -rdynamic
+ip6tables_LDADD = -ldl -lm libiptc/libiptc.a extensions/libext6.a
+
+ip6tables_multi_SOURCES = ip6tables-multi.c ip6tables-save.c \
+ ip6tables-restore.c ip6tables-standalone.c \
+ ip6tables.c xtables.c
+ip6tables_multi_CFLAGS = ${AM_CFLAGS} -DIPTABLES_MULTI
+ip6tables_multi_LDFLAGS = ${ip6tables_LDFLAGS}
+ip6tables_multi_LDADD = ${ip6tables_LDADD}
+
+ip6tables_restore_SOURCES = ip6tables-restore.c ip6tables.c xtables.c
+ip6tables_restore_LDFLAGS = ${ip6tables_LDFLAGS}
+ip6tables_restore_LDADD = ${ip6tables_LDADD}
+
+ip6tables_save_SOURCES = ip6tables-save.c ip6tables.c xtables.c
+ip6tables_save_LDFLAGS = ${ip6tables_LDFLAGS}
+ip6tables_save_LDADD = ${ip6tables_LDADD}
+
+# iptables-multi, semi-static
+ip6tables_static_SOURCES = ${ip6tables_multi_SOURCES}
+ip6tables_static_CFLAGS = ${ip6tables_multi_CFLAGS} -DNO_SHARED_LIBS=1
+ip6tables_static_LDADD = -lm libiptc/libiptc.a extensions/libext6.a
+
+noinst_LIBRARIES := libiptc/libiptc.a
+bin_PROGRAMS := iptables-xml
+sbin_PROGRAMS :=
+noinst_PROGRAMS :=
+man_MANS := iptables.8 iptables-restore.8 iptables-save.8 \
+ iptables-xml.8 ip6tables.8 ip6tables-restore.8 \
+ ip6tables-save.8
+CLEANFILES := iptables.8 ip6tables.8
+if ENABLE_DEVEL
+include_HEADERS := include/xtables.h include/iptables.h include/ip6tables.h
+endif
+
+if ENABLE_STATIC
+sbin_PROGRAMS += iptables-static ip6tables-static
+endif
+if ENABLE_SHARED
+sbin_PROGRAMS += iptables iptables-multi iptables-restore iptables-save \
+ ip6tables ip6tables-multi ip6tables-restore ip6tables-save
+endif
+
+iptables.8: ${srcdir}/iptables.8.in extensions/matches4.man extensions/targets4.man
+ ${AM_VERBOSE_GEN} sed -e '/@MATCH@/ r extensions/matches4.man' -e '/@TARGET@/ r extensions/targets4.man' $< >$@;
+
+ip6tables.8: ${srcdir}/ip6tables.8.in extensions/matches6.man extensions/targets6.man
+ ${AM_VERBOSE_GEN} sed -e '/@MATCH@/ r extensions/matches6.man' -e '/@TARGET@/ r extensions/targets6.man' $< >$@;
+
+extensions/%:
+ ${MAKE} ${AM_MAKEFLAGS} -C $(@D) $(@F)