diff options
Diffstat (limited to 'mkdeps.sh')
-rwxr-xr-x | mkdeps.sh | 36 |
1 files changed, 24 insertions, 12 deletions
@@ -1,28 +1,40 @@ #!/bin/sh set -eu +export LANG=POSIX.UTF-8 + varlist() { printf '%s = \\\n' "$1" - sed 's|^\(.*\)$|\t\1 \\|' + sort | sed 's|^\(.*\)$|\t\1 \\|' printf '\n' } cfiles() { - git ls-files src/ | grep '\.c$' | grep -v '^src/main\.c$' | sort + find src/*.c -not -name 'main.c' } -export LANG=POSIX.UTF-8 +langs() { + awk '/^LANGUAGES = / { + for (i = 3; i < NF + 1; i++) { + print $(i) + } + exit + }' Makefile +} + +NAME="$(awk '/^NAME = / { print $3 }' Makefile)" -find doc/*.en.*.in 2>/dev/null | sort | varlist 'manpages.en.in' ||: -echo 'manpages.in = $(manpages.en.in)' +find doc/*.en.*.in | varlist 'manpages.en.in' +# langs printf 'catalogs.en.msg = %s\n' "$(find src/ -name '*.msg')" -echo 'catalogs.msg = $(catalogs.en.msg)' -printf '\n' +langs | sed 's|^\(.*\)$|$(manpages.\1.in)|' | varlist 'manpages.in' +langs | sed 's|^\(.*\)$|$(catalogs.\1.msg)|' | varlist 'catalogs.msg' -find tests/fuzz/*.c | sort | varlist 'fuzz.c' -find tests/fuzz/*.c | sort | awk -F. '{ printf "%s.a: %s.o\n", $1, $1 }' -find tests/fuzz/*.c | sort | awk -F. '{ printf "%s.bin-check: %s.bin\n", $1, $1 }' +find tests/fuzz/*.c | varlist 'fuzz.c' +find tests/fuzz/*.c | awk -F. '{ printf "%s.a: %s.o\n", $1, $1 }' +find tests/fuzz/*.c | awk -F. '{ printf "%s.bin-check: %s.bin\n", $1, $1 }' printf '\n\n' -cfiles | varlist 'sources.c' -ldev deps $(cfiles) +cfiles | varlist 'sources.c' +cfiles | sed 's|^src/|tests/|' | varlist 'tests.c' +ldev deps $(cfiles | sort) |