root / HServer / 00.Server / 00.Program / node_modules / npm / Makefile
이력 | 보기 | 이력해설 | 다운로드 (5.16 KB)
| 1 | 39 | HKM | # 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 |