| --- a/extensions/GNUmakefile.in |
| +++ b/extensions/GNUmakefile.in |
| @@ -86,7 +86,7 @@ pfx_symlink_files := $(patsubst %,libxt_ |
| # |
| # Building blocks |
| # |
| -targets := libext.a libext4.a libext6.a libext_ebt.a libext_arpt.a matches.man targets.man |
| +targets := libiptext.so libiptext4.so libiptext6.so libiptext_ebt.so libiptext_arpt.so matches.man targets.man |
| targets_install := |
| libext_objs := ${pfx_objs} |
| libext_ebt_objs := ${pfb_objs} |
| @@ -132,7 +132,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 |
| |
| @@ -164,22 +164,22 @@ xt_connlabel_LIBADD = @libnetfilter_conn |
| # 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 $(foreach obj,$^,${$(patsubst lib%.o,%,$(obj))_LIBADD}); |
| |
| -libext_ebt.a: initextb.o ${libext_ebt_objs} |
| - ${AM_VERBOSE_AR} ${AR} crs $@ $^; |
| +libiptext_ebt.so: initextb.o ${libext_ebt_objs} |
| + ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@ $^ -L../libxtables/.libs -lxtables $(foreach obj,$^,${$(patsubst lib%.o,%,$(obj))_LIBADD}); |
| |
| -libext_arpt.a: initexta.o ${libext_arpt_objs} |
| - ${AM_VERBOSE_AR} ${AR} crs $@ $^; |
| +libiptext_arpt.so: initexta.o ${libext_arpt_objs} |
| + ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@ $^ -L../libxtables/.libs -lxtables $(foreach obj,$^,${$(patsubst lib%.o,%,$(obj))_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 $(foreach obj,$^,${$(patsubst lib%.o,%,$(obj))_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 $(foreach obj,$^,${$(patsubst lib%.o,%,$(obj))_LIBADD}); |
| |
| initext_func := $(addprefix xt_,${pfx_build_static}) |
| initextb_func := $(addprefix ebt_,${pfb_build_static}) |
| --- a/iptables/Makefile.am |
| +++ b/iptables/Makefile.am |
| @@ -7,19 +7,22 @@ BUILT_SOURCES = |
| |
| xtables_legacy_multi_SOURCES = xtables-legacy-multi.c iptables-xml.c |
| xtables_legacy_multi_CFLAGS = ${AM_CFLAGS} |
| -xtables_legacy_multi_LDADD = ../extensions/libext.a |
| +xtables_legacy_multi_LDADD = |
| +xtables_legacy_multi_LDFLAGS = -L../extensions/ -liptext |
| if ENABLE_STATIC |
| xtables_legacy_multi_CFLAGS += -DALL_INCLUSIVE |
| endif |
| if ENABLE_IPV4 |
| xtables_legacy_multi_SOURCES += iptables-standalone.c iptables.c |
| xtables_legacy_multi_CFLAGS += -DENABLE_IPV4 |
| -xtables_legacy_multi_LDADD += ../libiptc/libip4tc.la ../extensions/libext4.a |
| +xtables_legacy_multi_LDADD += ../libiptc/libip4tc.la |
| +xtables_legacy_multi_LDFLAGS += -liptext4 |
| endif |
| if ENABLE_IPV6 |
| xtables_legacy_multi_SOURCES += ip6tables-standalone.c ip6tables.c |
| xtables_legacy_multi_CFLAGS += -DENABLE_IPV6 |
| -xtables_legacy_multi_LDADD += ../libiptc/libip6tc.la ../extensions/libext6.a |
| +xtables_legacy_multi_LDADD += ../libiptc/libip6tc.la |
| +xtables_legacy_multi_LDFLAGS += -liptext6 |
| endif |
| xtables_legacy_multi_SOURCES += xshared.c iptables-restore.c iptables-save.c |
| xtables_legacy_multi_LDADD += ../libxtables/libxtables.la -lm |
| @@ -28,7 +31,8 @@ xtables_legacy_multi_LDADD += ../libxt |
| if ENABLE_NFTABLES |
| xtables_nft_multi_SOURCES = xtables-nft-multi.c iptables-xml.c |
| xtables_nft_multi_CFLAGS = ${AM_CFLAGS} |
| -xtables_nft_multi_LDADD = ../extensions/libext.a ../extensions/libext_ebt.a |
| +xtables_nft_multi_LDADD = |
| +xtables_nft_multi_LDFLAGS = -L../extensions/ -liptext -liptext_ebt |
| if ENABLE_STATIC |
| xtables_nft_multi_CFLAGS += -DALL_INCLUSIVE |
| endif |
| @@ -42,7 +46,8 @@ xtables_nft_multi_SOURCES += xtables-sav |
| xtables-eb-standalone.c xtables-eb.c \ |
| xtables-eb-translate.c \ |
| xtables-translate.c |
| -xtables_nft_multi_LDADD += ${libmnl_LIBS} ${libnftnl_LIBS} ${libnetfilter_conntrack_LIBS} ../extensions/libext4.a ../extensions/libext6.a ../extensions/libext_ebt.a ../extensions/libext_arpt.a |
| +xtables_nft_multi_LDADD += ${libmnl_LIBS} ${libnftnl_LIBS} ${libnetfilter_conntrack_LIBS} |
| +xtables_nft_multi_LDFLAGS += -liptext4 -liptext6 -liptext_arpt |
| xtables_nft_multi_SOURCES += xshared.c |
| xtables_nft_multi_LDADD += ../libxtables/libxtables.la -lm |
| endif |