diff --git a/src/js/cmdline.js b/src/js/cmdline.js index 6177c7b..7507862 100644 --- a/src/js/cmdline.js +++ b/src/js/cmdline.js @@ -105,13 +105,13 @@ function make(output) { for(var i = 0; i < targets.length; i++) { mk.write(targets[i].target + ": " + pmake.resolveProjects(targets[i].libraries).map(target_map).join(" ") + "\n"); - mk.write(" @cd " + targets[i].base + " ; $(MAKE) $(MAKEARGS) -f " + makefile(targets[i]) + "\n"); + mk.write(" @cd " + targets[i].base + " ; $(MAKE) $(MAKEARGS) -f " + targets[i].target + ".make\n"); mk.write("\n"); } mk.write("clean:\n"); for(var i = 0; i < targets.length; i++) { - mk.write(" @cd " + targets[i].base + " ; $(MAKE) $(MAKEARGS) -f " + makefile(targets[i]) + " clean\n"); + mk.write(" @cd " + targets[i].base + " ; $(MAKE) $(MAKEARGS) -f " + targets[i].target + ".make clean\n"); } mk.write("\n"); diff --git a/src/js/core.js b/src/js/core.js index cf2791a..2219448 100644 --- a/src/js/core.js +++ b/src/js/core.js @@ -251,6 +251,12 @@ const Project = function(target) { this.libraries = []; this.output = target; this.base = fs.cwd(); + + if(this.base == fs.startedCwd) { + this.base = "."; + } else { + this.base = this.base.substr(fs.startedCwd.length + 1); + } }; Project.prototype.generate = function() { diff --git a/src/js_fs.c b/src/js_fs.c index 80b176a..2cffc64 100644 --- a/src/js_fs.c +++ b/src/js_fs.c @@ -105,7 +105,10 @@ static duk_ret_t js_fs_cwd(duk_context* self) { } void js_fs_init(void) { - int obj; + int obj; + char started_cwd[1024]; + + getcwd(started_cwd, 1024); obj = duk_push_object(js_ctx); @@ -124,5 +127,8 @@ void js_fs_init(void) { duk_push_c_function(js_ctx, js_fs_cwd, 0); duk_put_prop_string(js_ctx, obj, "cwd"); + duk_push_string(js_ctx, started_cwd); + duk_put_prop_string(js_ctx, obj, "startedCwd"); + duk_put_prop_string(js_ctx, 0, "fs"); }