From bf8fb4cfc622aee64a3734c376e5ed6cc99abfed Mon Sep 17 00:00:00 2001 From: Richard Dale Date: Fri, 12 Jun 2015 11:53:58 +0100 Subject: Shared libext --- extensions/GNUmakefile.in | 18 +++++++++--------- iptables/Makefile.am | 9 ++++++--- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/extensions/GNUmakefile.in b/extensions/GNUmakefile.in index e2c4b488..84dbe39d 100644 --- a/extensions/GNUmakefile.in +++ b/extensions/GNUmakefile.in @@ -71,7 +71,7 @@ pf6_solibs := $(patsubst %,libip6t_%.so,${pf6_build_mod}) # # Building blocks # -targets := libext.a libext4.a libext6.a matches.man targets.man +targets := libiptext.so libiptext4.so libiptext6.so matches.man targets.man targets_install := libext_objs := ${pfx_objs} libext4_objs := ${pf4_objs} @@ -96,7 +96,7 @@ clean: distclean: clean init%.o: init%.c - ${AM_VERBOSE_CC} ${CC} ${AM_CPPFLAGS} ${AM_DEPFLAGS} ${AM_CFLAGS} -D_INIT=$*_init ${CFLAGS} -o $@ -c $<; + ${AM_VERBOSE_CC} ${CC} ${AM_CPPFLAGS} ${AM_DEPFLAGS} ${AM_CFLAGS} -D_INIT=$*_init -DPIC -fPIC ${CFLAGS} -o $@ -c $<; -include .*.d @@ -130,16 +130,16 @@ xt_statistic_LIBADD = -lm # handling code in the Makefiles. # lib%.o: ${srcdir}/lib%.c - ${AM_VERBOSE_CC} ${CC} ${AM_CPPFLAGS} ${AM_DEPFLAGS} ${AM_CFLAGS} -DNO_SHARED_LIBS=1 -D_INIT=lib$*_init ${CFLAGS} -o $@ -c $<; + ${AM_VERBOSE_CC} ${CC} ${AM_CPPFLAGS} ${AM_DEPFLAGS} ${AM_CFLAGS} -DNO_SHARED_LIBS=1 -D_INIT=lib$*_init -DPIC -fPIC ${CFLAGS} -o $@ -c $<; -libext.a: initext.o ${libext_objs} - ${AM_VERBOSE_AR} ${AR} crs $@ $^; +libiptext.so: initext.o ${libext_objs} + ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@ $^ -L../libxtables/.libs -lxtables ${$*_LIBADD}; -libext4.a: initext4.o ${libext4_objs} - ${AM_VERBOSE_AR} ${AR} crs $@ $^; +libiptext4.so: initext4.o ${libext4_objs} + ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@ $^ -L../libxtables/.libs -lxtables ${$*_LIBADD}; -libext6.a: initext6.o ${libext6_objs} - ${AM_VERBOSE_AR} ${AR} crs $@ $^; +libiptext6.so: initext6.o ${libext6_objs} + ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@ $^ -L../libxtables/.libs -lxtables ${$*_LIBADD}; initext_func := $(addprefix xt_,${pfx_build_static}) initext4_func := $(addprefix ipt_,${pf4_build_static}) diff --git a/iptables/Makefile.am b/iptables/Makefile.am index a4246eb3..9034b1ff 100644 --- a/iptables/Makefile.am +++ b/iptables/Makefile.am @@ -5,7 +5,8 @@ AM_CPPFLAGS = ${regular_CPPFLAGS} -I${top_builddir}/include -I${top_srcdir} xtables_multi_SOURCES = xtables-multi.c iptables-xml.c xtables_multi_CFLAGS = ${AM_CFLAGS} -xtables_multi_LDADD = ../extensions/libext.a +xtables_multi_LDADD = +xtables_multi_LDFLAGS = -L../extensions/ -liptext if ENABLE_STATIC xtables_multi_CFLAGS += -DALL_INCLUSIVE endif @@ -13,13 +14,15 @@ if ENABLE_IPV4 xtables_multi_SOURCES += iptables-save.c iptables-restore.c \ iptables-standalone.c iptables.c xtables_multi_CFLAGS += -DENABLE_IPV4 -xtables_multi_LDADD += ../libiptc/libip4tc.la ../extensions/libext4.a +xtables_multi_LDADD += ../libiptc/libip4tc.la +xtables_multi_LDFLAGS += -liptext4 endif if ENABLE_IPV6 xtables_multi_SOURCES += ip6tables-save.c ip6tables-restore.c \ ip6tables-standalone.c ip6tables.c xtables_multi_CFLAGS += -DENABLE_IPV6 -xtables_multi_LDADD += ../libiptc/libip6tc.la ../extensions/libext6.a +xtables_multi_LDADD += ../libiptc/libip6tc.la +xtables_multi_LDFLAGS += -liptext6 endif xtables_multi_SOURCES += xshared.c xtables_multi_LDADD += ../libxtables/libxtables.la -lm -- cgit v1.2.1