b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame^] | 1 | --- a/extensions/GNUmakefile.in |
| 2 | +++ b/extensions/GNUmakefile.in |
| 3 | @@ -86,7 +86,7 @@ pfx_symlink_files := $(patsubst %,libxt_ |
| 4 | # |
| 5 | # Building blocks |
| 6 | # |
| 7 | -targets := libext.a libext4.a libext6.a libext_ebt.a libext_arpt.a matches.man targets.man |
| 8 | +targets := libiptext.so libiptext4.so libiptext6.so libiptext_ebt.so libiptext_arpt.so matches.man targets.man |
| 9 | targets_install := |
| 10 | libext_objs := ${pfx_objs} |
| 11 | libext_ebt_objs := ${pfb_objs} |
| 12 | @@ -132,7 +132,7 @@ clean: |
| 13 | distclean: clean |
| 14 | |
| 15 | init%.o: init%.c |
| 16 | - ${AM_VERBOSE_CC} ${CC} ${AM_CPPFLAGS} ${AM_DEPFLAGS} ${AM_CFLAGS} -D_INIT=$*_init ${CFLAGS} -o $@ -c $<; |
| 17 | + ${AM_VERBOSE_CC} ${CC} ${AM_CPPFLAGS} ${AM_DEPFLAGS} ${AM_CFLAGS} -D_INIT=$*_init -DPIC -fPIC ${CFLAGS} -o $@ -c $<; |
| 18 | |
| 19 | -include .*.d |
| 20 | |
| 21 | @@ -164,22 +164,22 @@ xt_connlabel_LIBADD = @libnetfilter_conn |
| 22 | # handling code in the Makefiles. |
| 23 | # |
| 24 | lib%.o: ${srcdir}/lib%.c |
| 25 | - ${AM_VERBOSE_CC} ${CC} ${AM_CPPFLAGS} ${AM_DEPFLAGS} ${AM_CFLAGS} -DNO_SHARED_LIBS=1 -D_INIT=lib$*_init ${CFLAGS} -o $@ -c $<; |
| 26 | + ${AM_VERBOSE_CC} ${CC} ${AM_CPPFLAGS} ${AM_DEPFLAGS} ${AM_CFLAGS} -DNO_SHARED_LIBS=1 -D_INIT=lib$*_init -DPIC -fPIC ${CFLAGS} -o $@ -c $<; |
| 27 | |
| 28 | -libext.a: initext.o ${libext_objs} |
| 29 | - ${AM_VERBOSE_AR} ${AR} crs $@ $^; |
| 30 | +libiptext.so: initext.o ${libext_objs} |
| 31 | + ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@ $^ -L../libxtables/.libs -lxtables $(foreach obj,$^,${$(patsubst lib%.o,%,$(obj))_LIBADD}); |
| 32 | |
| 33 | -libext_ebt.a: initextb.o ${libext_ebt_objs} |
| 34 | - ${AM_VERBOSE_AR} ${AR} crs $@ $^; |
| 35 | +libiptext_ebt.so: initextb.o ${libext_ebt_objs} |
| 36 | + ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@ $^ -L../libxtables/.libs -lxtables $(foreach obj,$^,${$(patsubst lib%.o,%,$(obj))_LIBADD}); |
| 37 | |
| 38 | -libext_arpt.a: initexta.o ${libext_arpt_objs} |
| 39 | - ${AM_VERBOSE_AR} ${AR} crs $@ $^; |
| 40 | +libiptext_arpt.so: initexta.o ${libext_arpt_objs} |
| 41 | + ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@ $^ -L../libxtables/.libs -lxtables $(foreach obj,$^,${$(patsubst lib%.o,%,$(obj))_LIBADD}); |
| 42 | |
| 43 | -libext4.a: initext4.o ${libext4_objs} |
| 44 | - ${AM_VERBOSE_AR} ${AR} crs $@ $^; |
| 45 | +libiptext4.so: initext4.o ${libext4_objs} |
| 46 | + ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@ $^ -L../libxtables/.libs -lxtables $(foreach obj,$^,${$(patsubst lib%.o,%,$(obj))_LIBADD}); |
| 47 | |
| 48 | -libext6.a: initext6.o ${libext6_objs} |
| 49 | - ${AM_VERBOSE_AR} ${AR} crs $@ $^; |
| 50 | +libiptext6.so: initext6.o ${libext6_objs} |
| 51 | + ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@ $^ -L../libxtables/.libs -lxtables $(foreach obj,$^,${$(patsubst lib%.o,%,$(obj))_LIBADD}); |
| 52 | |
| 53 | initext_func := $(addprefix xt_,${pfx_build_static}) |
| 54 | initextb_func := $(addprefix ebt_,${pfb_build_static}) |
| 55 | --- a/iptables/Makefile.am |
| 56 | +++ b/iptables/Makefile.am |
| 57 | @@ -7,19 +7,22 @@ BUILT_SOURCES = |
| 58 | |
| 59 | xtables_legacy_multi_SOURCES = xtables-legacy-multi.c iptables-xml.c |
| 60 | xtables_legacy_multi_CFLAGS = ${AM_CFLAGS} |
| 61 | -xtables_legacy_multi_LDADD = ../extensions/libext.a |
| 62 | +xtables_legacy_multi_LDADD = |
| 63 | +xtables_legacy_multi_LDFLAGS = -L../extensions/ -liptext |
| 64 | if ENABLE_STATIC |
| 65 | xtables_legacy_multi_CFLAGS += -DALL_INCLUSIVE |
| 66 | endif |
| 67 | if ENABLE_IPV4 |
| 68 | xtables_legacy_multi_SOURCES += iptables-standalone.c iptables.c |
| 69 | xtables_legacy_multi_CFLAGS += -DENABLE_IPV4 |
| 70 | -xtables_legacy_multi_LDADD += ../libiptc/libip4tc.la ../extensions/libext4.a |
| 71 | +xtables_legacy_multi_LDADD += ../libiptc/libip4tc.la |
| 72 | +xtables_legacy_multi_LDFLAGS += -liptext4 |
| 73 | endif |
| 74 | if ENABLE_IPV6 |
| 75 | xtables_legacy_multi_SOURCES += ip6tables-standalone.c ip6tables.c |
| 76 | xtables_legacy_multi_CFLAGS += -DENABLE_IPV6 |
| 77 | -xtables_legacy_multi_LDADD += ../libiptc/libip6tc.la ../extensions/libext6.a |
| 78 | +xtables_legacy_multi_LDADD += ../libiptc/libip6tc.la |
| 79 | +xtables_legacy_multi_LDFLAGS += -liptext6 |
| 80 | endif |
| 81 | xtables_legacy_multi_SOURCES += xshared.c iptables-restore.c iptables-save.c |
| 82 | xtables_legacy_multi_LDADD += ../libxtables/libxtables.la -lm |
| 83 | @@ -28,7 +31,8 @@ xtables_legacy_multi_LDADD += ../libxt |
| 84 | if ENABLE_NFTABLES |
| 85 | xtables_nft_multi_SOURCES = xtables-nft-multi.c iptables-xml.c |
| 86 | xtables_nft_multi_CFLAGS = ${AM_CFLAGS} |
| 87 | -xtables_nft_multi_LDADD = ../extensions/libext.a ../extensions/libext_ebt.a |
| 88 | +xtables_nft_multi_LDADD = |
| 89 | +xtables_nft_multi_LDFLAGS = -L../extensions/ -liptext -liptext_ebt |
| 90 | if ENABLE_STATIC |
| 91 | xtables_nft_multi_CFLAGS += -DALL_INCLUSIVE |
| 92 | endif |
| 93 | @@ -42,7 +46,8 @@ xtables_nft_multi_SOURCES += xtables-sav |
| 94 | xtables-eb-standalone.c xtables-eb.c \ |
| 95 | xtables-eb-translate.c \ |
| 96 | xtables-translate.c |
| 97 | -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 |
| 98 | +xtables_nft_multi_LDADD += ${libmnl_LIBS} ${libnftnl_LIBS} ${libnetfilter_conntrack_LIBS} |
| 99 | +xtables_nft_multi_LDFLAGS += -liptext4 -liptext6 -liptext_arpt |
| 100 | xtables_nft_multi_SOURCES += xshared.c |
| 101 | xtables_nft_multi_LDADD += ../libxtables/libxtables.la -lm |
| 102 | endif |