cross platform gnu make for nodejs
Please ★ this repo if you found it useful ★ ★ ★
- supports windows
- supports osx
- supports linux
npm install --save-dev gnumake
-
Create a Makefile
You must include
node_modules/gnumake/gnumake.mk
.Makefile
include node_modules/gnumake/gnumake.mk .PHONY: build build: lib lib: -@$(RM) -rf lib || $(TRUE) @babel src -d lib
-
Reference Makefile from npm scripts
package.json
"scripts": { "build": "make -s build" }
The following commands should be referenced from make variables instead of the raw unix commands for cross platform suport on linux, osx and windows.
unix command | make variable | example |
---|---|---|
/dev/null |
$(NULL) |
echo hello >$(NULL) |
cat |
$(CAT) |
$(CAT) hello.txt |
chmod |
$(CHMOD) |
$(CHMOD) hello.txt |
cd |
$(CD) |
$(CD) hello |
cp |
$(CP) |
$(CP) -r hello world |
false |
$(FALSE) |
echo fail && $(FALSE) |
find |
$(FIND) |
$(FIND) *.txt |
grep |
$(GREP) |
$(GREP) ".+\.txt$" |
git |
$(GIT) |
$(GIT) ls-files |
ln |
$(LN) |
$(LN) -s hello.txt world.txt |
ls |
$(LS) |
$(LS) -a |
make |
$(MAKE) |
$(MAKE) -s hello |
mkdir -p |
$(MKDIRP) |
$(MKDIRP) hello/world |
mv |
$(MV) |
$(MV) hello world |
npm |
$(NPM) |
$(NPM) install |
pwd |
$(PWD) |
$(PWD) |
rm |
$(RM) |
$(RM) -rf hello |
sed |
$(SED) |
$(SED) -i "s/hello/world/g" hello.txt |
tail |
$(TAIL) |
$(TAIL) -f hello.log |
touch |
$(TOUCH) |
$(TOUCH) hello.txt |
true |
$(TRUE) |
echo success && $(TRUE) |
Submit an issue
Review the guidelines for contributing
Jam Risser © 2020
Review the changelog
- Jam Risser - Author