diff options
Diffstat (limited to 'default.do')
-rw-r--r-- | default.do | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/default.do b/default.do new file mode 100644 index 0000000..d8c1cd9 --- /dev/null +++ b/default.do @@ -0,0 +1,49 @@ +. ./config.rc + +# Extensionless name of file +fn="${1%.*}" + +case "$1" in + all) redo-ifchange src/cpt-lib bin/all docs/cpt.info ;; + dist) + redo clean + redo "cpt-$VERSION.tar.xz" + ;; + src/cpt-lib) + redo-ifchange "$1.in" + sed "s|@VERSION@|$VERSION|g" < "$1.in" > "$3" + ;; + bin/cpt-readlink|bin/cpt-stat) + redo-ifchange "$1.o" + "$CC" -o "$3" $LDFLAGS "$1.o" $LIBS + ;; + *.o) + [ -f "${1%.o}.c" ] || exit 99 + redo-ifchange "$fn.c" + "$CC" -c -o "$3" $CFLAGS "$fn.c" + ;; + "cpt-$VERSION.tar.xz") + redo docs/cpt.info + rm -rf -- "cpt-$VERSION" + find . -type f ! -name '.*' ! -path './.*' | + while read -r file; do + mkdir -p "cpt-$VERSION/${file%/*}" + cp "$file" "cpt-$VERSION/$file" + done + tar cf "cpt-$VERSION.tar" "cpt-$VERSION" + xz -z "cpt-$VERSION.tar" + rm -rf -- "cpt-$VERSION" + mv "$1" "$3" + ;; + test) + redo src/test + ;; + src/clean) + rm -f src/cpt-lib + ;; + *) + echo "Unknown target $1" + exit 99 +esac + +PHONY all dist test clean src/clean |