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 |