diff options
author | Ryan Dahl <ry@tinyclouds.org> | 2011-11-21 09:48:45 -0800 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2011-11-21 10:50:52 -0800 |
commit | b488be127a8cf1e59eb257db3f8eaf6efdb0f275 (patch) | |
tree | 83436f4f84b9651ea66c3a0d304050252916c149 /deps/npm/Makefile | |
parent | 05de01d707cd9a80f34da23445f507f5f2e2c277 (diff) | |
download | node-b488be127a8cf1e59eb257db3f8eaf6efdb0f275.tar.gz |
Include NPM, update .pkg to install it.
.msi update coming soon.
Diffstat (limited to 'deps/npm/Makefile')
-rw-r--r-- | deps/npm/Makefile | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/deps/npm/Makefile b/deps/npm/Makefile new file mode 100644 index 000000000..e10381baf --- /dev/null +++ b/deps/npm/Makefile @@ -0,0 +1,125 @@ +SHELL = bash + +markdowns = $(shell find doc -name '*.md' | grep -v 'index') README.md + +cli_mandocs = $(shell find doc/cli -name '*.md' \ + |sed 's|.md|.1|g' \ + |sed 's|doc/cli/|man/man1/|g' ) \ + man/man1/README.1 \ + man/man1/index.1 + +api_mandocs = $(shell find doc/api -name '*.md' \ + |sed 's|.md|.3|g' \ + |sed 's|doc/api/|man/man3/|g' ) + +cli_htmldocs = $(shell find doc/cli -name '*.md' \ + |grep -v 'index.md' \ + |sed 's|.md|.html|g' \ + |sed 's|doc/cli/|html/doc/|g' ) \ + html/doc/README.html \ + html/doc/index.html + +api_htmldocs = $(shell find doc/api -name '*.md' \ + |sed 's|.md|.html|g' \ + |sed 's|doc/api/|html/api/|g' ) + +mandocs = $(api_mandocs) $(cli_mandocs) + +htmldocs = $(api_htmldocs) $(cli_htmldocs) + +all: submodules doc + +submodules: + ! [ -d .git ] || git submodule update --init --recursive + +latest: submodules + @echo "Installing latest published npm" + @echo "Use 'make install' or 'make link' to install the code" + @echo "in this folder that you're looking at right now." + node cli.js install -g -f npm + +install: all + node cli.js install -g -f + +# backwards compat +dev: install + +link: uninstall + node cli.js link -f + +clean: doc-clean uninstall + rm npmrc + node cli.js cache clean + +uninstall: submodules + node cli.js rm npm -g -f + +doc: $(mandocs) $(htmldocs) + +docclean: doc-clean +doc-clean: + rm -rf \ + node_modules/ronn \ + node_modules/.bin/ronn \ + .building_ronn \ + doc/cli/index.md \ + doc/api/index.md \ + $(api_mandocs) \ + $(cli_mandocs) \ + $(api_htmldocs) \ + $(cli_htmldocs) \ + &>/dev/null || true + +# use `npm install ronn` for this to work. +man/man1/README.1: README.md scripts/doc-build.sh package.json + scripts/doc-build.sh $< $@ + +man/man1/%.1: doc/cli/%.md scripts/doc-build.sh package.json + @[ -d man/man1 ] || mkdir -p man/man1 + scripts/doc-build.sh $< $@ + +man/man3/%.3: doc/api/%.md scripts/doc-build.sh package.json + @[ -d man/man3 ] || mkdir -p man/man3 + scripts/doc-build.sh $< $@ + +html/doc/README.html: README.md html/dochead.html html/docfoot.html scripts/doc-build.sh package.json + scripts/doc-build.sh $< $@ + +html/doc/%.html: doc/cli/%.md html/dochead.html html/docfoot.html scripts/doc-build.sh package.json + scripts/doc-build.sh $< $@ + +html/api/%.html: doc/api/%.md html/dochead.html html/docfoot.html scripts/doc-build.sh package.json + scripts/doc-build.sh $< $@ + +doc/cli/index.md: $(markdowns) scripts/index-build.js scripts/doc-build.sh package.json + node scripts/index-build.js > $@ + +node_modules/ronn: + node cli.js install https://github.com/isaacs/ronnjs/tarball/master + +doc: man + +man: $(cli_docs) $(api_docs) + +test: submodules + node cli.js test + +version: link + git add package.json &&\ + git ci -m v$(shell npm -v) + +publish: link + git tag -s -m v$(shell npm -v) v$(shell npm -v) &&\ + git push origin master --tags &&\ + npm publish &&\ + make doc-publish + +docpublish: doc-publish +doc-publish: doc + rsync -vazu --stats --no-implied-dirs --delete html/doc/ npmjs.org:/var/www/npmjs.org/public/doc + rsync -vazu --stats --no-implied-dirs --delete html/api/ npmjs.org:/var/www/npmjs.org/public/api + +sandwich: + @[ $$(whoami) = "root" ] && (echo "ok"; echo "ham" > sandwich) || echo "make it yourself" + +.PHONY: all latest install dev link doc clean uninstall test man doc-publish doc-clean docclean docpublish |