gnumake
Version:
cross platform gnu make
46 lines (35 loc) • 3.36 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = make;
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _execa = _interopRequireDefault(require("execa"));
var _fs = _interopRequireDefault(require("fs"));
var _path = _interopRequireDefault(require("path"));
var _where = _interopRequireDefault(require("./where"));
function make() {
return _make.apply(this, arguments);
}
function _make() {
_make = (0, _asyncToGenerator2.default)(function* (args = []) {
const commandPath = _path.default.resolve(__dirname, '../bin', {
linux: 'make',
darwin: 'make',
win32: 'make.exe'
}[process.platform]);
const command = _fs.default.existsSync(commandPath) ? commandPath : (yield (0, _where.default)('make')) || commandPath;
const ps = (0, _execa.default)(command, args, {
stdio: 'inherit'
});
try {
return yield ps;
} catch (err) {
if (err.exitCode) return process.exit(err.exitCode);
throw err;
}
});
return _make.apply(this, arguments);
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWtlLnRzIl0sIm5hbWVzIjpbIm1ha2UiLCJhcmdzIiwiY29tbWFuZFBhdGgiLCJwYXRoIiwicmVzb2x2ZSIsIl9fZGlybmFtZSIsImxpbnV4IiwiZGFyd2luIiwid2luMzIiLCJwcm9jZXNzIiwicGxhdGZvcm0iLCJjb21tYW5kIiwiZnMiLCJleGlzdHNTeW5jIiwicHMiLCJzdGRpbyIsImVyciIsImV4aXRDb2RlIiwiZXhpdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7U0FFOEJBLEk7Ozs7OzBDQUFmLFdBQW9CQyxJQUFjLEdBQUcsRUFBckMsRUFBeUM7QUFDdEQsVUFBTUMsV0FBVyxHQUFHQyxjQUFLQyxPQUFMLENBQ2xCQyxTQURrQixFQUVsQixRQUZrQixFQUdqQjtBQUNDQyxNQUFBQSxLQUFLLEVBQUUsTUFEUjtBQUVDQyxNQUFBQSxNQUFNLEVBQUUsTUFGVDtBQUdDQyxNQUFBQSxLQUFLLEVBQUU7QUFIUixLQUFELENBTUdDLE9BQU8sQ0FBQ0MsUUFOWCxDQUhrQixDQUFwQjs7QUFXQSxVQUFNQyxPQUFPLEdBQUdDLFlBQUdDLFVBQUgsQ0FBY1gsV0FBZCxJQUNaQSxXQURZLEdBRVosT0FBTyxvQkFBTSxNQUFOLENBQVAsS0FBeUJBLFdBRjdCO0FBR0EsVUFBTVksRUFBRSxHQUFHLG9CQUFNSCxPQUFOLEVBQWVWLElBQWYsRUFBcUI7QUFBRWMsTUFBQUEsS0FBSyxFQUFFO0FBQVQsS0FBckIsQ0FBWDs7QUFDQSxRQUFJO0FBQ0YsbUJBQWFELEVBQWI7QUFDRCxLQUZELENBRUUsT0FBT0UsR0FBUCxFQUFZO0FBQ1osVUFBSUEsR0FBRyxDQUFDQyxRQUFSLEVBQWtCLE9BQU9SLE9BQU8sQ0FBQ1MsSUFBUixDQUFhRixHQUFHLENBQUNDLFFBQWpCLENBQVA7QUFDbEIsWUFBTUQsR0FBTjtBQUNEO0FBQ0YsRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBleGVjYSBmcm9tICdleGVjYSc7XG5pbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgd2hlcmUgZnJvbSAnLi93aGVyZSc7XG5cbmV4cG9ydCBkZWZhdWx0IGFzeW5jIGZ1bmN0aW9uIG1ha2UoYXJnczogc3RyaW5nW10gPSBbXSkge1xuICBjb25zdCBjb21tYW5kUGF0aCA9IHBhdGgucmVzb2x2ZShcbiAgICBfX2Rpcm5hbWUsXG4gICAgJy4uL2JpbicsXG4gICAgKHtcbiAgICAgIGxpbnV4OiAnbWFrZScsXG4gICAgICBkYXJ3aW46ICdtYWtlJyxcbiAgICAgIHdpbjMyOiAnbWFrZS5leGUnLFxuICAgIH0gYXMge1xuICAgICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xuICAgIH0pW3Byb2Nlc3MucGxhdGZvcm1dXG4gICk7XG4gIGNvbnN0IGNvbW1hbmQgPSBmcy5leGlzdHNTeW5jKGNvbW1hbmRQYXRoKVxuICAgID8gY29tbWFuZFBhdGhcbiAgICA6IChhd2FpdCB3aGVyZSgnbWFrZScpKSB8fCBjb21tYW5kUGF0aDtcbiAgY29uc3QgcHMgPSBleGVjYShjb21tYW5kLCBhcmdzLCB7IHN0ZGlvOiAnaW5oZXJpdCcgfSk7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGF3YWl0IHBzO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBpZiAoZXJyLmV4aXRDb2RlKSByZXR1cm4gcHJvY2Vzcy5leGl0KGVyci5leGl0Q29kZSk7XG4gICAgdGhyb3cgZXJyO1xuICB9XG59XG4iXX0=