#!/bin/sh
-set -e
-
OUTPUT=syscalls.h
SYSCALL_INCLUDES="
#include <sys/syscall.h>
"
-trap 'rm $OUTPUT $OUTPUT.deps' ERR
+# pipefail is part of modern POSIX
+# shellcheck disable=SC3040
+set -o pipefail
echo "$SYSCALL_INCLUDES" \
| "$@" -MD -MF "$OUTPUT.deps" -dM -E - \
| grep '^#define __NR_' \
| sed 's/#define __NR_\([^[:space:]]*\).*/UL_SYSCALL("\1", __NR_\1)/' \
| sort \
- > "$OUTPUT"
+ > "$OUTPUT" || { rm $OUTPUT $OUTPUT.deps; return 1; }