aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rwxr-xr-xbuild.sh4
-rw-r--r--out/redo-always.do5
-rw-r--r--src/redo-always.c8
4 files changed, 17 insertions, 1 deletions
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');
+ }
+}