summaryrefslogtreecommitdiffstats
path: root/extensions/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/Makefile')
-rw-r--r--extensions/Makefile132
1 files changed, 101 insertions, 31 deletions
diff --git a/extensions/Makefile b/extensions/Makefile
index 5af234e2..da2f9945 100644
--- a/extensions/Makefile
+++ b/extensions/Makefile
@@ -28,42 +28,64 @@ PF_EXT_ALL_SLIB:=$(PF_EXT_SLIB) $(PF_EXT_SE_SLIB) $(PF_EXT_SLIB_OPTS)
PF6_EXT_ALL_SLIB:=$(PF6_EXT_SLIB) $(PF6_EXT_SE_SLIB) $(PF6_EXT_SLIB_OPTS)
PFX_EXT_ALL_SLIB:=$(PFX_EXT_SLIB) $(PFX_EXT_SE_SLIB) $(PFX_EXT_SLIB_OPTS)
+# libipt*.c with libipt*.man
PF_EXT_MAN_ALL_MATCHES:=$(foreach T,$(PF_EXT_ALL_SLIB),$(shell test -f extensions/libipt_$(T).man && grep -q register_match extensions/libipt_$(T).c && echo $(T)))
PF_EXT_MAN_ALL_TARGETS:=$(foreach T,$(PF_EXT_ALL_SLIB),$(shell test -f extensions/libipt_$(T).man && grep -q register_target extensions/libipt_$(T).c && echo $(T)))
PF6_EXT_MAN_ALL_MATCHES:=$(foreach T,$(PF6_EXT_ALL_SLIB),$(shell test -f extensions/libip6t_$(T).man && grep -q register_match6 extensions/libip6t_$(T).c && echo $(T)))
PF6_EXT_MAN_ALL_TARGETS:=$(foreach T,$(PF6_EXT_ALL_SLIB),$(shell test -f extensions/libip6t_$(T).man && grep -q register_target6 extensions/libip6t_$(T).c && echo $(T)))
+# libxt*.c with libipt*.man
PF_EXT_MAN_ALL_MATCHES+=$(foreach T,$(PFX_EXT_ALL_SLIB),$(shell test -f extensions/libipt_$(T).man && grep -q xtables_register_match extensions/libxt_$(T).c && echo $(T)))
PF_EXT_MAN_ALL_TARGETS+=$(foreach T,$(PFX_EXT_ALL_SLIB),$(shell test -f extensions/libipt_$(T).man && grep -q xtables_register_target extensions/libxt_$(T).c && echo $(T)))
PF6_EXT_MAN_ALL_MATCHES+=$(foreach T,$(PFX_EXT_ALL_SLIB),$(shell test -f extensions/libip6t_$(T).man && grep -q xtables_register_match extensions/libxt_$(T).c && echo $(T)))
PF6_EXT_MAN_ALL_TARGETS+=$(foreach T,$(PFX_EXT_ALL_SLIB),$(shell test -f extensions/libip6t_$(T).man && grep -q xtables_register_target extensions/libxt_$(T).c && echo $(T)))
+# libxt*.c with libxt*.man
+PFX_EXT_MAN_ALL_MATCHES=$(foreach T,$(PFX_EXT_ALL_SLIB),$(shell test -f extensions/libxt_$(T).man && grep -q xtables_register_match extensions/libxt_$(T).c && echo $(T)))
+PFX_EXT_MAN_ALL_TARGETS=$(foreach T,$(PFX_EXT_ALL_SLIB),$(shell test -f extensions/libxt_$(T).man && grep -q xtables_register_target extensions/libxt_$(T).c && echo $(T)))
+
+# libipt*.man
PF_EXT_MAN_MATCHES:=$(filter $(PF_EXT_SLIB), $(PF_EXT_MAN_ALL_MATCHES))
PF_EXT_MAN_MATCHES+=$(filter $(PFX_EXT_SLIB), $(PF_EXT_MAN_ALL_MATCHES))
PF_EXT_MAN_MATCHES+=$(filter $(PF_EXT_SE_SLIB), $(PF_EXT_MAN_ALL_MATCHES))
PF_EXT_MAN_MATCHES+=$(filter $(PFX_EXT_SE_SLIB), $(PF_EXT_MAN_ALL_MATCHES))
+# libipt*.man
PF_EXT_MAN_TARGETS:=$(filter $(PF_EXT_SLIB), $(PF_EXT_MAN_ALL_TARGETS))
PF_EXT_MAN_TARGETS+=$(filter $(PFX_EXT_SLIB), $(PF_EXT_MAN_ALL_TARGETS))
PF_EXT_MAN_TARGETS+=$(filter $(PF_EXT_SE_SLIB), $(PF_EXT_MAN_ALL_TARGETS))
PF_EXT_MAN_TARGETS+=$(filter $(PFX_EXT_SE_SLIB), $(PF_EXT_MAN_ALL_TARGETS))
+# libipt*.man
PF_EXT_MAN_EXTRA_MATCHES:=$(filter-out $(PF_EXT_MAN_MATCHES), $(PF_EXT_MAN_ALL_MATCHES))
PF_EXT_MAN_EXTRA_TARGETS:=$(filter-out $(PF_EXT_MAN_TARGETS), $(PF_EXT_MAN_ALL_TARGETS))
+# libip6t*.man
PF6_EXT_MAN_MATCHES:=$(filter $(PF6_EXT_SLIB), $(PF6_EXT_MAN_ALL_MATCHES))
PF6_EXT_MAN_MATCHES+=$(filter $(PFX_EXT_SLIB), $(PF6_EXT_MAN_ALL_MATCHES))
PF6_EXT_MAN_MATCHES+=$(filter $(PF6_EXT_SE_SLIB), $(PF6_EXT_MAN_ALL_MATCHES))
PF6_EXT_MAN_MATCHES+=$(filter $(PFX_EXT_SE_SLIB), $(PF6_EXT_MAN_ALL_MATCHES))
+# libip6t*.man
PF6_EXT_MAN_TARGETS:=$(filter $(PF6_EXT_SLIB), $(PF6_EXT_MAN_ALL_TARGETS))
PF6_EXT_MAN_TARGETS+=$(filter $(PFX_EXT_SLIB), $(PF6_EXT_MAN_ALL_TARGETS))
PF6_EXT_MAN_TARGETS+=$(filter $(PF6_EXT_SE_SLIB), $(PF6_EXT_MAN_ALL_TARGETS))
PF6_EXT_MAN_TARGETS+=$(filter $(PFX_EXT_SE_SLIB), $(PF6_EXT_MAN_ALL_TARGETS))
+# libip6t*.man
PF6_EXT_MAN_EXTRA_MATCHES:=$(filter-out $(PF6_EXT_MAN_MATCHES), $(PF6_EXT_MAN_ALL_MATCHES))
PF6_EXT_MAN_EXTRA_TARGETS:=$(filter-out $(PF6_EXT_MAN_TARGETS), $(PF6_EXT_MAN_ALL_TARGETS))
+# libxt*.man
+PFX_EXT_MAN_MATCHES:=$(filter $(PFX_EXT_SLIB), $(PFX_EXT_MAN_ALL_MATCHES))
+PFX_EXT_MAN_MATCHES+=$(filter $(PFX_EXT_SE_SLIB), $(PFX_EXT_MAN_ALL_MATCHES))
+PFX_EXT_MAN_TARGETS:=$(filter $(PFX_EXT_SLIB), $(PFX_EXT_MAN_ALL_TARGETS))
+PFX_EXT_MAN_TARGETS+=$(filter $(PFX_EXT_SE_SLIB), $(PFX_EXT_MAN_ALL_TARGETS))
+
+# libxt*.man
+PFX_EXT_MAN_EXTRA_MATCHES:=$(filter-out $(PFX_EXT_MAN_MATCHES), $(PFX_EXT_MAN_ALL_MATCHES))
+PFX_EXT_MAN_EXTRA_TARGETS:=$(filter-out $(PFX_EXT_MAN_TARGETS), $(PFX_EXT_MAN_ALL_TARGETS))
+
ifneq ($(DO_SELINUX), 1)
PF_EXT_MAN_EXTRA_MATCHES:=$(filter-out $(PF_EXT_SELINUX_SLIB), $(PF_EXT_MAN_EXTRA_MATCHES))
PF_EXT_MAN_EXTRA_TARGETS:=$(filter-out $(PF_EXT_SELINUX_SLIB), $(PF_EXT_MAN_EXTRA_TARGETS))
@@ -74,12 +96,28 @@ PF6_EXT_MAN_EXTRA_MATCHES:=$(filter-out $(PF6_EXT_SELINUX_SLIB), $(PF6_EXT_MAN_E
PF6_EXT_MAN_EXTRA_TARGETS:=$(filter-out $(PF6_EXT_SELINUX_SLIB), $(PF6_EXT_MAN_EXTRA_TARGETS))
PF6_EXT_MAN_EXTRA_MATCHES:=$(filter-out $(PFX_EXT_SELINUX_SLIB), $(PF6_EXT_MAN_EXTRA_MATCHES))
PF6_EXT_MAN_EXTRA_TARGETS:=$(filter-out $(PFX_EXT_SELINUX_SLIB), $(PF6_EXT_MAN_EXTRA_TARGETS))
+
+PFX_EXT_MAN_EXTRA_MATCHES:=$(filter-out $(PFX_EXT_SELINUX_SLIB), $(PFX_EXT_MAN_EXTRA_MATCHES))
+PFX_EXT_MAN_EXTRA_TARGETS:=$(filter-out $(PFX_EXT_SELINUX_SLIB), $(PFX_EXT_MAN_EXTRA_TARGETS))
endif
+# extra man pages requires this (really _A_ll)
+PFA4_EXT_MAN_EXTRA_MATCHES:=$(PF_EXT_MAN_EXTRA_MATCHES) $(PFX_EXT_MAN_EXTRA_MATCHES)
+PFA4_EXT_MAN_EXTRA_TARGETS:=$(PF_EXT_MAN_EXTRA_TARGETS) $(PFX_EXT_MAN_EXTRA_TARGETS)
+PFA6_EXT_MAN_EXTRA_MATCHES:=$(PF6_EXT_MAN_EXTRA_MATCHES) $(PFX_EXT_MAN_EXTRA_MATCHES)
+PFA6_EXT_MAN_EXTRA_TARGETS:=$(PF6_EXT_MAN_EXTRA_TARGETS) $(PFX_EXT_MAN_EXTRA_TARGETS)
+
+
allman:
- @echo ALL_SLIB: $(PF_EXT_ALL_SLIB)
- @echo ALL_MATCH: $(PF_EXT_MAN_ALL_MATCHES)
- @echo ALL_TARGET: $(PF_EXT_MAN_ALL_TARGETS)
+ @echo 'ALL_SLIB (IPv4):' $(PF_EXT_ALL_SLIB)
+ @echo 'ALL_SLIB (IPv6):' $(PF6_EXT_ALL_SLIB)
+ @echo 'ALL_SLIB (both):' $(PFX_EXT_ALL_SLIB)
+ @echo 'ALL_MATCH (IPv4):' $(PF_EXT_MAN_ALL_MATCHES)
+ @echo 'ALL_MATCH (IPv6):' $(PF6_EXT_MAN_ALL_MATCHES)
+ @echo 'ALL_MATCH (both):' $(PFX_EXT_MAN_ALL_MATCHES)
+ @echo 'ALL_TARGET (IPv4):' $(PF_EXT_MAN_ALL_TARGETS)
+ @echo 'ALL_TARGET (IPv6):' $(PF6_EXT_MAN_ALL_TARGETS)
+ @echo 'ALL_TARGET (both):' $(PFX_EXT_MAN_ALL_TARGETS)
PF_EXT_SLIB+=$(PF_EXT_SLIB_OPTS)
PF6_EXT_SLIB+=$(PF6_EXT_SLIB_OPTS)
@@ -173,58 +211,90 @@ extensions/lib%.o: extensions/lib%.c
endif
EXTRAS += extensions/libipt_targets.man
-extensions/libipt_targets.man: $(patsubst %,extensions/libipt_%.man,$(PF_EXT_MAN_ALL_TARGETS))
- @for ext in $(PF_EXT_MAN_TARGETS); do \
+extensions/libipt_targets.man: $(patsubst %,extensions/libipt_%.man,$(PF_EXT_MAN_ALL_TARGETS)) $(patsubst %,extensions/libxt_%.man,$(PFX_EXT_MAN_ALL_TARGETS))
+ @for ext in `echo $(PF_EXT_MAN_TARGETS) $(PFX_EXT_MAN_TARGETS) | sed 's/ /\n/g' | sort`; do \
echo ".SS $$ext" ;\
- cat extensions/libipt_$$ext.man ;\
+ if test -f extensions/libipt_$$ext.man; then \
+ cat extensions/libipt_$$ext.man ;\
+ else \
+ cat extensions/libxt_$$ext.man ;\
+ fi; \
done >extensions/libipt_targets.man
- @if [ -n "$(PF_EXT_MAN_EXTRA_TARGETS)" ]; then \
- extra="$(PF_EXT_MAN_EXTRA_TARGETS)" ;\
- for ext in $${extra:-""}; do \
+ @if [ -n "$(PFA4_EXT_MAN_EXTRA_TARGETS)" ]; then \
+ extra="$(PFA4_EXT_MAN_EXTRA_TARGETS)" ;\
+ for ext in `echo $${extra:-""} | sed 's/ /\n/g' | sort`; do \
echo ".SS $$ext (not supported, see Patch-O-Matic)" ;\
- cat extensions/libipt_$$ext.man ;\
+ if test -f extensions/libipt_$$ext.man; then \
+ cat extensions/libipt_$$ext.man ;\
+ else \
+ cat extensions/libxt_$$ext.man ;\
+ fi; \
done ;\
fi >>extensions/libipt_targets.man
EXTRAS += extensions/libipt_matches.man
-extensions/libipt_matches.man: $(patsubst %,extensions/libipt_%.man,$(PF_EXT_MAN_ALL_MATCHES))
- @for ext in $(PF_EXT_MAN_MATCHES); do \
+extensions/libipt_matches.man: $(patsubst %,extensions/libipt_%.man,$(PF_EXT_MAN_ALL_MATCHES)) $(patsubst %,extensions/libxt_%.man,$(PFX_EXT_MAN_ALL_MATCHES))
+ @for ext in `echo $(PF_EXT_MAN_MATCHES) $(PFX_EXT_MAN_MATCHES) | sed 's/ /\n/g' | sort`; do \
echo ".SS $$ext" ;\
- cat extensions/libipt_$$ext.man ;\
+ if test -f extensions/libipt_$$ext.man; then \
+ cat extensions/libipt_$$ext.man ;\
+ else \
+ cat extensions/libxt_$$ext.man ;\
+ fi; \
done >extensions/libipt_matches.man
- @if [ -n "$(PF_EXT_MAN_EXTRA_MATCHES)" ]; then \
- extra="$(PF_EXT_MAN_EXTRA_MATCHES)" ;\
- for ext in $${extra:-""}; do \
+ @if [ -n "$(PFA4_EXT_MAN_EXTRA_MATCHES)" ]; then \
+ extra="$(PFA4_EXT_MAN_EXTRA_MATCHES)" ;\
+ for ext in `echo $${extra:-""} | sed 's/ /\n/g' | sort`; do \
echo ".SS $$ext (not supported, see Patch-O-Matic)" ;\
- cat extensions/libipt_$$ext.man ;\
+ if test -f extensions/libipt_$$ext.man; then \
+ cat extensions/libipt_$$ext.man ;\
+ else \
+ cat extensions/libxt_$$ext.man ;\
+ fi; \
done ;\
fi >>extensions/libipt_matches.man
EXTRAS += extensions/libip6t_targets.man
-extensions/libip6t_targets.man: $(patsubst %, extensions/libip6t_%.man, $(PF6_EXT_MAN_ALL_TARGETS))
- @for ext in $(PF6_EXT_MAN_TARGETS); do \
+extensions/libip6t_targets.man: $(patsubst %, extensions/libip6t_%.man, $(PF6_EXT_MAN_ALL_TARGETS)) $(patsubst %,extensions/libxt_%.man,$(PFX_EXT_MAN_ALL_TARGETS))
+ @for ext in `echo $(PF6_EXT_MAN_TARGETS) $(PFX_EXT_MAN_TARGETS) | sed 's/ /\n/g' | sort`; do \
echo ".SS $$ext" ;\
- cat extensions/libip6t_$$ext.man ;\
+ if test -f extensions/libip6t_$$ext.man; then \
+ cat extensions/libip6t_$$ext.man ;\
+ else \
+ cat extensions/libxt_$$ext.man ;\
+ fi; \
done >extensions/libip6t_targets.man
- @if [ -n "$(PF6_EXT_MAN_EXTRA_TARGETS)" ]; then \
- extra="$(PF6_EXT_MAN_EXTRA_TARGETS)" ;\
- for ext in $${extra:-""}; do \
+ @if [ -n "$(PFA6_EXT_MAN_EXTRA_TARGETS)" ]; then \
+ extra="$(PFA6_EXT_MAN_EXTRA_TARGETS)" ;\
+ for ext in `echo $${extra:-""} | sed 's/ /\n/g' | sort`; do \
echo ".SS $$ext (not supported, see Patch-O-Matic)" ;\
- cat extensions/libip6t_$$ext.man ;\
+ if test -f extensions/libip6t_$$ext.man; then \
+ cat extensions/libip6t_$$ext.man ;\
+ else \
+ cat extensions/libxt_$$ext.man ;\
+ fi; \
done ;\
fi >>extensions/libip6t_targets.man
EXTRAS += extensions/libip6t_matches.man
-extensions/libip6t_matches.man: $(patsubst %, extensions/libip6t_%.man, $(PF6_EXT_MAN_ALL_MATCHES))
- @for ext in $(PF6_EXT_MAN_MATCHES); do \
+extensions/libip6t_matches.man: $(patsubst %, extensions/libip6t_%.man, $(PF6_EXT_MAN_ALL_MATCHES)) $(patsubst %,extensions/libxt_%.man,$(PFX_EXT_MAN_ALL_MATCHES))
+ @for ext in `echo $(PF6_EXT_MAN_MATCHES) $(PFX_EXT_MAN_MATCHES) | sed 's/ /\n/g' | sort`; do \
echo ".SS $$ext" ;\
- cat extensions/libip6t_$$ext.man ;\
+ if test -f extensions/libip6t_$$ext.man; then \
+ cat extensions/libip6t_$$ext.man ;\
+ else \
+ cat extensions/libxt_$$ext.man ;\
+ fi; \
done >extensions/libip6t_matches.man
- @if [ -n "$(PF6_EXT_MAN_EXTRA_MATCHES)" ]; then \
- extra="$(PF6_EXT_MAN_EXTRA_MATCHES)" ;\
- for ext in $${extra:-""}; do \
+ @if [ -n "$(PFA6_EXT_MAN_EXTRA_MATCHES)" ]; then \
+ extra="$(PFA6_EXT_MAN_EXTRA_MATCHES)" ;\
+ for ext in `echo $${extra:-""} | sed 's/ /\n/g' | sort`; do \
echo ".SS $$ext (not supported, see Patch-O-Matic)" ;\
- cat extensions/libip6t_$$ext.man ;\
+ if test -f extensions/libip6t_$$ext.man; then \
+ cat extensions/libip6t_$$ext.man ;\
+ else \
+ cat extensions/libxt_$$ext.man ;\
+ fi; \
done ;\
fi >>extensions/libip6t_matches.man