net: `Server.listen`, `Server.close` and `Socket.connect` return `this`
[platform/upstream/nodejs.git] / Makefile-gyp
1 BUILDTYPE ?= Release
2
3 all: out/Makefile
4         tools/gyp_node -f make
5         $(MAKE) -C out BUILDTYPE=$(BUILDTYPE)
6         -ln -fs out/Release/node node
7         -ln -fs out/Debug/node node_g
8
9 out/Release/node: all
10
11 out/Makefile: node.gyp deps/uv/uv.gyp
12
13 clean:
14         rm -rf out
15
16 distclean:
17         rm -rf out
18
19 test: all
20         python tools/test.py --mode=release simple message
21
22 test-http1: all
23         python tools/test.py --mode=release --use-http1 simple message
24
25 test-valgrind: all
26         python tools/test.py --mode=release --valgrind simple message
27
28 test-all: all
29         python tools/test.py --mode=debug,release
30
31 test-all-http1: all
32         python tools/test.py --mode=debug,release --use-http1
33
34 test-all-valgrind: all
35         python tools/test.py --mode=debug,release --valgrind
36
37 test-release: all
38         python tools/test.py --mode=release
39
40 test-debug: all
41         python tools/test.py --mode=debug
42
43 test-message: all
44         python tools/test.py message
45
46 test-simple: all
47         python tools/test.py simple
48
49 test-pummel: all
50         python tools/test.py pummel
51
52 test-internet: all
53         python tools/test.py internet
54
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
225
226 # child_process
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
235
236
237 test-uv: all
238         NODE_USE_UV=1 python tools/test.py $(UVTEST)
239
240 test-uv-debug: all
241         NODE_USE_UV=1 python tools/test.py --mode=debug $(UVTEST)
242
243
244 apidoc_sources = $(wildcard doc/api/*.markdown)
245 apidocs = $(addprefix out/,$(apidoc_sources:.markdown=.html))
246
247 apidoc_dirs = out/doc out/doc/api/ out/doc/api/assets
248
249 apiassets = $(subst api_assets,api/assets,$(addprefix out/,$(wildcard doc/api_assets/*)))
250
251 website_files = \
252         out/doc/index.html    \
253         out/doc/v0.4_announcement.html   \
254         out/doc/cla.html      \
255         out/doc/sh_main.js    \
256         out/doc/sh_javascript.min.js \
257         out/doc/sh_vim-dark.css \
258         out/doc/logo.png      \
259         out/doc/sponsored.png \
260   out/doc/favicon.ico   \
261         out/doc/pipe.css
262
263 doc: out/Release/node $(apidoc_dirs) $(website_files) $(apiassets) $(apidocs)
264
265 $(apidoc_dirs):
266         mkdir -p $@
267
268 out/doc/api/assets/%: doc/api_assets/% out/doc/api/assets/
269         cp $< $@
270
271 out/doc/%: doc/%
272         cp $< $@
273
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 $< > $@
276
277 out/doc/%:
278
279 website-upload: doc
280         scp -r out/doc/* $(web_root)
281
282 docopen: out/doc/api/all.html
283         -google-chrome out/doc/api/all.html
284
285 docclean:
286         -rm -rf out/doc
287
288 VERSION=$(shell git describe)
289 TARNAME=node-$(VERSION)
290
291 #dist: doc/node.1 doc/api
292 dist: doc
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)
300         rm -rf $(TARNAME)
301         gzip -f -9 $(TARNAME).tar
302
303 bench:
304          benchmark/http_simple_bench.sh
305
306 bench-idle:
307         ./node benchmark/idle_server.js &
308         sleep 1
309         ./node benchmark/idle_clients.js &
310
311 jslint:
312         PYTHONPATH=tools/closure_linter/ python tools/closure_linter/closure_linter/gjslint.py --unix_mode --strict --nojsdoc -r lib/ -r src/ -r test/
313
314 cpplint:
315         @python tools/cpplint.py $(wildcard src/*.cc src/*.h src/*.c)
316
317 lint: jslint cpplint
318
319 .PHONY: lint cpplint jslint bench clean docopen docclean doc dist distclean check uninstall install all program staticlib dynamiclib test test-all website-upload