From 3d7bf2600524bf988362859ddd92556baf4e7e2f Mon Sep 17 00:00:00 2001 From: Tharre Date: Tue, 5 May 2015 23:55:09 +0200 Subject: Fix some issues with paths --- src/build.c | 14 ++++---------- src/redo.c | 2 +- 2 files changed, 5 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/build.c b/src/build.c index 27bf48e..b74c4fd 100644 --- a/src/build.c +++ b/src/build.c @@ -119,7 +119,8 @@ int build_target(const char *target) { free(dirc); - char **argv = parse_shebang((char*)target, dofiles->chosen, temp_output); + char **argv = parse_shebang(xbasename((char*)target), + xbasename(dofiles->chosen), xbasename(temp_output)); /* set "REDO_PARENT_TARGET" */ if (setenv("REDO_PARENT_TARGET", target, 1)) @@ -267,15 +268,7 @@ static do_attr *get_dofiles(const char *target) { do_attr *dofiles = xmalloc(sizeof(do_attr)); dofiles->specific = concat(2, target, ".do"); - if (!is_absolute(target)) { - dofiles->general = concat(3, "default", take_extension(target), ".do"); - } else { - char *dirc = xstrdup(target); - char *dt = dirname(dirc); - - dofiles->general = concat(4, dt, "/default", take_extension(target), ".do"); - free(dirc); - } + dofiles->general = concat(3, "default", take_extension(target), ".do"); if (fexists(dofiles->specific)) dofiles->chosen = dofiles->specific; @@ -457,6 +450,7 @@ static int handle_c(const char *target) { /* magic number matches */ return 1; + bool rebuild = false; unsigned char hash[HASHSIZE]; hash_file(target, hash); diff --git a/src/redo.c b/src/redo.c index 84eca0b..577d975 100644 --- a/src/redo.c +++ b/src/redo.c @@ -88,7 +88,7 @@ int main(int argc, char *argv[]) { } while (!*temp); update_target(*temp, ident); - add_dep(*temp, parent, ident); + add_dep(*temp, xbasename(parent), ident); *temp = NULL; } -- cgit v1.2.3-70-g09d2