0
0
mirror of https://github.com/nodejs/node.git synced 2024-12-01 16:10:02 +01:00
nodejs/deps/npm/Makefile

218 lines
6.1 KiB
Makefile
Raw Normal View History

2013-07-12 17:55:57 +02:00
# vim: set softtabstop=2 shiftwidth=2:
SHELL = bash
markdowns = $(shell find doc -name '*.md' | grep -v 'index') README.md
2013-07-12 17:55:57 +02:00
html_docdeps = html/dochead.html \
html/docfoot.html \
html/docfoot-script.html \
scripts/doc-build.sh \
package.json
cli_mandocs = $(shell find doc/cli -name '*.md' \
|sed 's|.md|.1|g' \
|sed 's|doc/cli/|man/man1/|g' ) \
2013-07-12 17:55:57 +02:00
man/man1/npm-README.1
api_mandocs = $(shell find doc/api -name '*.md' \
|sed 's|.md|.3|g' \
|sed 's|doc/api/|man/man3/|g' )
2013-07-12 17:55:57 +02:00
files_mandocs = $(shell find doc/files -name '*.md' \
|sed 's|.md|.5|g' \
|sed 's|doc/files/|man/man5/|g' ) \
man/man5/npm-json.5 \
man/man5/npm-global.5
misc_mandocs = $(shell find doc/misc -name '*.md' \
|sed 's|.md|.7|g' \
|sed 's|doc/misc/|man/man7/|g' ) \
man/man7/index.7
cli_htmldocs = $(shell find doc/cli -name '*.md' \
|sed 's|.md|.html|g' \
2013-07-12 17:55:57 +02:00
|sed 's|doc/cli/|html/doc/cli/|g' ) \
html/doc/README.html
api_htmldocs = $(shell find doc/api -name '*.md' \
|sed 's|.md|.html|g' \
2013-07-12 17:55:57 +02:00
|sed 's|doc/api/|html/doc/api/|g' )
files_htmldocs = $(shell find doc/files -name '*.md' \
|sed 's|.md|.html|g' \
|sed 's|doc/files/|html/doc/files/|g' ) \
html/doc/files/npm-json.html \
html/doc/files/npm-global.html
2013-07-12 17:55:57 +02:00
misc_htmldocs = $(shell find doc/misc -name '*.md' \
|sed 's|.md|.html|g' \
|sed 's|doc/misc/|html/doc/misc/|g' ) \
html/doc/index.html
2013-07-12 17:55:57 +02:00
mandocs = $(api_mandocs) $(cli_mandocs) $(files_mandocs) $(misc_mandocs)
htmldocs = $(api_htmldocs) $(cli_htmldocs) $(files_htmldocs) $(misc_htmldocs)
2012-01-17 00:06:16 +01:00
all: doc
2012-01-17 00:06:16 +01:00
latest:
@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
2012-01-17 00:06:16 +01:00
uninstall:
node cli.js rm npm -g -f
doc: $(mandocs) $(htmldocs)
docclean: doc-clean
doc-clean:
rm -rf \
node_modules/ronn \
node_modules/.bin/ronn \
2013-07-12 17:55:57 +02:00
.building_ronn \
html/doc \
html/api \
man/man*
# use `npm install ronn` for this to work.
2013-07-12 17:55:57 +02:00
man/man1/npm-README.1: README.md scripts/doc-build.sh package.json
@[ -d man/man1 ] || mkdir -p man/man1
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 $< $@
2013-07-12 17:55:57 +02:00
man/man5/npm-json.5: man/man5/package.json.5
cp $< $@
man/man5/npm-global.5: man/man5/npm-folders.5
cp $< $@
man/man5/%.5: doc/files/%.md scripts/doc-build.sh package.json
@[ -d man/man5 ] || mkdir -p man/man5
scripts/doc-build.sh $< $@
2013-07-12 17:55:57 +02:00
doc/misc/npm-index.md: scripts/index-build.js package.json
node scripts/index-build.js > $@
html/doc/index.html: doc/misc/npm-index.md $(html_docdeps)
@[ -d html/doc ] || mkdir -p html/doc
scripts/doc-build.sh $< $@
2013-07-12 17:55:57 +02:00
man/man7/%.7: doc/misc/%.md scripts/doc-build.sh package.json
@[ -d man/man7 ] || mkdir -p man/man7
scripts/doc-build.sh $< $@
2013-07-12 17:55:57 +02:00
html/doc/README.html: README.md $(html_docdeps)
@[ -d html/doc ] || mkdir -p html/doc
scripts/doc-build.sh $< $@
html/doc/cli/%.html: doc/cli/%.md $(html_docdeps)
@[ -d html/doc/cli ] || mkdir -p html/doc/cli
scripts/doc-build.sh $< $@
html/doc/api/%.html: doc/api/%.md $(html_docdeps)
@[ -d html/doc/api ] || mkdir -p html/doc/api
scripts/doc-build.sh $< $@
html/doc/files/npm-json.html: html/doc/files/package.json.html
cp $< $@
html/doc/files/npm-global.html: html/doc/files/npm-folders.html
cp $< $@
html/doc/files/%.html: doc/files/%.md $(html_docdeps)
@[ -d html/doc/files ] || mkdir -p html/doc/files
scripts/doc-build.sh $< $@
html/doc/misc/%.html: doc/misc/%.md $(html_docdeps)
@[ -d html/doc/misc ] || mkdir -p html/doc/misc
scripts/doc-build.sh $< $@
2012-01-17 00:06:16 +01:00
node_modules/.bin/ronn:
2012-12-12 23:41:28 +01:00
node cli.js install ronn
doc: man
man: $(cli_docs) $(api_docs)
2012-01-17 00:06:16 +01:00
test:
node cli.js test
2012-01-05 00:09:13 +01:00
publish: link doc
2013-06-18 18:42:42 +02:00
@git push origin :v$(shell npm -v) 2>&1 || true
@npm unpublish npm@$(shell npm -v) 2>&1 || true
git clean -fd &&\
git push origin &&\
2011-12-15 17:32:07 +01:00
git push origin --tags &&\
npm publish &&\
2012-01-05 00:09:13 +01:00
npm tag npm@$(shell npm -v) $(shell npm -v | awk -F. '{print $$1 "." $$2}') &&\
make doc-publish &&\
make zip-publish
docpublish: doc-publish
doc-publish: doc
2013-07-12 17:55:57 +02:00
# legacy urls
for f in $$(find html/doc/{cli,files,misc}/ -name '*.html'); do \
j=$$(basename $$f | sed 's|^npm-||g'); \
if ! [ -f html/doc/$$j ] && [ $$j != README.html ] && [ $$j != index.html ]; then \
perl -pi -e 's/ href="\.\.\// href="/g' <$$f >html/doc/$$j; \
fi; \
done
mkdir -p html/api
for f in $$(find html/doc/api/ -name '*.html'); do \
j=$$(basename $$f | sed 's|^npm-||g'); \
perl -pi -e 's/ href="\.\.\// href="/g' <$$f >html/api/$$j; \
done
2012-08-02 04:10:42 +02:00
rsync -vazu --stats --no-implied-dirs --delete \
2013-07-12 17:55:57 +02:00
html/doc/* \
node@npmjs.org:/home/node/npm-www/doc
2012-08-02 04:10:42 +02:00
rsync -vazu --stats --no-implied-dirs --delete \
2013-07-12 17:55:57 +02:00
html/static/webfonts/ \
node@npmjs.org:/home/node/npm-www/static/webfonts
2012-08-02 04:10:42 +02:00
rsync -vazu --stats --no-implied-dirs --delete \
2013-07-12 17:55:57 +02:00
html/static/style.css \
node@npmjs.org:/home/node/npm-www/static/
#cleanup
rm -rf html/api
for f in html/doc/*.html; do \
case $$f in \
html/doc/README.html) continue ;; \
html/doc/index.html) continue ;; \
*) rm $$f ;; \
esac; \
done
2012-01-05 00:09:13 +01:00
zip-publish: release
2012-08-06 22:07:31 +02:00
scp release/* node@nodejs.org:dist/npm/
2012-01-05 00:09:13 +01:00
release:
@bash scripts/release.sh
sandwich:
2012-07-13 20:40:38 +02:00
@[ $$(whoami) = "root" ] && (echo "ok"; echo "ham" > sandwich) || echo "make it yourself" && exit 13
2012-01-05 00:09:13 +01:00
.PHONY: all latest install dev link doc clean uninstall test man doc-publish doc-clean docclean docpublish release zip-publish