Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 123 lines (89 sloc) 3.402 kb
64b4d65 explicitly set bash as the shell since the makefile uses bash-isms
gflarity authored
1 SHELL = bash
2
cc34185 @isaacs doc/index.md depends on readme
isaacs authored
3 markdowns = $(shell find doc -name '*.md' | grep -v 'index') README.md
8fdd60d @isaacs Build an index of all html documentation files
isaacs authored
4
308dd42 @isaacs Merge branch 'api-doc' into api-doc2
isaacs authored
5 cli_mandocs = $(shell find doc/cli -name '*.md' \
6 |sed 's|.md|.1|g' \
7 |sed 's|doc/cli/|man/man1/|g' ) \
8 man/man1/README.1 \
9 man/man1/index.1
10
11 api_mandocs = $(shell find doc/api -name '*.md' \
12 |sed 's|.md|.3|g' \
13 |sed 's|doc/api/|man/man3/|g' )
14
15 cli_htmldocs = $(shell find doc/cli -name '*.md' \
16 |grep -v 'index.md' \
17 |sed 's|.md|.html|g' \
18 |sed 's|doc/cli/|html/doc/|g' ) \
19 html/doc/README.html \
20 html/doc/index.html
21
22 api_htmldocs = $(shell find doc/api -name '*.md' \
23 |sed 's|.md|.html|g' \
24 |sed 's|doc/api/|html/api/|g' )
25
26 mandocs = $(api_mandocs) $(cli_mandocs)
27
28 htmldocs = $(api_htmldocs) $(cli_htmldocs)
0e151fc @isaacs build submodules in make process
isaacs authored
29
205a056 @isaacs Close #1445 'make' should build docs as well
isaacs authored
30 all: submodules doc
31
0e151fc @isaacs build submodules in make process
isaacs authored
32 submodules:
007fedb @isaacs Update submodules recursively in make
isaacs authored
33 ! [ -d .git ] || git submodule update --init --recursive
86c296f @isaacs Add commands to make man files from the docs.
isaacs authored
34
d7d8662 @isaacs Closes GH-609 `make install` installs current, not latest
isaacs authored
35 latest: submodules
36 @echo "Installing latest published npm"
37 @echo "Use 'make install' or 'make link' to install the code"
38 @echo "in this folder that you're looking at right now."
4325dcc @isaacs fix make latest
isaacs authored
39 node cli.js install -g -f npm
743d387 @isaacs Improve install process.
isaacs authored
40
205a056 @isaacs Close #1445 'make' should build docs as well
isaacs authored
41 install: all
364dfc6 @isaacs Clobber in Makefile
isaacs authored
42 node cli.js install -g -f
743d387 @isaacs Improve install process.
isaacs authored
43
d7d8662 @isaacs Closes GH-609 `make install` installs current, not latest
isaacs authored
44 # backwards compat
45 dev: install
46
db9ee01 @isaacs clean when linking
isaacs authored
47 link: uninstall
364dfc6 @isaacs Clobber in Makefile
isaacs authored
48 node cli.js link -f
e0c6abb @isaacs Add 'clean' make target
isaacs authored
49
205a056 @isaacs Close #1445 'make' should build docs as well
isaacs authored
50 clean: doc-clean uninstall
c7ec9b5 @isaacs No need to clean cache as often, makes search slow
isaacs authored
51 node cli.js cache clean
743d387 @isaacs Improve install process.
isaacs authored
52
0e151fc @isaacs build submodules in make process
isaacs authored
53 uninstall: submodules
94df8f3 @isaacs Support npm_debug env in install script
isaacs authored
54 node cli.js rm npm -g -f
86c296f @isaacs Add commands to make man files from the docs.
isaacs authored
55
205a056 @isaacs Close #1445 'make' should build docs as well
isaacs authored
56 doc: node_modules/ronn $(mandocs) $(htmldocs)
c638e80 @isaacs Add a makefile to build the man page.
isaacs authored
57
64ff08f @isaacs Alias doc-clean and doc-publish to docclean and docpublish
isaacs authored
58 docclean: doc-clean
928bb81 @isaacs Update version in doc
isaacs authored
59 doc-clean:
308dd42 @isaacs Merge branch 'api-doc' into api-doc2
isaacs authored
60 rm -rf \
61 node_modules/ronn \
62 doc/cli/index.md \
63 doc/api/index.md \
64 $(api_mandocs) \
65 $(cli_mandocs) \
66 $(api_htmldocs) \
67 $(cli_htmldocs) \
68 &>/dev/null || true
205a056 @isaacs Close #1445 'make' should build docs as well
isaacs authored
69
70 node_modules/ronn:
71 node cli.js install git+https://github.com/isaacs/ronnjs.git
928bb81 @isaacs Update version in doc
isaacs authored
72
f2ccd17 @isaacs Use ronnjs instead of the ronn rubygem to build docs
isaacs authored
73 # use `npm install ronn` for this to work.
308dd42 @isaacs Merge branch 'api-doc' into api-doc2
isaacs authored
74 man/man1/README.1: README.md scripts/doc-build.sh package.json
75 scripts/doc-build.sh $< $@
76
1f67836 @isaacs Makefile: cli docs live in doc/cli/%.md
isaacs authored
77 man/man1/%.1: doc/cli/%.md scripts/doc-build.sh package.json
88c9df2 @isaacs Depending on a folder is dumb
isaacs authored
78 @[ -d man/man1 ] || mkdir -p man/man1
bf46460 @isaacs Abstract doc building to a separate script
isaacs authored
79 scripts/doc-build.sh $< $@
30818ab @isaacs html docs
isaacs authored
80
88c9df2 @isaacs Depending on a folder is dumb
isaacs authored
81 man/man3/%.3: doc/api/%.md scripts/doc-build.sh package.json
82 @[ -d man/man3 ] || mkdir -p man/man3
bf46460 @isaacs Abstract doc building to a separate script
isaacs authored
83 scripts/doc-build.sh $< $@
ec66825 @isaacs Fold the README into the html doc build
isaacs authored
84
7ce63c3 @isaacs docs include version
isaacs authored
85 html/doc/README.html: README.md html/dochead.html html/docfoot.html scripts/doc-build.sh package.json
bf46460 @isaacs Abstract doc building to a separate script
isaacs authored
86 scripts/doc-build.sh $< $@
ec66825 @isaacs Fold the README into the html doc build
isaacs authored
87
308dd42 @isaacs Merge branch 'api-doc' into api-doc2
isaacs authored
88 html/doc/%.html: doc/cli/%.md html/dochead.html html/docfoot.html scripts/doc-build.sh package.json
bf46460 @isaacs Abstract doc building to a separate script
isaacs authored
89 scripts/doc-build.sh $< $@
90
308dd42 @isaacs Merge branch 'api-doc' into api-doc2
isaacs authored
91 html/api/%.html: doc/api/%.md html/dochead.html html/docfoot.html scripts/doc-build.sh package.json
92 scripts/doc-build.sh $< $@
93
94 doc/cli/index.md: $(markdowns) scripts/index-build.js scripts/doc-build.sh package.json
95 node scripts/index-build.js > $@
96
5021c4d @isaacs folder structure change
isaacs authored
97 doc: man
dbee5c3 @isaacs Change the way npm help works, so that it will work with man programs th...
isaacs authored
98
cf3d925 @isaacs Correct `make doc` and `make man`
isaacs authored
99 man: $(cli_docs) $(api_docs)
86c296f @isaacs Add commands to make man files from the docs.
isaacs authored
100
0e151fc @isaacs build submodules in make process
isaacs authored
101 test: submodules
176f12e @isaacs Move test command into package.json
isaacs authored
102 node cli.js test
90c9ec8 @isaacs Make test (quietly)
isaacs authored
103
5846adf @isaacs version bumper
isaacs authored
104 version: link
4f0d334 @isaacs Less warning, better style
isaacs authored
105 git add package.json &&\
106 git ci -m v$(shell npm -v)
5846adf @isaacs version bumper
isaacs authored
107
108 publish: link
4f0d334 @isaacs Less warning, better style
isaacs authored
109 git tag -s -m v$(shell npm -v) v$(shell npm -v) &&\
7547328 @isaacs Update 'make publish' to push tags to github, too
isaacs authored
110 git push origin master --tags &&\
bf46460 @isaacs Abstract doc building to a separate script
isaacs authored
111 npm publish &&\
112 make doc-publish
113
64ff08f @isaacs Alias doc-clean and doc-publish to docclean and docpublish
isaacs authored
114 docpublish: doc-publish
bf46460 @isaacs Abstract doc building to a separate script
isaacs authored
115 doc-publish: doc
116 rsync -vazu --stats --no-implied-dirs --delete html/doc/ npmjs.org:/var/www/npmjs.org/public/doc
308dd42 @isaacs Merge branch 'api-doc' into api-doc2
isaacs authored
117 rsync -vazu --stats --no-implied-dirs --delete html/api/ npmjs.org:/var/www/npmjs.org/public/api
2d27e74 @isaacs Add a 'publish' make target
isaacs authored
118
64ff08f @isaacs Alias doc-clean and doc-publish to docclean and docpublish
isaacs authored
119 sandwich:
120 @[ $$(whoami) = "root" ] && (echo "ok"; echo "ham" > sandwich) || echo "make it yourself"
121
122 .PHONY: all latest install dev link doc clean uninstall test man doc-publish doc-clean docclean docpublish
Something went wrong with that request. Please try again.