Makefile.am revision 1288bf7e5c39af3ca690a12f419dde507c5a556d
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 18libiptc_libiptc_la_SOURCES = libiptc/libip4tc.c libiptc/libip6tc.c 19libiptc_libiptc_la_LDFLAGS = -version-info 0:0:0 20 21lib_LTLIBRARIES += libxtables.la 22libxtables_la_SOURCES = xtables.c 23libxtables_la_LDFLAGS = -version-info ${libxtables_vcurrent}:0:${libxtables_vage} 24libxtables_la_LIBADD = -ldl 25 26# iptables, dynamic 27iptables_SOURCES = iptables-standalone.c iptables.c 28iptables_LDFLAGS = -rdynamic 29iptables_LDADD = libiptc/libiptc.la extensions/libext4.a libxtables.la -lm 30 31iptables_xml_LDADD = libxtables.la 32iptables_multi_SOURCES = iptables-multi.c iptables-save.c \ 33 iptables-restore.c iptables-xml.c \ 34 iptables-standalone.c iptables.c 35iptables_multi_CFLAGS = ${AM_CFLAGS} -DIPTABLES_MULTI 36iptables_multi_LDFLAGS = ${iptables_LDFLAGS} 37iptables_multi_LDADD = ${iptables_LDADD} 38 39iptables_restore_SOURCES = iptables-restore.c iptables.c 40iptables_restore_LDFLAGS = ${iptables_LDFLAGS} 41iptables_restore_LDADD = ${iptables_LDADD} 42 43iptables_save_SOURCES = iptables-save.c iptables.c 44iptables_save_LDFLAGS = ${iptables_LDFLAGS} 45iptables_save_LDADD = ${iptables_LDADD} 46 47# iptables-multi, semi-static 48iptables_static_SOURCES = ${iptables_multi_SOURCES} xtables.c 49iptables_static_CFLAGS = ${iptables_multi_CFLAGS} -DNO_SHARED_LIBS=1 50iptables_static_LDADD = libiptc/libiptc.la extensions/libext4.a -lm 51 52iptables_xml_SOURCES = iptables-xml.c 53 54# ip6tables, dynamic 55ip6tables_SOURCES = ip6tables-standalone.c ip6tables.c 56ip6tables_LDFLAGS = -rdynamic 57ip6tables_LDADD = libiptc/libiptc.la extensions/libext6.a libxtables.la -lm 58 59ip6tables_multi_SOURCES = ip6tables-multi.c ip6tables-save.c \ 60 ip6tables-restore.c ip6tables-standalone.c \ 61 ip6tables.c 62ip6tables_multi_CFLAGS = ${AM_CFLAGS} -DIPTABLES_MULTI 63ip6tables_multi_LDFLAGS = ${ip6tables_LDFLAGS} 64ip6tables_multi_LDADD = ${ip6tables_LDADD} 65 66ip6tables_restore_SOURCES = ip6tables-restore.c ip6tables.c 67ip6tables_restore_LDFLAGS = ${ip6tables_LDFLAGS} 68ip6tables_restore_LDADD = ${ip6tables_LDADD} 69 70ip6tables_save_SOURCES = ip6tables-save.c ip6tables.c 71ip6tables_save_LDFLAGS = ${ip6tables_LDFLAGS} 72ip6tables_save_LDADD = ${ip6tables_LDADD} 73 74# iptables-multi, semi-static 75ip6tables_static_SOURCES = ${ip6tables_multi_SOURCES} xtables.c 76ip6tables_static_CFLAGS = ${ip6tables_multi_CFLAGS} -DNO_SHARED_LIBS=1 77ip6tables_static_LDADD = libiptc/libiptc.la extensions/libext6.a -lm 78 79bin_PROGRAMS = iptables-xml 80sbin_PROGRAMS = 81noinst_PROGRAMS = 82man_MANS = iptables.8 iptables-restore.8 iptables-save.8 \ 83 iptables-xml.8 ip6tables.8 ip6tables-restore.8 \ 84 ip6tables-save.8 85CLEANFILES = iptables.8 ip6tables.8 86 87if ENABLE_STATIC 88sbin_PROGRAMS += iptables-static ip6tables-static 89endif 90if ENABLE_SHARED 91sbin_PROGRAMS += iptables iptables-multi iptables-restore iptables-save \ 92 ip6tables ip6tables-multi ip6tables-restore ip6tables-save 93endif 94 95iptables.8: ${srcdir}/iptables.8.in extensions/matches4.man extensions/targets4.man 96 ${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' $< >$@; 97 98ip6tables.8: ${srcdir}/ip6tables.8.in extensions/matches6.man extensions/targets6.man 99 ${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' $< >$@; 100 101pkgconfig_DATA = libiptc.pc xtables.pc 102 103.PHONY: tarball 104tarball: 105 rm -Rf /tmp/${PACKAGE_TARNAME}-${PACKAGE_VERSION}; 106 pushd ${top_srcdir} && git archive --prefix=${PACKAGE_TARNAME}-${PACKAGE_VERSION}/ HEAD | tar -C /tmp -x && popd; 107 pushd /tmp/${PACKAGE_TARNAME}-${PACKAGE_VERSION} && ./autogen.sh && popd; 108 tar -C /tmp -cjf ${PACKAGE_TARNAME}-${PACKAGE_VERSION}.tar.bz2 --owner=root --group=root ${PACKAGE_TARNAME}-${PACKAGE_VERSION}/; 109 rm -Rf /tmp/${PACKAGE_TARNAME}-${PACKAGE_VERSION}; 110 111config.status: extensions/GNUmakefile.in \ 112 include/xtables.h.in include/iptables/internal.h.in 113 114# ldconfig may fail when we are not root (as is the case in build systems) 115# so add appropriate protection that it does not let `make` fail. 116install-exec-hook: 117 -/sbin/ldconfig || :; 118