blob: 6d7b5b5822c70a8c5b88c7809860e7e2133c8356 [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001--- a/extensions/GNUmakefile.in
2+++ b/extensions/GNUmakefile.in
3@@ -50,11 +50,31 @@ pfb_build_mod := $(filter-out @blacklist
4 pfa_build_mod := $(filter-out @blacklist_modules@ @blacklist_a_modules@,${pfa_build_mod})
5 pf4_build_mod := $(filter-out @blacklist_modules@ @blacklist_4_modules@,${pf4_build_mod})
6 pf6_build_mod := $(filter-out @blacklist_modules@ @blacklist_6_modules@,${pf6_build_mod})
7-pfx_objs := $(patsubst %,libxt_%.o,${pfx_build_mod})
8-pfb_objs := $(patsubst %,libebt_%.o,${pfb_build_mod})
9-pfa_objs := $(patsubst %,libarpt_%.o,${pfa_build_mod})
10-pf4_objs := $(patsubst %,libipt_%.o,${pf4_build_mod})
11-pf6_objs := $(patsubst %,libip6t_%.o,${pf6_build_mod})
12+ifdef BUILTIN_MODULES
13+pfx_build_static := $(filter $(BUILTIN_MODULES),${pfx_build_mod})
14+pfb_build_static := $(filter $(BUILTIN_MODULES),${pfb_build_mod})
15+pfa_build_static := $(filter $(BUILTIN_MODULES),${pfa_build_mod})
16+pf4_build_static := $(filter $(BUILTIN_MODULES),${pf4_build_mod})
17+pf6_build_static := $(filter $(BUILTIN_MODULES),${pf6_build_mod})
18+else
19+@ENABLE_STATIC_TRUE@ pfx_build_static := $(pfx_build_mod)
20+@ENABLE_STATIC_TRUE@ pfb_build_static := $(pfb_build_mod)
21+@ENABLE_STATIC_TRUE@ pfa_build_static := $(pfa_build_mod)
22+@ENABLE_STATIC_TRUE@ pf4_build_static := $(pf4_build_mod)
23+@ENABLE_STATIC_TRUE@ pf6_build_static := $(pf6_build_mod)
24+endif
25+
26+pfx_build_mod := $(filter-out $(pfx_build_static),$(pfx_build_mod))
27+pfb_build_mod := $(filter-out $(pfb_build_static),$(pfb_build_mod))
28+pfa_build_mod := $(filter-out $(pfa_build_static),$(pfa_build_mod))
29+pf4_build_mod := $(filter-out $(pf4_build_static),$(pf4_build_mod))
30+pf6_build_mod := $(filter-out $(pf6_build_static),$(pf6_build_mod))
31+
32+pfx_objs := $(patsubst %,libxt_%.o,${pfx_build_static})
33+pfb_objs := $(patsubst %,libebt_%.o,${pfb_build_static})
34+pfa_objs := $(patsubst %,libarpt_%.o,${pfa_build_static})
35+pf4_objs := $(patsubst %,libipt_%.o,${pf4_build_static})
36+pf6_objs := $(patsubst %,libip6t_%.o,${pf6_build_static})
37 pfx_solibs := $(patsubst %,libxt_%.so,${pfx_build_mod})
38 pfb_solibs := $(patsubst %,libebt_%.so,${pfb_build_mod})
39 pfa_solibs := $(patsubst %,libarpt_%.so,${pfa_build_mod})
40@@ -68,14 +88,14 @@ pfx_symlink_files := $(patsubst %,libxt_
41 #
42 targets := libext.a libext4.a libext6.a libext_ebt.a libext_arpt.a matches.man targets.man
43 targets_install :=
44-@ENABLE_STATIC_TRUE@ libext_objs := ${pfx_objs}
45-@ENABLE_STATIC_TRUE@ libext_ebt_objs := ${pfb_objs}
46-@ENABLE_STATIC_TRUE@ libext_arpt_objs := ${pfa_objs}
47-@ENABLE_STATIC_TRUE@ libext4_objs := ${pf4_objs}
48-@ENABLE_STATIC_TRUE@ libext6_objs := ${pf6_objs}
49-@ENABLE_STATIC_FALSE@ targets += ${pfx_solibs} ${pfb_solibs} ${pf4_solibs} ${pf6_solibs} ${pfa_solibs} ${pfx_symlink_files}
50-@ENABLE_STATIC_FALSE@ targets_install += ${pfx_solibs} ${pfb_solibs} ${pf4_solibs} ${pf6_solibs} ${pfa_solibs}
51-@ENABLE_STATIC_FALSE@ symlinks_install := ${pfx_symlink_files}
52+libext_objs := ${pfx_objs}
53+libext_ebt_objs := ${pfb_objs}
54+libext_arpt_objs := ${pfa_objs}
55+libext4_objs := ${pf4_objs}
56+libext6_objs := ${pf6_objs}
57+targets += ${pfx_solibs} ${pfb_solibs} ${pf4_solibs} ${pf6_solibs} ${pfa_solibs} ${pfx_symlink_files}
58+targets_install := $(strip ${pfx_solibs} ${pfb_solibs} ${pf4_solibs} ${pf6_solibs} ${pfa_solibs})
59+symlinks_install := ${pfx_symlink_files}
60
61 .SECONDARY:
62
63@@ -161,11 +181,11 @@ libext4.a: initext4.o ${libext4_objs}
64 libext6.a: initext6.o ${libext6_objs}
65 ${AM_VERBOSE_AR} ${AR} crs $@ $^;
66
67-initext_func := $(addprefix xt_,${pfx_build_mod})
68-initextb_func := $(addprefix ebt_,${pfb_build_mod})
69-initexta_func := $(addprefix arpt_,${pfa_build_mod})
70-initext4_func := $(addprefix ipt_,${pf4_build_mod})
71-initext6_func := $(addprefix ip6t_,${pf6_build_mod})
72+initext_func := $(addprefix xt_,${pfx_build_static})
73+initextb_func := $(addprefix ebt_,${pfb_build_static})
74+initexta_func := $(addprefix arpt_,${pfa_build_static})
75+initext4_func := $(addprefix ipt_,${pf4_build_static})
76+initext6_func := $(addprefix ip6t_,${pf6_build_static})
77
78 .initext.dd: FORCE
79 @echo "${initext_func}" >$@.tmp; \