root / HServer / 00.Server / 00.Program / node_modules / npm / Makefile
이력 | 보기 | 이력해설 | 다운로드 (5.16 KB)
| 1 |
# vim: set softtabstop=2 shiftwidth=2: |
|---|---|
| 2 |
SHELL = bash |
| 3 |
|
| 4 |
PUBLISHTAG = $(shell node scripts/publish-tag.js) |
| 5 |
BRANCH = $(shell git rev-parse --abbrev-ref HEAD) |
| 6 |
|
| 7 |
markdowns = $(shell find doc -name '*.md' | grep -v 'index') README.md |
| 8 |
|
| 9 |
html_docdeps = html/dochead.html \ |
| 10 |
html/docfoot.html \ |
| 11 |
scripts/doc-build.sh \ |
| 12 |
package.json |
| 13 |
|
| 14 |
cli_mandocs = $(shell find doc/cli -name '*.md' \ |
| 15 |
|sed 's|.md|.1|g' \ |
| 16 |
|sed 's|doc/cli/|man/man1/|g' ) \ |
| 17 |
man/man1/npm-README.1 \ |
| 18 |
man/man1/npx.1 |
| 19 |
|
| 20 |
files_mandocs = $(shell find doc/files -name '*.md' \ |
| 21 |
|sed 's|.md|.5|g' \ |
| 22 |
|sed 's|doc/files/|man/man5/|g' ) \ |
| 23 |
man/man5/npm-json.5 \ |
| 24 |
man/man5/npm-global.5 |
| 25 |
|
| 26 |
misc_mandocs = $(shell find doc/misc -name '*.md' \ |
| 27 |
|sed 's|.md|.7|g' \ |
| 28 |
|sed 's|doc/misc/|man/man7/|g' ) \ |
| 29 |
man/man7/npm-index.7 |
| 30 |
|
| 31 |
cli_htmldocs = $(shell find doc/cli -name '*.md' \ |
| 32 |
|sed 's|.md|.html|g' \ |
| 33 |
|sed 's|doc/cli/|html/doc/cli/|g' ) \ |
| 34 |
html/doc/README.html |
| 35 |
|
| 36 |
files_htmldocs = $(shell find doc/files -name '*.md' \ |
| 37 |
|sed 's|.md|.html|g' \ |
| 38 |
|sed 's|doc/files/|html/doc/files/|g' ) \ |
| 39 |
html/doc/files/npm-json.html \ |
| 40 |
html/doc/files/npm-global.html |
| 41 |
|
| 42 |
misc_htmldocs = $(shell find doc/misc -name '*.md' \ |
| 43 |
|sed 's|.md|.html|g' \ |
| 44 |
|sed 's|doc/misc/|html/doc/misc/|g' ) \ |
| 45 |
html/doc/index.html |
| 46 |
|
| 47 |
mandocs = $(cli_mandocs) $(files_mandocs) $(misc_mandocs) |
| 48 |
|
| 49 |
htmldocs = $(cli_htmldocs) $(files_htmldocs) $(misc_htmldocs) |
| 50 |
|
| 51 |
all: doc |
| 52 |
|
| 53 |
latest: |
| 54 |
@echo "Installing latest published npm" |
| 55 |
@echo "Use 'make install' or 'make link' to install the code" |
| 56 |
@echo "in this folder that you're looking at right now." |
| 57 |
node bin/npm-cli.js install -g -f npm ${NPMOPTS}
|
| 58 |
|
| 59 |
install: all |
| 60 |
node bin/npm-cli.js install -g -f ${NPMOPTS} $(shell node bin/npm-cli.js pack | tail -1)
|
| 61 |
|
| 62 |
# backwards compat |
| 63 |
dev: install |
| 64 |
|
| 65 |
link: uninstall |
| 66 |
node bin/npm-cli.js link -f |
| 67 |
|
| 68 |
clean: markedclean marked-manclean doc-clean uninstall |
| 69 |
rm -rf npmrc |
| 70 |
node bin/npm-cli.js cache clean |
| 71 |
|
| 72 |
uninstall: |
| 73 |
node bin/npm-cli.js rm npm -g -f |
| 74 |
|
| 75 |
doc: $(mandocs) $(htmldocs) |
| 76 |
|
| 77 |
markedclean: |
| 78 |
rm -rf node_modules/marked node_modules/.bin/marked .building_marked |
| 79 |
|
| 80 |
marked-manclean: |
| 81 |
rm -rf node_modules/marked-man node_modules/.bin/marked-man .building_marked-man |
| 82 |
|
| 83 |
docclean: doc-clean |
| 84 |
doc-clean: |
| 85 |
rm -rf \ |
| 86 |
.building_marked \ |
| 87 |
.building_marked-man \ |
| 88 |
html/doc \ |
| 89 |
man |
| 90 |
|
| 91 |
# use `npm install marked-man` for this to work. |
| 92 |
man/man1/npm-README.1: README.md scripts/doc-build.sh package.json |
| 93 |
@[ -d man/man1 ] || mkdir -p man/man1 |
| 94 |
scripts/doc-build.sh $< $@ |
| 95 |
|
| 96 |
man/man1/%.1: doc/cli/%.md scripts/doc-build.sh package.json |
| 97 |
@[ -d man/man1 ] || mkdir -p man/man1 |
| 98 |
scripts/doc-build.sh $< $@ |
| 99 |
|
| 100 |
man/man1/npx.1: node_modules/libnpx/libnpx.1 |
| 101 |
cat $< | sed s/libnpx/npx/ > $@ |
| 102 |
|
| 103 |
man/man5/npm-json.5: man/man5/package.json.5 |
| 104 |
cp $< $@ |
| 105 |
|
| 106 |
man/man5/npm-global.5: man/man5/npm-folders.5 |
| 107 |
cp $< $@ |
| 108 |
|
| 109 |
man/man5/%.5: doc/files/%.md scripts/doc-build.sh package.json |
| 110 |
@[ -d man/man5 ] || mkdir -p man/man5 |
| 111 |
scripts/doc-build.sh $< $@ |
| 112 |
|
| 113 |
doc/misc/npm-index.md: scripts/index-build.js package.json |
| 114 |
node scripts/index-build.js > $@ |
| 115 |
|
| 116 |
html/doc/index.html: doc/misc/npm-index.md $(html_docdeps) |
| 117 |
@[ -d html/doc ] || mkdir -p html/doc |
| 118 |
scripts/doc-build.sh $< $@ |
| 119 |
|
| 120 |
man/man7/%.7: doc/misc/%.md scripts/doc-build.sh package.json |
| 121 |
@[ -d man/man7 ] || mkdir -p man/man7 |
| 122 |
scripts/doc-build.sh $< $@ |
| 123 |
|
| 124 |
html/doc/README.html: README.md $(html_docdeps) |
| 125 |
@[ -d html/doc ] || mkdir -p html/doc |
| 126 |
scripts/doc-build.sh $< $@ |
| 127 |
|
| 128 |
html/doc/cli/%.html: doc/cli/%.md $(html_docdeps) |
| 129 |
@[ -d html/doc/cli ] || mkdir -p html/doc/cli |
| 130 |
scripts/doc-build.sh $< $@ |
| 131 |
|
| 132 |
html/doc/files/npm-json.html: html/doc/files/package.json.html |
| 133 |
cp $< $@ |
| 134 |
|
| 135 |
html/doc/files/npm-global.html: html/doc/files/npm-folders.html |
| 136 |
cp $< $@ |
| 137 |
|
| 138 |
html/doc/files/%.html: doc/files/%.md $(html_docdeps) |
| 139 |
@[ -d html/doc/files ] || mkdir -p html/doc/files |
| 140 |
scripts/doc-build.sh $< $@ |
| 141 |
|
| 142 |
html/doc/misc/%.html: doc/misc/%.md $(html_docdeps) |
| 143 |
@[ -d html/doc/misc ] || mkdir -p html/doc/misc |
| 144 |
scripts/doc-build.sh $< $@ |
| 145 |
|
| 146 |
|
| 147 |
marked: node_modules/.bin/marked |
| 148 |
|
| 149 |
node_modules/.bin/marked: |
| 150 |
node bin/npm-cli.js install marked --no-global --no-timing --no-save |
| 151 |
|
| 152 |
marked-man: node_modules/.bin/marked-man |
| 153 |
|
| 154 |
node_modules/.bin/marked-man: |
| 155 |
node bin/npm-cli.js install marked-man --no-global --no-timing --no-save |
| 156 |
|
| 157 |
doc: man |
| 158 |
|
| 159 |
man: $(cli_docs) |
| 160 |
|
| 161 |
test: doc |
| 162 |
node bin/npm-cli.js test |
| 163 |
|
| 164 |
tag: |
| 165 |
node bin/npm-cli.js tag npm@$(PUBLISHTAG) latest |
| 166 |
|
| 167 |
ls-ok: |
| 168 |
node . ls >/dev/null |
| 169 |
|
| 170 |
gitclean: |
| 171 |
git clean -fd |
| 172 |
|
| 173 |
publish: gitclean ls-ok link doc-clean doc |
| 174 |
@git push origin :v$(shell node bin/npm-cli.js --no-timing -v) 2>&1 || true |
| 175 |
git push origin $(BRANCH) &&\ |
| 176 |
git push origin --tags &&\ |
| 177 |
node bin/npm-cli.js publish --tag=$(PUBLISHTAG) |
| 178 |
|
| 179 |
release: gitclean ls-ok markedclean marked-manclean doc-clean doc |
| 180 |
node bin/npm-cli.js prune --production --no-save |
| 181 |
@bash scripts/release.sh |
| 182 |
|
| 183 |
sandwich: |
| 184 |
@[ $$(whoami) = "root" ] && (echo "ok"; echo "ham" > sandwich) || (echo "make it yourself" && exit 13) |
| 185 |
|
| 186 |
.PHONY: all latest install dev link doc clean uninstall test man doc-clean docclean release ls-ok realclean |