diff options
author | Tharre <tharre3@gmail.com> | 2015-05-05 23:55:09 +0200 |
---|---|---|
committer | Tharre <tharre3@gmail.com> | 2015-05-05 23:55:09 +0200 |
commit | 3d7bf2600524bf988362859ddd92556baf4e7e2f (patch) | |
tree | 4a82c601faf5786a4c84bf89eee152da7eb0d296 /src | |
parent | dec5aaccacb11029b6d14df3f4acf1fd64e236ad (diff) | |
download | redo-3d7bf2600524bf988362859ddd92556baf4e7e2f.tar.gz redo-3d7bf2600524bf988362859ddd92556baf4e7e2f.tar.xz redo-3d7bf2600524bf988362859ddd92556baf4e7e2f.zip |
Fix some issues with paths
Diffstat (limited to 'src')
-rw-r--r-- | src/build.c | 14 | ||||
-rw-r--r-- | src/redo.c | 2 |
2 files changed, 5 insertions, 11 deletions
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); @@ -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; } |