From ebf8030fc1c78a857d92e359d0b186e0224f2ba3 Mon Sep 17 00:00:00 2001 From: Tharre Date: Wed, 13 Aug 2014 18:17:10 +0200 Subject: Add redo-always subcommand --- .gitignore | 1 + build.sh | 4 +++- out/redo-always.do | 5 +++++ src/redo-always.c | 8 ++++++++ 4 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 out/redo-always.do create mode 100644 src/redo-always.c diff --git a/.gitignore b/.gitignore index 330356d..c6164a3 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ out/*.o out/redo out/redo-ifchange +out/redo-always out/CC .redo diff --git a/build.sh b/build.sh index 072ea88..aeb1f60 100755 --- a/build.sh +++ b/build.sh @@ -6,10 +6,12 @@ $CC $CFLAGS -o out/build.o -c src/build.c $CC $CFLAGS -o out/filepath.o -c src/filepath.c $CC $CFLAGS -o out/redo.o -c src/redo.c $CC $CFLAGS -o out/redo-ifchange.o -c src/redo-ifchange.c +$CC $CFLAGS -o out/redo-always.o -c src/redo-always.c $CC -o out/redo out/redo.o out/util.o out/build.o out/filepath.o $LDFLAGS $CC -o out/redo-ifchange out/redo-ifchange.o out/util.o out/build.o out/filepath.o $LDFLAGS +$CC -o out/redo-always out/redo-always.o out/util.o out/build.o out/filepath.o $LDFLAGS # TODO: just for convenience, should be removed as soon as redo can build itself -sudo install out/redo out/redo-ifchange /usr/bin/ +sudo install out/redo out/redo-ifchange out/redo-always /usr/bin/ echo "Finished compiling" diff --git a/out/redo-always.do b/out/redo-always.do new file mode 100644 index 0000000..55f25f0 --- /dev/null +++ b/out/redo-always.do @@ -0,0 +1,5 @@ +. ./config.sh + +DEPS="redo-always.o build.o util.o filepath.o" +redo-ifchange $DEPS config.sh +$CC -o $3 $DEPS $LDFLAGS diff --git a/src/redo-always.c b/src/redo-always.c new file mode 100644 index 0000000..993d73b --- /dev/null +++ b/src/redo-always.c @@ -0,0 +1,8 @@ +#include "build.h" + +int main(int argc, char *argv[]) { + for (int i = 1; i < argc; ++i) { + build_target(argv[i]); + add_dep(argv[i], 'c'); + } +} -- cgit v1.2.3-70-g09d2