Welcome to mirror list, hosted at ThFree Co, Russian Federation.

Makefile - github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: e10381baf7f8ef83e0fd2a2111b93e01a1e6282b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
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