diff --git a/lib/actions.js b/lib/actions.js index bb2d883..939a229 100755 --- a/lib/actions.js +++ b/lib/actions.js @@ -148,7 +148,7 @@ function build(graph, node, cmd, cb) { // if the target is missing, we *must* rebuild it if (exists(missing_targets[cmd.target])) { return async.series([ - async.apply(colored_exec, [cmd.cmd].concat(cmd.args).join(' ')), + async.apply(colored_exec, [cmd.cmd].concat(cmd.args).join(' '), {cwd: cmd.cwd || node.base || process.cwd()}), async.apply(async.map, cmd.sources, fingerprint), async.apply(fingerprint, cmd.target) ], cb); diff --git a/lib/registry/processors/cmake.js b/lib/registry/processors/cmake.js index 6af7d10..98662a7 100644 --- a/lib/registry/processors/cmake.js +++ b/lib/registry/processors/cmake.js @@ -10,6 +10,8 @@ function register(node, registry, cb) { // prepare the command list corresponding to this node function generate(graph, node, cb) { + if (!exists(node.type) || node.type.toLowerCase() !== 'cmake') return cb(); + node.defines = node.defines || {}; if (node.installdir) node.defines.CMAKE_INSTALL_PREFIX = node.defines.CMAKE_INSTALL_PREFIX || node.installdir; diff --git a/lib/registry/processors/cplusplus.js b/lib/registry/processors/cplusplus.js index 14e113b..48295c2 100644 --- a/lib/registry/processors/cplusplus.js +++ b/lib/registry/processors/cplusplus.js @@ -95,7 +95,7 @@ function pkg_config(pkg, cb) { function register(node, registry, cb) { var valid_languages = ['C++', 'c++', 'cplusplus', 'cpp']; - if (valid_languages.indexOf(node.language) === -1) + if (!valid_languages.some(function(elem) { return elem === node.language; })) return cb(); node.language = 'c++'; diff --git a/lib/registry/processors/dlang.js b/lib/registry/processors/dlang.js index 297352e..37ef9a3 100644 --- a/lib/registry/processors/dlang.js +++ b/lib/registry/processors/dlang.js @@ -21,7 +21,7 @@ var public = util.public; function register(node, registry, cb) { var valid_languages = ['D', 'd', 'dlang']; - if (valid_languages.indexOf(node.language) === -1) + if (!valid_languages.some(function(elem) { return elem === node.language; })) return cb(); node.language = 'd'; diff --git a/lib/registry/processors/make.js b/lib/registry/processors/make.js index f8e2bae..7f4ec1c 100644 --- a/lib/registry/processors/make.js +++ b/lib/registry/processors/make.js @@ -1,8 +1,21 @@ require('node_extensions'); +var assert = require('assert'); +var util = require('util'); +var path = require('path'); +var fs = require('fs'); + +var exists = util.exists; + var os = require('os'); function register(node, registry, cb) { + if (!exists(node.type) || node.type.toLowerCase() !== 'make') return cb(); + + node.generate = function(graph, cb) { + processors['make'].generate(graph, this, cb); + } + cb(); }