aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-x.compile.do2
-rwxr-xr-xdefault.o.do8
2 files changed, 4 insertions, 6 deletions
diff --git a/.compile.do b/.compile.do
index 6634b55..3f48dc4 100755
--- a/.compile.do
+++ b/.compile.do
@@ -4,5 +4,5 @@ redo-ifchange .vars.rc
exec >"$3"
echo "# generated by $0"
declare -p CC CFLAGS CPPFLAGS
-echo '"$CC" -MMD -MF "$depfile" "${CFLAGS[@]}" "${CPPFLAGS[@]}" -c -o "$3" "${1%.o}.c"'
+echo '"$CC" -MMD -MF - "${CFLAGS[@]}" "${CPPFLAGS[@]}" -c -o "$3" "${1%.o}.c"'
if command -v redo-stamp &>/dev/null; then redo-stamp <"$3"; fi
diff --git a/default.o.do b/default.o.do
index c7e415b..a2a5e38 100755
--- a/default.o.do
+++ b/default.o.do
@@ -1,8 +1,6 @@
#!/bin/bash -e
+redo-ifchg-pipe() { tr '\n' '\0' | xargs -r0 redo-ifchange; }
src=${1%.o}.c
redo-ifchange .compile .parse-depfile "$src"
-sed -n 's|.*@BUILD_DEP \(.*\)|\1|p' "$src" | tr '\n' '\0' | xargs -r0 redo-ifchange
-depfile=$(mktemp)
-. ./.compile
-./.parse-depfile "$depfile" | tr '\n' '\0' | xargs -r0 redo-ifchange
-rm "$depfile"
+sed -n 's|.*@BUILD_DEP \(.*\)|\1|p' "$src" | redo-ifchg-pipe
+. ./.compile | ./.parse-depfile | redo-ifchg-pipe