5 $(MAKE) -C out BUILDTYPE=$(BUILDTYPE)
6 -ln -fs out/Release/node node
7 -ln -fs out/Debug/node node_g
11 out/Makefile: node.gyp deps/uv/uv.gyp
20 python tools/test.py --mode=release simple message
23 python tools/test.py --mode=release --use-http1 simple message
26 python tools/test.py --mode=release --valgrind simple message
29 python tools/test.py --mode=debug,release
32 python tools/test.py --mode=debug,release --use-http1
34 test-all-valgrind: all
35 python tools/test.py --mode=debug,release --valgrind
38 python tools/test.py --mode=release
41 python tools/test.py --mode=debug
44 python tools/test.py message
47 python tools/test.py simple
50 python tools/test.py pummel
53 python tools/test.py internet
55 UVTEST += simple/test-assert
56 UVTEST += simple/test-buffer
57 UVTEST += simple/test-c-ares
58 UVTEST += simple/test-chdir
59 UVTEST += simple/test-delayed-require
60 UVTEST += simple/test-eio-race2
61 UVTEST += simple/test-eio-race4
62 UVTEST += simple/test-event-emitter-add-listeners
63 UVTEST += simple/test-event-emitter-modify-in-emit
64 UVTEST += simple/test-event-emitter-num-args
65 UVTEST += simple/test-event-emitter-once
66 UVTEST += simple/test-event-emitter-remove-all-listeners
67 UVTEST += simple/test-event-emitter-remove-listeners
68 UVTEST += simple/test-exception-handler
69 UVTEST += simple/test-exception-handler2
70 UVTEST += simple/test-exception-handler
71 UVTEST += simple/test-executable-path
72 UVTEST += simple/test-file-read-noexist
73 UVTEST += simple/test-file-write-stream
74 UVTEST += simple/test-fs-fsync
75 UVTEST += simple/test-fs-open
76 UVTEST += simple/test-fs-readfile-empty
77 UVTEST += simple/test-fs-read-file-sync
78 UVTEST += simple/test-fs-read-file-sync-hostname
79 UVTEST += simple/test-fs-sir-writes-alot
80 UVTEST += simple/test-fs-write
81 UVTEST += simple/test-fs-write-buffer
82 UVTEST += simple/test-fs-write-file
83 UVTEST += simple/test-fs-write-file-buffer
84 UVTEST += simple/test-fs-write-stream
85 UVTEST += simple/test-fs-write-stream-end
86 UVTEST += simple/test-fs-write-sync
87 UVTEST += simple/test-global
88 UVTEST += simple/test-http
89 UVTEST += simple/test-http-1.0
90 UVTEST += simple/test-http-abort-client
91 UVTEST += simple/test-http-allow-req-after-204-res
92 UVTEST += simple/test-http-blank-header
93 UVTEST += simple/test-http-buffer-sanity
94 UVTEST += simple/test-http-cat
95 UVTEST += simple/test-http-chunked
96 UVTEST += simple/test-http-client-abort
97 UVTEST += simple/test-http-client-parse-error
98 UVTEST += simple/test-http-client-race
99 UVTEST += simple/test-http-client-race-2
100 UVTEST += simple/test-http-client-upload
101 UVTEST += simple/test-http-client-upload-buf
102 UVTEST += simple/test-http-contentLength0
103 UVTEST += simple/test-http-default-encoding
104 UVTEST += simple/test-http-dns-fail
105 UVTEST += simple/test-http-eof-on-connect
106 UVTEST += simple/test-http-exceptions
107 UVTEST += simple/test-http-expect-continue
108 UVTEST += simple/test-http-extra-response
109 UVTEST += simple/test-http-head-request
110 UVTEST += simple/test-http-head-response-has-no-body
111 UVTEST += simple/test-http-keep-alive
112 UVTEST += simple/test-http-keep-alive-close-on-header
113 UVTEST += simple/test-http-malformed-request
114 UVTEST += simple/test-http-many-keep-alive-connections
115 UVTEST += simple/test-http-mutable-headers
116 UVTEST += simple/test-http-parser
117 UVTEST += simple/test-http-proxy
118 UVTEST += simple/test-http-request-end
119 UVTEST += simple/test-http-response-close
120 UVTEST += simple/test-http-response-readable
121 UVTEST += simple/test-http-unix-socket
122 UVTEST += simple/test-http-server
123 UVTEST += simple/test-http-server-multiheaders
124 UVTEST += simple/test-http-set-cookies
125 UVTEST += simple/test-http-set-timeout
126 UVTEST += simple/test-http-set-trailers
127 UVTEST += simple/test-http-upgrade-agent
128 UVTEST += simple/test-http-upgrade-client
129 UVTEST += simple/test-http-upgrade-client2
130 UVTEST += simple/test-http-upgrade-server
131 UVTEST += simple/test-http-upgrade-server2
132 UVTEST += simple/test-http-wget
133 UVTEST += simple/test-http-write-empty-string
134 UVTEST += simple/test-http-wget
135 UVTEST += simple/test-mkdir-rmdir
136 UVTEST += simple/test-net-binary
137 UVTEST += simple/test-net-pingpong
138 UVTEST += simple/test-net-can-reset-timeout
139 UVTEST += simple/test-net-connect-buffer
140 UVTEST += simple/test-net-connect-timeout
141 UVTEST += simple/test-net-create-connection
142 UVTEST += simple/test-net-eaddrinuse
143 UVTEST += simple/test-net-isip
144 UVTEST += simple/test-net-keepalive
145 UVTEST += simple/test-net-pingpong
146 UVTEST += simple/test-net-reconnect
147 UVTEST += simple/test-net-remote-address-port
148 UVTEST += simple/test-net-server-bind
149 UVTEST += simple/test-net-server-max-connections
150 UVTEST += simple/test-net-server-try-ports
151 UVTEST += simple/test-net-stream
152 UVTEST += simple/test-net-socket-timeout
153 UVTEST += simple/test-next-tick
154 UVTEST += simple/test-next-tick-doesnt-hang
155 UVTEST += simple/test-next-tick-errors
156 UVTEST += simple/test-next-tick-ordering
157 UVTEST += simple/test-next-tick-ordering2
158 UVTEST += simple/test-next-tick-starvation
159 UVTEST += simple/test-module-load-list
160 UVTEST += simple/test-path
161 UVTEST += simple/test-pipe-stream
162 UVTEST += simple/test-pump-file2tcp
163 UVTEST += simple/test-pump-file2tcp-noexist
164 UVTEST += simple/test-punycode
165 UVTEST += simple/test-querystring
166 UVTEST += simple/test-readdir
167 UVTEST += simple/test-readdouble
168 UVTEST += simple/test-readfloat
169 UVTEST += simple/test-readint
170 UVTEST += simple/test-readuint
171 UVTEST += simple/test-regress-GH-819
172 UVTEST += simple/test-regress-GH-897
173 UVTEST += simple/test-regression-object-prototype
174 UVTEST += simple/test-require-cache
175 UVTEST += simple/test-require-cache-without-stat
176 UVTEST += simple/test-require-exceptions
177 UVTEST += simple/test-require-resolve
178 UVTEST += simple/test-script-context
179 UVTEST += simple/test-script-new
180 UVTEST += simple/test-script-static-context
181 UVTEST += simple/test-script-static-new
182 UVTEST += simple/test-script-static-this
183 UVTEST += simple/test-script-this
184 UVTEST += simple/test-stream-pipe-cleanup
185 UVTEST += simple/test-stream-pipe-error-handling
186 UVTEST += simple/test-stream-pipe-event
187 UVTEST += simple/test-stream-pipe-multi
188 UVTEST += simple/test-string-decoder
189 UVTEST += simple/test-sys
190 UVTEST += simple/test-tcp-wrap
191 UVTEST += simple/test-tcp-wrap-connect
192 UVTEST += simple/test-tcp-wrap-listen
193 UVTEST += simple/test-timers-linked-list
194 UVTEST += simple/test-tty-stdout-end
195 UVTEST += simple/test-url
196 UVTEST += simple/test-utf8-scripts
197 UVTEST += simple/test-vm-create-context-circular-reference
198 UVTEST += simple/test-writedouble
199 UVTEST += simple/test-writefloat
200 UVTEST += simple/test-writeint
201 UVTEST += simple/test-writeuint
202 UVTEST += simple/test-zerolengthbufferbug
203 UVTEST += pummel/test-http-client-reconnect-bug
204 UVTEST += pummel/test-http-upload-timeout
205 UVTEST += pummel/test-net-many-clients
206 UVTEST += pummel/test-net-pause
207 UVTEST += pummel/test-net-pingpong-delay
208 UVTEST += pummel/test-net-timeout
209 UVTEST += pummel/test-timers
210 UVTEST += pummel/test-timer-wrap
211 UVTEST += pummel/test-timer-wrap2
212 UVTEST += pummel/test-vm-memleak
213 UVTEST += internet/test-dns
214 UVTEST += simple/test-tls-client-abort
215 UVTEST += simple/test-tls-client-verify
216 UVTEST += simple/test-tls-connect
217 #UVTEST += simple/test-tls-ext-key-usage # broken
218 UVTEST += simple/test-tls-junk-closes-server
219 UVTEST += simple/test-tls-npn-server-client
220 UVTEST += simple/test-tls-request-timeout
221 #UVTEST += simple/test-tls-securepair-client # broken
222 UVTEST += simple/test-tls-securepair-server
223 #UVTEST += simple/test-tls-server-verify # broken
224 UVTEST += simple/test-tls-set-encoding
227 UVTEST += simple/test-child-process-exit-code
228 UVTEST += simple/test-child-process-buffering
229 UVTEST += simple/test-child-process-exec-cwd
230 UVTEST += simple/test-child-process-cwd
231 UVTEST += simple/test-child-process-env
232 UVTEST += simple/test-child-process-stdin
233 UVTEST += simple/test-child-process-ipc
234 UVTEST += simple/test-child-process-deprecated-api
238 NODE_USE_UV=1 python tools/test.py $(UVTEST)
241 NODE_USE_UV=1 python tools/test.py --mode=debug $(UVTEST)
244 apidoc_sources = $(wildcard doc/api/*.markdown)
245 apidocs = $(addprefix out/,$(apidoc_sources:.markdown=.html))
247 apidoc_dirs = out/doc out/doc/api/ out/doc/api/assets
249 apiassets = $(subst api_assets,api/assets,$(addprefix out/,$(wildcard doc/api_assets/*)))
253 out/doc/v0.4_announcement.html \
256 out/doc/sh_javascript.min.js \
257 out/doc/sh_vim-dark.css \
259 out/doc/sponsored.png \
260 out/doc/favicon.ico \
263 doc: out/Release/node $(apidoc_dirs) $(website_files) $(apiassets) $(apidocs)
268 out/doc/api/assets/%: doc/api_assets/% out/doc/api/assets/
274 out/doc/api/%.html: doc/api/%.markdown out/Release/node $(apidoc_dirs) $(apiassets) tools/doctool/doctool.js
275 out/Release/node tools/doctool/doctool.js doc/template.html $< > $@
280 scp -r out/doc/* $(web_root)
282 docopen: out/doc/api/all.html
283 -google-chrome out/doc/api/all.html
288 VERSION=$(shell git describe)
289 TARNAME=node-$(VERSION)
291 #dist: doc/node.1 doc/api
293 git archive --format=tar --prefix=$(TARNAME)/ HEAD | tar xf -
294 mkdir -p $(TARNAME)/doc
295 cp doc/node.1 $(TARNAME)/doc/node.1
296 cp -r out/doc/api $(TARNAME)/doc/api
297 rm -rf $(TARNAME)/deps/v8/test # too big
298 rm -rf $(TARNAME)/doc/logos # too big
299 tar -cf $(TARNAME).tar $(TARNAME)
301 gzip -f -9 $(TARNAME).tar
304 benchmark/http_simple_bench.sh
307 ./node benchmark/idle_server.js &
309 ./node benchmark/idle_clients.js &
312 PYTHONPATH=tools/closure_linter/ python tools/closure_linter/closure_linter/gjslint.py --unix_mode --strict --nojsdoc -r lib/ -r src/ -r test/
315 @python tools/cpplint.py $(wildcard src/*.cc src/*.h src/*.c)
319 .PHONY: lint cpplint jslint bench clean docopen docclean doc dist distclean check uninstall install all program staticlib dynamiclib test test-all website-upload