aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile5
-rwxr-xr-xgenerate-configlist.sh16
-rw-r--r--meson.build5
3 files changed, 22 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index 47ed9fa7fd..3645929964 100644
--- a/Makefile
+++ b/Makefile
@@ -2687,9 +2687,10 @@ $(BUILT_INS): git$X
cp $< $@
config-list.h: generate-configlist.sh
+ @mkdir -p .depend
+ $(QUIET_GEN)$(SHELL_PATH) ./generate-configlist.sh . $@ .depend/config-list.h.d
-config-list.h: Documentation/*config.adoc Documentation/config/*.adoc
- $(QUIET_GEN)$(SHELL_PATH) ./generate-configlist.sh . $@
+-include .depend/config-list.h.d
command-list.h: generate-cmdlist.sh command-list.txt
diff --git a/generate-configlist.sh b/generate-configlist.sh
index 75c39ade20..e28054f9e0 100755
--- a/generate-configlist.sh
+++ b/generate-configlist.sh
@@ -2,10 +2,11 @@
SOURCE_DIR="$1"
OUTPUT="$2"
+DEPFILE="$3"
if test -z "$SOURCE_DIR" || ! test -d "$SOURCE_DIR" || test -z "$OUTPUT"
then
- echo >&2 "USAGE: $0 <SOURCE_DIR> <OUTPUT>"
+ echo >&2 "USAGE: $0 <SOURCE_DIR> <OUTPUT> [<DEPFILE>]"
exit 1
fi
@@ -36,3 +37,16 @@ EOF
echo
print_config_list
} >"$OUTPUT"
+
+if test -n "$DEPFILE"
+then
+ QUOTED_OUTPUT="$(printf '%s\n' "$OUTPUT" | sed 's,[&/\],\\&,g')"
+ {
+ printf '%s\n' "$SOURCE_DIR"/Documentation/*config.adoc \
+ "$SOURCE_DIR"/Documentation/config/*.adoc |
+ sed -e 's/[# ]/\\&/g' -e "s/^/$QUOTED_OUTPUT: /"
+ printf '%s:\n' "$SOURCE_DIR"/Documentation/*config.adoc \
+ "$SOURCE_DIR"/Documentation/config/*.adoc |
+ sed -e 's/[# ]/\\&/g'
+ } >"$DEPFILE"
+fi
diff --git a/meson.build b/meson.build
index 3a1d12caa4..e4b8f1e33d 100644
--- a/meson.build
+++ b/meson.build
@@ -720,11 +720,14 @@ endif
builtin_sources += custom_target(
output: 'config-list.h',
+ depfile: 'config-list.h.d',
+ depend_files: [ 'generate-configlist.sh' ],
command: [
shell,
- meson.current_source_dir() + '/generate-configlist.sh',
+ meson.current_source_dir() / 'generate-configlist.sh',
meson.current_source_dir(),
'@OUTPUT@',
+ '@DEPFILE@',
],
env: script_environment,
)