0
指定目標,我是新來的makefile我有一個有點麻煩區分目標路徑相對於在make文件存在的makefile文件命令
這裏是我的Makefile
babel-ready:
make babel-install-preset module=es2015
make babel-install-preset module=stage-2
babel-install-preset:
npm install --save-dev babel-preset-$(module)
${CURDIR}/node_modules/.bin/json -I -f package.json -e 'if (!this.babel) this.babel = {}' ;\
${CURDIR}/node_modules/.bin/json -I -f package.json -e 'if (!this.babel.presets) this.babel.presets = []' ;\
${CURDIR}/node_modules/.bin/json -I -f package.json -e 'this.babel.presets.push("'$(module)'")' ;\
這裏的DIR結構:
- node_modules
- .bin/
- json
- Makefile
- packages/
- my-package/
- package.json
- package.json
我想用三種方式使用這個Makefile。
一種是指定一個像這樣的目標。
./ $ make babel-ready package=my-package
二是在根package.json上運行它。
./ $ make babel-ready
三是要在包中,只需運行命令。
./packages/my-package $ make -C ../../ babel-ready
我想如果三個人都可以使用相同的基本代碼。
我繼續使用cd
改變命令中的目錄,但它使搞亂了我,因爲一旦我cd
我鬆訪問make命令,並有能力使用make -C ${CURDIR}
但後來我鬆散訪問正確的package.json
文件,所以看起來我不能得到任何工作。