From 325c8e3992bf7b73714d10a5d2202c89ddbac189 Mon Sep 17 00:00:00 2001 From: Tharre Date: Tue, 12 Aug 2014 17:18:20 +0200 Subject: Add the magic number to the dependency record. The magic number will be used later to determine if a target has already been rebuild. --- src/redo.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/redo.c') diff --git a/src/redo.c b/src/redo.c index 69f9ade..0209a4f 100644 --- a/src/redo.c +++ b/src/redo.c @@ -3,12 +3,18 @@ #include #include #include +#include +#include +#include #include #include "build.h" #include "util.h" #include "dbg.h" +static inline int digits(unsigned n) { + return (int) log10(n) + 1; +} int main(int argc, char *argv[]) { /* create .redo directory */ @@ -26,6 +32,17 @@ int main(int argc, char *argv[]) { free(cwd); + srand(time(NULL)); /* TODO: error checking */ + unsigned magic = rand(); + + char magic_str[digits(UINT_MAX) + 1]; + sprintf(magic_str, "%u", magic); + + printf("MAGIC: %s\n", magic_str); + + if (setenv("REDO_MAGIC", magic_str, 0)) + fatal("setenv()"); + if (argc < 2) { build_target("all"); } else { -- cgit v1.2.3-70-g09d2