Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 444 lines (353 sloc) 13.019 kb
e493b29 Ben Noordhuis build: respect --debug configure switch
bnoordhuis authored
1 -include config.mk
2
14b04b0 ry Remove SCONS deprecate WAF
ry authored
3 BUILDTYPE ?= Release
472a72d Ben Noordhuis build: honour the PYTHON environment variable
bnoordhuis authored
4 PYTHON ?= python
7b6d3ce Ben Noordhuis build: add ninja support to Makefile
bnoordhuis authored
5 NINJA ?= ninja
ea50ebd skenqbx build: support make install "DESTDIR=/path"
skenqbx authored
6 DESTDIR ?=
2dd710e isaacs build: Sign pkg installer for OS X
isaacs authored
7 SIGN ?=
ddf4d1a Olof Johansson install: Support $(PREFIX) install target directory prefix
olof authored
8 PREFIX ?= /usr/local
90ab079 ry Use --jobs=1 with WAF
ry authored
9
0e59efd isaacs make: Add benchmark make targets
isaacs authored
10 NODE ?= ./node
11
8656c26 isaacs Fix #3761 build: Default to V=1
isaacs authored
12 # Default to verbose builds.
13 # To do quiet/pretty builds, run `make V=` to set V to an empty string,
14 # or set the V environment variable to an empty string.
15 V ?= 1
16
d046e9d Ben Noordhuis build: make ninja build respect V=
bnoordhuis authored
17 ifeq ($(USE_NINJA),1)
18 ifneq ($(V),)
19 NINJA := $(NINJA) -v
20 endif
21 endif
22
f89beaf Ben Noordhuis build: compile release build too if BUILDTYPE=Debug
bnoordhuis authored
23 # BUILDTYPE=Debug builds both release and debug builds. If you want to compile
24 # just the debug build, run `make -C out BUILDTYPE=Debug` instead.
10d92b3 ry saner targets
ry authored
25 ifeq ($(BUILDTYPE),Release)
26 all: out/Makefile node
27 else
f89beaf Ben Noordhuis build: compile release build too if BUILDTYPE=Debug
bnoordhuis authored
28 all: out/Makefile node node_g
10d92b3 ry saner targets
ry authored
29 endif
30
bb8f734 ry Fix make targets so they detect changes
ry authored
31 # The .PHONY is needed to ensure that we recursively use the out/Makefile
32 # to check for changes.
33 .PHONY: node node_g
10d92b3 ry saner targets
ry authored
34
7b6d3ce Ben Noordhuis build: add ninja support to Makefile
bnoordhuis authored
35 ifeq ($(USE_NINJA),1)
36 node: config.gypi
37 $(NINJA) -C out/Release/
38 ln -fs out/Release/node node
39
40 node_g: config.gypi
41 $(NINJA) -C out/Debug/
42 ln -fs out/Debug/node $@
43 else
ef3617c Bearice Ren build: fix `make -j' fails after `make clean'
bearice authored
44 node: config.gypi out/Makefile
8656c26 isaacs Fix #3761 build: Default to V=1
isaacs authored
45 $(MAKE) -C out BUILDTYPE=Release V=$(V)
bb8f734 ry Fix make targets so they detect changes
ry authored
46 ln -fs out/Release/node node
10d92b3 ry saner targets
ry authored
47
ef3617c Bearice Ren build: fix `make -j' fails after `make clean'
bearice authored
48 node_g: config.gypi out/Makefile
8656c26 isaacs Fix #3761 build: Default to V=1
isaacs authored
49 $(MAKE) -C out BUILDTYPE=Debug V=$(V)
7b6d3ce Ben Noordhuis build: add ninja support to Makefile
bnoordhuis authored
50 ln -fs out/Debug/node $@
51 endif
e5a0fbe Rasmus Added support for cross compilation and also fixed DEST_CPU to represent...
rsms authored
52
dfb1191 Trevor Norris src: update v8 build requirements
trevnorris authored
53 out/Makefile: common.gypi deps/uv/uv.gyp deps/http_parser/http_parser.gyp deps/zlib/zlib.gyp deps/v8/build/toolchain.gypi deps/v8/build/features.gypi deps/v8/tools/gyp/v8.gyp node.gyp config.gypi
7b6d3ce Ben Noordhuis build: add ninja support to Makefile
bnoordhuis authored
54 ifeq ($(USE_NINJA),1)
55 touch out/Makefile
2010985 Timothy J Fontaine gyp: update to bebdcea
tjfontaine authored
56 $(PYTHON) tools/gyp_node.py -f ninja
7b6d3ce Ben Noordhuis build: add ninja support to Makefile
bnoordhuis authored
57 else
2010985 Timothy J Fontaine gyp: update to bebdcea
tjfontaine authored
58 $(PYTHON) tools/gyp_node.py -f make
7b6d3ce Ben Noordhuis build: add ninja support to Makefile
bnoordhuis authored
59 endif
60
61 config.gypi: configure
c75251c Ben Noordhuis build: don't auto-destroy existing configuration
bnoordhuis authored
62 if [ -f $@ ]; then
63 $(error Stale $@, please re-run ./configure)
64 else
65 $(error No $@, please run ./configure first)
66 fi
e5a0fbe Rasmus Added support for cross compilation and also fixed DEST_CPU to represent...
rsms authored
67
be23c51 Fedor Indutny Implement make install
indutny authored
68 install: all
ddf4d1a Olof Johansson install: Support $(PREFIX) install target directory prefix
olof authored
69 $(PYTHON) tools/install.py $@ '$(DESTDIR)' '$(PREFIX)'
be23c51 Fedor Indutny Implement make install
indutny authored
70
71 uninstall:
ddf4d1a Olof Johansson install: Support $(PREFIX) install target directory prefix
olof authored
72 $(PYTHON) tools/install.py $@ '$(DESTDIR)' '$(PREFIX)'
1db9a2a Ben Noordhuis build: print "not yet implemented" warning on `make install`
bnoordhuis authored
73
14b04b0 ry Remove SCONS deprecate WAF
ry authored
74 clean:
7abbda8 isaacs Make rules for release blog post and email message
isaacs authored
75 -rm -rf out/Makefile node node_g out/$(BUILDTYPE)/node blog.html email.md
02c1cb5 isaacs Makefile: Don't use ** in globs
isaacs authored
76 -find out/ -name '*.o' -o -name '*.a' | xargs rm -rf
e63c782 isaacs Tests for memory leaks
isaacs authored
77 -rm -rf node_modules
bf0d278 ry Improve "make dist" remove generated doc from repo.
ry authored
78
14b04b0 ry Remove SCONS deprecate WAF
ry authored
79 distclean:
48d21dd ry Force makefile generation in gyp
ry authored
80 -rm -rf out
a308395 Steven R. Loomis build: i18n: add icu config options
srl295 authored
81 -rm -f config.gypi icu_config.gypi
0787287 Nathan Rajlich build: remove 'config.mk' during `make distclean`
TooTallNate authored
82 -rm -f config.mk
7abbda8 isaacs Make rules for release blog post and email message
isaacs authored
83 -rm -rf node node_g blog.html email.md
e63c782 isaacs Tests for memory leaks
isaacs authored
84 -rm -rf node_modules
a308395 Steven R. Loomis build: i18n: add icu config options
srl295 authored
85 -rm -rf deps/icu
86 -rm -rf deps/icu4c*.tgz deps/icu4c*.zip deps/icu-tmp
15594ea ry Replace WAF with make/autoconf
ry authored
87
eaf607e isaacs test: No need for weak in 'make test'
isaacs authored
88 test: all
472a72d Ben Noordhuis build: honour the PYTHON environment variable
bnoordhuis authored
89 $(PYTHON) tools/test.py --mode=release simple message
624788d Ben Noordhuis Makefile: DRY js lint
bnoordhuis authored
90 $(MAKE) jslint
ccf8f3e Fedor Indutny make: add `cpplint` to `test` target
indutny authored
91 $(MAKE) cpplint
bf0d278 ry Improve "make dist" remove generated doc from repo.
ry authored
92
38f948a Ben Noordhuis http: make http2 the default, legacy backend is available with --use-htt...
bnoordhuis authored
93 test-http1: all
472a72d Ben Noordhuis build: honour the PYTHON environment variable
bnoordhuis authored
94 $(PYTHON) tools/test.py --mode=release --use-http1 simple message
e1bb241 Ben Noordhuis test: add targets `test-http2` and `test-all-http2`
bnoordhuis authored
95
d02131d ry Add 'make test-valgrind'
ry authored
96 test-valgrind: all
472a72d Ben Noordhuis build: honour the PYTHON environment variable
bnoordhuis authored
97 $(PYTHON) tools/test.py --mode=release --valgrind simple message
d02131d ry Add 'make test-valgrind'
ry authored
98
1189571 Ben Noordhuis build: fix test-gc weakref build rule
bnoordhuis authored
99 test/gc/node_modules/weak/build/Release/weakref.node:
e63c782 isaacs Tests for memory leaks
isaacs authored
100 @if [ ! -f node ]; then make all; fi
6a8b5b3 Nathan Rajlich test: bundle node-weak in test/gc so that it doesn't need to be download...
TooTallNate authored
101 ./node deps/npm/node_modules/node-gyp/bin/node-gyp rebuild \
102 --directory="$(shell pwd)/test/gc/node_modules/weak" \
103 --nodedir="$(shell pwd)"
e63c782 isaacs Tests for memory leaks
isaacs authored
104
1442c1c Fedor Indutny addons: build and test examples
indutny authored
105 build-addons:
106 @if [ ! -f node ]; then make all; fi
107 rm -rf test/addons/doc-*/
108 ./node tools/doc/addon-verify.js
109 $(foreach dir, \
110 $(sort $(dir $(wildcard test/addons/*/*.gyp))), \
111 ./node deps/npm/node_modules/node-gyp/bin/node-gyp rebuild \
112 --directory="$(shell pwd)/$(dir)" \
113 --nodedir="$(shell pwd)" && ) echo "build done"
114
1189571 Ben Noordhuis build: fix test-gc weakref build rule
bnoordhuis authored
115 test-gc: all test/gc/node_modules/weak/build/Release/weakref.node
e63c782 isaacs Tests for memory leaks
isaacs authored
116 $(PYTHON) tools/test.py --mode=release gc
117
1442c1c Fedor Indutny addons: build and test examples
indutny authored
118 test-build: all build-addons
119
120 test-all: test-build test/gc/node_modules/weak/build/Release/weakref.node
e63c782 isaacs Tests for memory leaks
isaacs authored
121 $(PYTHON) tools/test.py --mode=debug,release
122 make test-npm
861f28f ry Don't unnecessarily output the makefile from the configure script.
ry authored
123
1442c1c Fedor Indutny addons: build and test examples
indutny authored
124 test-all-http1: test-build
472a72d Ben Noordhuis build: honour the PYTHON environment variable
bnoordhuis authored
125 $(PYTHON) tools/test.py --mode=debug,release --use-http1
e1bb241 Ben Noordhuis test: add targets `test-http2` and `test-all-http2`
bnoordhuis authored
126
1442c1c Fedor Indutny addons: build and test examples
indutny authored
127 test-all-valgrind: test-build
472a72d Ben Noordhuis build: honour the PYTHON environment variable
bnoordhuis authored
128 $(PYTHON) tools/test.py --mode=debug,release --valgrind
d02131d ry Add 'make test-valgrind'
ry authored
129
1442c1c Fedor Indutny addons: build and test examples
indutny authored
130 test-release: test-build
472a72d Ben Noordhuis build: honour the PYTHON environment variable
bnoordhuis authored
131 $(PYTHON) tools/test.py --mode=release
6670154 ry 'make test' only runs the simple test
ry authored
132
1442c1c Fedor Indutny addons: build and test examples
indutny authored
133 test-debug: test-build
472a72d Ben Noordhuis build: honour the PYTHON environment variable
bnoordhuis authored
134 $(PYTHON) tools/test.py --mode=debug
861f28f ry Don't unnecessarily output the makefile from the configure script.
ry authored
135
1442c1c Fedor Indutny addons: build and test examples
indutny authored
136 test-message: test-build
472a72d Ben Noordhuis build: honour the PYTHON environment variable
bnoordhuis authored
137 $(PYTHON) tools/test.py message
125b868 ry Add message tests
ry authored
138
97c9745 ry Back to WAF
ry authored
139 test-simple: all
472a72d Ben Noordhuis build: honour the PYTHON environment variable
bnoordhuis authored
140 $(PYTHON) tools/test.py simple
ade8cf9 Micheil Smith Build API page into build/doc; simplify doctool.
miksago authored
141
d2952cc Timothy J Fontaine test: migrate pummel/keep-alive to wrk
tjfontaine authored
142 test-pummel: all wrk
472a72d Ben Noordhuis build: honour the PYTHON environment variable
bnoordhuis authored
143 $(PYTHON) tools/test.py pummel
ade8cf9 Micheil Smith Build API page into build/doc; simplify doctool.
miksago authored
144
97c9745 ry Back to WAF
ry authored
145 test-internet: all
472a72d Ben Noordhuis build: honour the PYTHON environment variable
bnoordhuis authored
146 $(PYTHON) tools/test.py internet
04fac19 Arlo Breault Split tests.
arlolra authored
147
574f714 Timothy J Fontaine test: move debugger repl into own section
tjfontaine authored
148 test-debugger: all
149 $(PYTHON) tools/test.py debugger
150
f7f8af8 ry Merge remote branch 'origin/v0.6'
ry authored
151 test-npm: node
272aa58 Forrest L Norvell test: more thorough tests for npm
othiym23 authored
152 rm -rf npm-cache npm-tmp npm-prefix
153 mkdir npm-cache npm-tmp npm-prefix
154 cd deps/npm ; npm_config_cache="$(shell pwd)/npm-cache" \
155 npm_config_prefix="$(shell pwd)/npm-prefix" \
156 npm_config_tmp="$(shell pwd)/npm-tmp" \
157 ../../node cli.js install
158 cd deps/npm ; npm_config_cache="$(shell pwd)/npm-cache" \
159 npm_config_prefix="$(shell pwd)/npm-prefix" \
160 npm_config_tmp="$(shell pwd)/npm-tmp" \
161 ../../node cli.js run-script test-all && \
162 ../../node cli.js prune --prod && \
163 cd ../.. && \
164 rm -rf npm-cache npm-tmp npm-prefix
d75de86 isaacs add 'make test-npm'
isaacs authored
165
f7f8af8 ry Merge remote branch 'origin/v0.6'
ry authored
166 test-npm-publish: node
d75de86 isaacs add 'make test-npm'
isaacs authored
167 npm_package_config_publishtest=true ./node deps/npm/test/run.js
15286c8 ry Start 'make test-uv' command
ry authored
168
1442c1c Fedor Indutny addons: build and test examples
indutny authored
169 test-addons: test-build
170 $(PYTHON) tools/test.py --mode=release addons
171
befbbad Julien Gilli timers: backport f8193ab
misterdjules authored
172 test-timers:
173 $(MAKE) --directory=tools faketime
174 $(PYTHON) tools/test.py --mode=release timers
175
176 test-timers-clean:
177 $(MAKE) --directory=tools clean
178
ade8cf9 Micheil Smith Build API page into build/doc; simplify doctool.
miksago authored
179 apidoc_sources = $(wildcard doc/api/*.markdown)
7d6d5e2 isaacs Use new doc generation tool
isaacs authored
180 apidocs = $(addprefix out/,$(apidoc_sources:.markdown=.html)) \
181 $(addprefix out/,$(apidoc_sources:.markdown=.json))
ade8cf9 Micheil Smith Build API page into build/doc; simplify doctool.
miksago authored
182
37376de Timothy J Fontaine website: move website to joyent/node-website
tjfontaine authored
183 apidoc_dirs = out/doc out/doc/api/ out/doc/api/assets
2392775 ry Fix make doc
ry authored
184
a7300c8 ry WAF builds in out/ instead of build/
ry authored
185 apiassets = $(subst api_assets,api/assets,$(addprefix out/,$(wildcard doc/api_assets/*)))
320e002 ry fix 'make doc'
ry authored
186
90d1e47 ry make doc improvements
ry authored
187 website_files = \
a7300c8 ry WAF builds in out/ instead of build/
ry authored
188 out/doc/sh_main.js \
37376de Timothy J Fontaine website: move website to joyent/node-website
tjfontaine authored
189 out/doc/sh_javascript.min.js
190
af69f88 Timothy J Fontaine build: make sure changelog.html is generated
tjfontaine authored
191 doc: $(apidoc_dirs) $(website_files) $(apiassets) $(apidocs) tools/doc/ out/doc/changelog.html node
320e002 ry fix 'make doc'
ry authored
192
641cea0 Timothy J Fontaine doc: build branch versioned docs
tjfontaine authored
193 doc-branch: NODE_DOC_VERSION = v$(shell $(PYTHON) tools/getnodeversion.py | cut -f1,2 -d.)
194 doc-branch: doc
195
ade8cf9 Micheil Smith Build API page into build/doc; simplify doctool.
miksago authored
196 $(apidoc_dirs):
197 mkdir -p $@
2392775 ry Fix make doc
ry authored
198
a7300c8 ry WAF builds in out/ instead of build/
ry authored
199 out/doc/api/assets/%: doc/api_assets/% out/doc/api/assets/
ade8cf9 Micheil Smith Build API page into build/doc; simplify doctool.
miksago authored
200 cp $< $@
201
fecebe1 isaacs build: Regenerate docs for tarball and releases
isaacs authored
202 out/doc/changelog.html: ChangeLog doc/changelog-head.html doc/changelog-foot.html tools/build-changelog.sh node
e066074 isaacs Fix #3089 Build changelog.html for website
isaacs authored
203 bash tools/build-changelog.sh
204
a7300c8 ry WAF builds in out/ instead of build/
ry authored
205 out/doc/%: doc/%
a7af84f isaacs docs: Move images out of the dist tarball
isaacs authored
206 cp -r $< $@
90d1e47 ry make doc improvements
ry authored
207
fecebe1 isaacs build: Regenerate docs for tarball and releases
isaacs authored
208 out/doc/api/%.json: doc/api/%.markdown node
641cea0 Timothy J Fontaine doc: build branch versioned docs
tjfontaine authored
209 NODE_DOC_VERSION=$(NODE_DOC_VERSION) out/Release/node tools/doc/generate.js --format=json $< > $@
7d6d5e2 isaacs Use new doc generation tool
isaacs authored
210
fecebe1 isaacs build: Regenerate docs for tarball and releases
isaacs authored
211 out/doc/api/%.html: doc/api/%.markdown node
641cea0 Timothy J Fontaine doc: build branch versioned docs
tjfontaine authored
212 NODE_DOC_VERSION=$(NODE_DOC_VERSION) out/Release/node tools/doc/generate.js --format=html --template=doc/template.html $< > $@
ade8cf9 Micheil Smith Build API page into build/doc; simplify doctool.
miksago authored
213
7abbda8 isaacs Make rules for release blog post and email message
isaacs authored
214 email.md: ChangeLog tools/email-footer.md
8068f9b isaacs Escape leading # signs in 'make email.md'
isaacs authored
215 bash tools/changelog-head.sh | sed 's|^\* #|* \\#|g' > $@
7abbda8 isaacs Make rules for release blog post and email message
isaacs authored
216 cat tools/email-footer.md | sed -e 's|__VERSION__|'$(VERSION)'|g' >> $@
217
218 blog.html: email.md
3ba9519 isaacs Makefile: minor nit
isaacs authored
219 cat $< | ./node tools/doc/node_modules/.bin/marked > $@
7abbda8 isaacs Make rules for release blog post and email message
isaacs authored
220
861f28f ry Don't unnecessarily output the makefile from the configure script.
ry authored
221 website-upload: doc
ee73132 ry use rsync instead of scp to upload website
ry authored
222 rsync -r out/doc/ node@nodejs.org:~/web/nodejs.org/
066789a isaacs Fix #3001 website update 'latest' links on publish
isaacs authored
223 ssh node@nodejs.org '\
224 rm -f ~/web/nodejs.org/dist/latest &&\
225 ln -s $(VERSION) ~/web/nodejs.org/dist/latest &&\
226 rm -f ~/web/nodejs.org/docs/latest &&\
227 ln -s $(VERSION) ~/web/nodejs.org/docs/latest &&\
228 rm -f ~/web/nodejs.org/dist/node-latest.tar.gz &&\
229 ln -s $(VERSION)/node-$(VERSION).tar.gz ~/web/nodejs.org/dist/node-latest.tar.gz'
ade8cf9 Micheil Smith Build API page into build/doc; simplify doctool.
miksago authored
230
641cea0 Timothy J Fontaine doc: build branch versioned docs
tjfontaine authored
231 doc-branch-upload: NODE_DOC_VERSION = v$(shell $(PYTHON) tools/getnodeversion.py | cut -f1,2 -d.)
232 doc-branch-upload: doc-branch
233 echo $(NODE_DOC_VERSION)
b259f24 Timothy J Fontaine docs: update api location
tjfontaine authored
234 rsync -r out/doc/api/ node@nodejs.org:~/web/nodejs.org/$(NODE_DOC_VERSION)
641cea0 Timothy J Fontaine doc: build branch versioned docs
tjfontaine authored
235
a7300c8 ry WAF builds in out/ instead of build/
ry authored
236 docopen: out/doc/api/all.html
237 -google-chrome out/doc/api/all.html
861f28f ry Don't unnecessarily output the makefile from the configure script.
ry authored
238
2c016ba ry 'make distclean' should not call 'waf clean'
ry authored
239 docclean:
a7300c8 ry WAF builds in out/ instead of build/
ry authored
240 -rm -rf out/doc
2c016ba ry 'make distclean' should not call 'waf clean'
ry authored
241
f1b878c Timothy J Fontaine build: add pkgsrc rule
tjfontaine authored
242 RAWVER=$(shell $(PYTHON) tools/getnodeversion.py)
243 VERSION=v$(RAWVER)
641cea0 Timothy J Fontaine doc: build branch versioned docs
tjfontaine authored
244 NODE_DOC_VERSION=$(VERSION)
64ac54a Nathan Rajlich Makefile: add a better check to ensure a node "release"
TooTallNate authored
245 RELEASE=$(shell $(PYTHON) tools/getnodeisrelease.py)
42aac41 Nathan Rajlich Makefile: add target for precompiled binary tarballs
TooTallNate authored
246 PLATFORM=$(shell uname | tr '[:upper:]' '[:lower:]')
64ac54a Nathan Rajlich Makefile: add a better check to ensure a node "release"
TooTallNate authored
247 ifeq ($(findstring x86_64,$(shell uname -m)),x86_64)
248 DESTCPU ?= x64
8b11f29 Nathan Rajlich Makefile: properly set the ARCH variable when forcing a DESTCPU
TooTallNate authored
249 else
64ac54a Nathan Rajlich Makefile: add a better check to ensure a node "release"
TooTallNate authored
250 DESTCPU ?= ia32
8b11f29 Nathan Rajlich Makefile: properly set the ARCH variable when forcing a DESTCPU
TooTallNate authored
251 endif
64ac54a Nathan Rajlich Makefile: add a better check to ensure a node "release"
TooTallNate authored
252 ifeq ($(DESTCPU),x64)
253 ARCH=x64
254 else
0c9bee4 Adam Malcontenti-Wilson build: support ARM in makefile target 'binary'
adammw authored
255 ifeq ($(DESTCPU),arm)
256 ARCH=arm
257 else
64ac54a Nathan Rajlich Makefile: add a better check to ensure a node "release"
TooTallNate authored
258 ARCH=x86
8b11f29 Nathan Rajlich Makefile: properly set the ARCH variable when forcing a DESTCPU
TooTallNate authored
259 endif
0c9bee4 Adam Malcontenti-Wilson build: support ARM in makefile target 'binary'
adammw authored
260 endif
bf0d278 ry Improve "make dist" remove generated doc from repo.
ry authored
261 TARNAME=node-$(VERSION)
f9ba9f7 Timothy J Fontaine build: define nightly tag external to build system
tjfontaine authored
262 ifdef NIGHTLY
263 TAG = nightly-$(NIGHTLY)
8fe72a7 Timothy J Fontaine build: automatically add tag for nightly builds
tjfontaine authored
264 TARNAME=node-$(VERSION)-$(TAG)
265 endif
317ba9f ry Fix 'make dist'
ry authored
266 TARBALL=$(TARNAME).tar.gz
42aac41 Nathan Rajlich Makefile: add target for precompiled binary tarballs
TooTallNate authored
267 BINARYNAME=$(TARNAME)-$(PLATFORM)-$(ARCH)
268 BINARYTAR=$(BINARYNAME).tar.gz
317ba9f ry Fix 'make dist'
ry authored
269 PKG=out/$(TARNAME).pkg
67f87a7 Julien Gilli build: add small-icu support for binary packages
misterdjules authored
270 PACKAGEMAKER ?= /Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
bf0d278 ry Improve "make dist" remove generated doc from repo.
ry authored
271
f1b878c Timothy J Fontaine build: add pkgsrc rule
tjfontaine authored
272 PKGSRC=nodejs-$(DESTCPU)-$(RAWVER).tgz
273 ifdef NIGHTLY
274 PKGSRC=nodejs-$(DESTCPU)-$(RAWVER)-$(TAG).tgz
275 endif
276
317ba9f ry Fix 'make dist'
ry authored
277 dist: doc $(TARBALL) $(PKG)
5bc1809 ry Add 'make dist-upload'
ry authored
278
9d1bdbc ry Fixes #2084. Makeify tools/osx-dist.sh
ry authored
279 PKGDIR=out/dist-osx
280
dc81813 Nathan Rajlich Makefile: move the release verification logic into a `make release-only`...
TooTallNate authored
281 release-only:
282 @if [ "$(shell git status --porcelain | egrep -v '^\?\? ')" = "" ]; then \
283 exit 0 ; \
284 else \
285 echo "" >&2 ; \
286 echo "The git repository is not clean." >&2 ; \
287 echo "Please commit changes before building release tarball." >&2 ; \
288 echo "" >&2 ; \
289 git status --porcelain | egrep -v '^\?\?' >&2 ; \
290 echo "" >&2 ; \
291 exit 1 ; \
292 fi
f9ba9f7 Timothy J Fontaine build: define nightly tag external to build system
tjfontaine authored
293 @if [ "$(NIGHTLY)" != "" -o "$(RELEASE)" = "1" ]; then \
dc81813 Nathan Rajlich Makefile: move the release verification logic into a `make release-only`...
TooTallNate authored
294 exit 0; \
295 else \
296 echo "" >&2 ; \
64ac54a Nathan Rajlich Makefile: add a better check to ensure a node "release"
TooTallNate authored
297 echo "#NODE_VERSION_IS_RELEASE is set to $(RELEASE)." >&2 ; \
dc81813 Nathan Rajlich Makefile: move the release verification logic into a `make release-only`...
TooTallNate authored
298 echo "Did you remember to update src/node_version.cc?" >&2 ; \
299 echo "" >&2 ; \
300 exit 1 ; \
301 fi
302
9d1bdbc ry Fixes #2084. Makeify tools/osx-dist.sh
ry authored
303 pkg: $(PKG)
304
dc81813 Nathan Rajlich Makefile: move the release verification logic into a `make release-only`...
TooTallNate authored
305 $(PKG): release-only
e60b18b Nathan Rajlich Make a fat binary for the OS X `make pkg`.
TooTallNate authored
306 rm -rf $(PKGDIR)
307 rm -rf out/deps out/Release
67f87a7 Julien Gilli build: add small-icu support for binary packages
misterdjules authored
308 $(PYTHON) ./configure --download=all --with-intl=small-icu \
309 --without-snapshot --dest-cpu=ia32 --tag=$(TAG)
5037f9a Timothy J Fontaine build: only use DESTDIR instead of PREFIX for pkg
tjfontaine authored
310 $(MAKE) install V=$(V) DESTDIR=$(PKGDIR)/32
e60b18b Nathan Rajlich Make a fat binary for the OS X `make pkg`.
TooTallNate authored
311 rm -rf out/deps out/Release
67f87a7 Julien Gilli build: add small-icu support for binary packages
misterdjules authored
312 $(PYTHON) ./configure --download=all --with-intl=small-icu \
313 --without-snapshot --dest-cpu=x64 --tag=$(TAG)
5037f9a Timothy J Fontaine build: only use DESTDIR instead of PREFIX for pkg
tjfontaine authored
314 $(MAKE) install V=$(V) DESTDIR=$(PKGDIR)
5b6464f Timothy J Fontaine build: use separate env vars for signing
tjfontaine authored
315 SIGN="$(APP_SIGN)" PKGDIR="$(PKGDIR)" bash tools/osx-codesign.sh
5037f9a Timothy J Fontaine build: only use DESTDIR instead of PREFIX for pkg
tjfontaine authored
316 lipo $(PKGDIR)/32/usr/local/bin/node \
317 $(PKGDIR)/usr/local/bin/node \
318 -output $(PKGDIR)/usr/local/bin/node-universal \
e60b18b Nathan Rajlich Make a fat binary for the OS X `make pkg`.
TooTallNate authored
319 -create
5037f9a Timothy J Fontaine build: only use DESTDIR instead of PREFIX for pkg
tjfontaine authored
320 mv $(PKGDIR)/usr/local/bin/node-universal $(PKGDIR)/usr/local/bin/node
e60b18b Nathan Rajlich Make a fat binary for the OS X `make pkg`.
TooTallNate authored
321 rm -rf $(PKGDIR)/32
67f87a7 Julien Gilli build: add small-icu support for binary packages
misterdjules authored
322 $(PACKAGEMAKER) \
2dd710e isaacs build: Sign pkg installer for OS X
isaacs authored
323 --id "org.nodejs.Node" \
9d1bdbc ry Fixes #2084. Makeify tools/osx-dist.sh
ry authored
324 --doc tools/osx-pkg.pmdoc \
325 --out $(PKG)
5b6464f Timothy J Fontaine build: use separate env vars for signing
tjfontaine authored
326 SIGN="$(INT_SIGN)" PKG="$(PKG)" bash tools/osx-productsign.sh
5bc1809 ry Add 'make dist-upload'
ry authored
327
dc81813 Nathan Rajlich Makefile: move the release verification logic into a `make release-only`...
TooTallNate authored
328 $(TARBALL): release-only node doc
a1138c6 Micheil Smith Cleanup Makefile for JSLint, CPPLint
miksago authored
329 git archive --format=tar --prefix=$(TARNAME)/ HEAD | tar xf -
c45522d isaacs build: Prevent duplication of doc/api folder
isaacs authored
330 mkdir -p $(TARNAME)/doc/api
bf0d278 ry Improve "make dist" remove generated doc from repo.
ry authored
331 cp doc/node.1 $(TARNAME)/doc/node.1
c45522d isaacs build: Prevent duplication of doc/api folder
isaacs authored
332 cp -r out/doc/api/* $(TARNAME)/doc/api/
ce2d5ad ry Change the 'make dist' to remove v8 test dir
ry authored
333 rm -rf $(TARNAME)/deps/v8/test # too big
a7af84f isaacs docs: Move images out of the dist tarball
isaacs authored
334 rm -rf $(TARNAME)/doc/images # too big
76f6a4a isaacs Remove dep symlinks from tarball
isaacs authored
335 find $(TARNAME)/ -type l | xargs rm # annoying on windows
ce2d5ad ry Change the 'make dist' to remove v8 test dir
ry authored
336 tar -cf $(TARNAME).tar $(TARNAME)
337 rm -rf $(TARNAME)
bf0d278 ry Improve "make dist" remove generated doc from repo.
ry authored
338 gzip -f -9 $(TARNAME).tar
861f28f ry Don't unnecessarily output the makefile from the configure script.
ry authored
339
bd10bf4 Nathan Rajlich Makefile: add `make tar` helper target
TooTallNate authored
340 tar: $(TARBALL)
341
dc81813 Nathan Rajlich Makefile: move the release verification logic into a `make release-only`...
TooTallNate authored
342 $(BINARYTAR): release-only
42aac41 Nathan Rajlich Makefile: add target for precompiled binary tarballs
TooTallNate authored
343 rm -rf $(BINARYNAME)
344 rm -rf out/deps out/Release
67f87a7 Julien Gilli build: add small-icu support for binary packages
misterdjules authored
345 $(PYTHON) ./configure --prefix=/ --download=all --with-intl=small-icu \
346 --without-snapshot --dest-cpu=$(DESTCPU) --tag=$(TAG) $(CONFIG_FLAGS)
42aac41 Nathan Rajlich Makefile: add target for precompiled binary tarballs
TooTallNate authored
347 $(MAKE) install DESTDIR=$(BINARYNAME) V=$(V) PORTABLE=1
348 cp README.md $(BINARYNAME)
349 cp LICENSE $(BINARYNAME)
350 cp ChangeLog $(BINARYNAME)
351 tar -cf $(BINARYNAME).tar $(BINARYNAME)
352 rm -rf $(BINARYNAME)
353 gzip -f -9 $(BINARYNAME).tar
354
eadc2ec Nathan Rajlich Makefile: add `make binary` helper target
TooTallNate authored
355 binary: $(BINARYTAR)
356
f1b878c Timothy J Fontaine build: add pkgsrc rule
tjfontaine authored
357 $(PKGSRC): release-only
358 rm -rf dist out
67f87a7 Julien Gilli build: add small-icu support for binary packages
misterdjules authored
359 $(PYTHON) configure --prefix=/ --without-snapshot --download=all \
360 --with-intl=small-icu --dest-cpu=$(DESTCPU) --tag=$(TAG) \
361 $(CONFIG_FLAGS)
f1b878c Timothy J Fontaine build: add pkgsrc rule
tjfontaine authored
362 $(MAKE) install DESTDIR=dist
363 (cd dist; find * -type f | sort) > packlist
364 pkg_info -X pkg_install | \
365 egrep '^(MACHINE_ARCH|OPSYS|OS_VERSION|PKGTOOLS_VERSION)' > build-info
366 pkg_create -B build-info -c tools/pkgsrc/comment -d tools/pkgsrc/description \
367 -f packlist -I /opt/local -p dist -U $(PKGSRC)
368
369 pkgsrc: $(PKGSRC)
370
716f5bc ry Add make dist-upload
ry authored
371 dist-upload: $(TARBALL) $(PKG)
372 ssh node@nodejs.org mkdir -p web/nodejs.org/dist/$(VERSION)
373 scp $(TARBALL) node@nodejs.org:~/web/nodejs.org/dist/$(VERSION)/$(TARBALL)
374 scp $(PKG) node@nodejs.org:~/web/nodejs.org/dist/$(VERSION)/$(TARNAME).pkg
375
ef08f0f isaacs bench: Use wrk for http benchmarking
isaacs authored
376 wrkclean:
377 $(MAKE) -C tools/wrk/ clean
378 rm tools/wrk/wrk
379
e850cba isaacs tools: Add wrk for benchmarking http servers
isaacs authored
380 wrk: tools/wrk/wrk
381 tools/wrk/wrk:
382 $(MAKE) -C tools/wrk/
383
0e59efd isaacs make: Add benchmark make targets
isaacs authored
384 bench-net: all
385 @$(NODE) benchmark/common.js net
386
bd4d585 isaacs bench: Add bench-crypto
isaacs authored
387 bench-crypto: all
388 @$(NODE) benchmark/common.js crypto
389
0e59efd isaacs make: Add benchmark make targets
isaacs authored
390 bench-tls: all
391 @$(NODE) benchmark/common.js tls
392
ef08f0f isaacs bench: Use wrk for http benchmarking
isaacs authored
393 bench-http: wrk all
0e59efd isaacs make: Add benchmark make targets
isaacs authored
394 @$(NODE) benchmark/common.js http
395
396 bench-fs: all
397 @$(NODE) benchmark/common.js fs
398
399 bench-misc: all
400 @$(MAKE) -C benchmark/misc/function_call/
401 @$(NODE) benchmark/common.js misc
402
403 bench-array: all
404 @$(NODE) benchmark/common.js arrays
405
406 bench-buffer: all
407 @$(NODE) benchmark/common.js buffers
408
1eb6a92 isaacs bench: Only run http,net,fs,tls by default
isaacs authored
409 bench-all: bench bench-misc bench-array bench-buffer
410
411 bench: bench-net bench-http bench-fs bench-tls
0e59efd isaacs make: Add benchmark make targets
isaacs authored
412
413 bench-http-simple:
ff456b3 ry Add 'make bench' script
ry authored
414 benchmark/http_simple_bench.sh
415
3cf4827 ry Add idle connection test
ry authored
416 bench-idle:
417 ./node benchmark/idle_server.js &
418 sleep 1
419 ./node benchmark/idle_clients.js &
420
7fd3cb6 isaacs Build: add jslintfix
isaacs authored
421 jslintfix:
422 PYTHONPATH=tools/closure_linter/ $(PYTHON) tools/closure_linter/closure_linter/fixjsstyle.py --strict --nojsdoc -r lib/ -r src/ --exclude_files lib/punycode.js
423
ac58d3a ry Import cpplint.py
ry authored
424 jslint:
605927f isaacs Fix test/ jslint failures (by not linting tests)
isaacs authored
425 PYTHONPATH=tools/closure_linter/ $(PYTHON) tools/closure_linter/closure_linter/gjslint.py --unix_mode --strict --nojsdoc -r lib/ -r src/ --exclude_files lib/punycode.js
3cf4827 ry Add idle connection test
ry authored
426
ccf8f3e Fedor Indutny make: add `cpplint` to `test` target
indutny authored
427 CPPLINT_EXCLUDE ?=
a622bde Ben Noordhuis cpplint: exclude src/node_win32_perfctr_provider.cc
bnoordhuis authored
428 CPPLINT_EXCLUDE += src/node_dtrace.cc
429 CPPLINT_EXCLUDE += src/node_dtrace.cc
430 CPPLINT_EXCLUDE += src/node_root_certs.h
431 CPPLINT_EXCLUDE += src/node_win32_perfctr_provider.cc
ccf8f3e Fedor Indutny make: add `cpplint` to `test` target
indutny authored
432 CPPLINT_EXCLUDE += src/queue.h
a622bde Ben Noordhuis cpplint: exclude src/node_win32_perfctr_provider.cc
bnoordhuis authored
433 CPPLINT_EXCLUDE += src/tree.h
ccf8f3e Fedor Indutny make: add `cpplint` to `test` target
indutny authored
434 CPPLINT_EXCLUDE += src/v8abbr.h
435
7a0cfe9 Fedor Indutny deps: re-implement debugger-agent
indutny authored
436 CPPLINT_FILES = $(filter-out $(CPPLINT_EXCLUDE), $(wildcard src/*.cc src/*.h src/*.c tools/icu/*.h tools/icu/*.cc deps/debugger-agent/include/* deps/debugger-agent/src/*))
ccf8f3e Fedor Indutny make: add `cpplint` to `test` target
indutny authored
437
ac58d3a ry Import cpplint.py
ry authored
438 cpplint:
ccf8f3e Fedor Indutny make: add `cpplint` to `test` target
indutny authored
439 @$(PYTHON) tools/cpplint.py $(CPPLINT_FILES)
ac58d3a ry Import cpplint.py
ry authored
440
441 lint: jslint cpplint
a128451 ry Import Google's closure_linter
ry authored
442
1442c1c Fedor Indutny addons: build and test examples
indutny authored
443 .PHONY: lint cpplint jslint bench clean docopen docclean doc dist distclean check uninstall install install-includes install-bin all staticlib dynamiclib test test-all test-addons build-addons website-upload pkg blog blogclean tar binary release-only bench-http-simple bench-idle bench-all bench bench-misc bench-array bench-buffer bench-net bench-http bench-fs bench-tls
Something went wrong with that request. Please try again.