aboutsummaryrefslogtreecommitdiffstats
path: root/default.tool.do
diff options
context:
space:
mode:
authorTomasz Kramkowski <tk@the-tk.com>2021-08-06 15:49:26 +0100
committerTomasz Kramkowski <tk@the-tk.com>2021-08-06 15:49:26 +0100
commita6f62055835c5c3f9546818fbbcd43c73baef57f (patch)
treee0fc0a7a94dafbf1ad65776d58e6ac1cb4208f2a /default.tool.do
parente895879eac788f1d59a68d4d0ef7f3788e159842 (diff)
downloadpack-a6f62055835c5c3f9546818fbbcd43c73baef57f.tar.gz
pack-a6f62055835c5c3f9546818fbbcd43c73baef57f.tar.xz
pack-a6f62055835c5c3f9546818fbbcd43c73baef57f.zip
Implement compile_commands.json generation
Diffstat (limited to 'default.tool.do')
-rwxr-xr-xdefault.tool.do9
1 files changed, 5 insertions, 4 deletions
diff --git a/default.tool.do b/default.tool.do
index a4e18e7..d9845fa 100755
--- a/default.tool.do
+++ b/default.tool.do
@@ -1,8 +1,8 @@
#!/usr/bin/env bash
set -e
-redo-ifchange .vars.rc
-if [[ $1 = *-host.tool ]]; then prefix=H; else prefix=T; fi
-case "${1##*/}" in
+tool=${1##*/}
+if [[ $tool = *-host.tool ]]; then prefix=H; else prefix=T; fi
+case "$tool" in
compile*.tool)
vars=(CC CFLAGS CPPFLAGS)
cmd='"$CC" -MMD -MF - "${CFLAGS[@]}" "${CPPFLAGS[@]}" -c -o "$3" "${1%.o}.c"'
@@ -17,9 +17,10 @@ link-*.tool)
exit 1 ;;
esac
for v in "${vars[@]}"; do cmd=${cmd//$v/$prefix$v}; done
+redo-ifchange .vars.rc
. ./.vars.rc
exec >"$3"
echo "#generated by $0 $1"
declare -p "${vars[@]/#/$prefix}"
-echo "$cmd"
+echo "cmd=($cmd)"
if command -v redo-stamp &>/dev/null; then redo-stamp <"$3"; fi