2017-05-29 13 views
0

让我有这样的规则来实现:从* *要么源文件

dist/node/%.js: src/%.node.js yarn.lock .babelrc | $(NODE_DIST_DIRS) 
    $(BIN)/babel $< -o [email protected] 

它时,我的源代码文件.node.js结束工作正常。例如,

$ make dist/node/fs.js 
mkdir -p dist/node/ 
node_modules/.bin/babel src/fs.node.js -o dist/node/fs.js 

不过,我想从要么src/fs.node.jssrc/fs.js编译dist/node/fs.js,存在为准。

原因是我有一些共享文件,只有.js扩展名(在浏览器和节点中都可以使用),然后是扩展名为.node.js的更具体的文件。如果有更具体的版本,我想使用它。

我不知道如何结合%做条件依赖关系。这可能吗?我可以优先考虑依赖性并采取最佳匹配吗?

回答

1

在单一规则中没有办法做到这一点。你将不得不写两个不同的先决条件的规则,但在其他方面相同:

dist/node/%.js: src/%.node.js yarn.lock .babelrc | $(NODE_DIST_DIRS) 
     $(BIN)/babel $< -o [email protected] 

dist/node/%.js: src/%.js yarn.lock .babelrc | $(NODE_DIST_DIRS) 
     $(BIN)/babel $< -o [email protected]