diff options
Diffstat (limited to 'mkdeps.sh')
-rwxr-xr-x | mkdeps.sh | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/mkdeps.sh b/mkdeps.sh new file mode 100755 index 0000000..3ce3e05 --- /dev/null +++ b/mkdeps.sh @@ -0,0 +1,40 @@ +#!/bin/sh +set -eu + +export LANG=POSIX.UTF-8 + + +no_main() { + grep -v '/main\.go$' +} + +only_main() { + grep '/main\.go$' +} + +sources() { + find src tests -name '*.go' | grep -v '^src/version\.go$' +} + +libs() { + sources | no_main +} + +mains() { + sources | only_main +} + +libs | varlist 'libs.go' +mains | varlist 'mains.go' + +find tests/functional/*/*.go | no_main | varlist 'functional-tests/lib.go' +find tests/functional/*/main.go | varlist 'functional-tests/main.go' +find tests/fuzz/*/*.go | no_main | varlist 'fuzz-targets/lib.go' +find tests/fuzz/*/main.go | varlist 'fuzz-targets/main.go' +find tests/benchmarks/*/*.go | no_main | varlist 'benchmarks/lib.go' +find tests/benchmarks/*/main.go | varlist 'benchmarks/main.go' + +sources | sort | sed 's/^\(.*\)\.go$/\1.a:\t\1.go/' +mains | sort | sed 's/^\(.*\)\.go$/\1.bin:\t\1.a/' +mains | sort | sed 's/^\(.*\)\.go$/\1.bin-check:\t\1.bin/' +mains | sort | sed 's|^\(.*\)/main\.go$|\1/main.a:\t\1/$(NAME).a|' |