| # Copyright Joyent, Inc. and other Node contributors. All rights reserved. |
| # |
| # Permission is hereby granted, free of charge, to any person obtaining a copy |
| # of this software and associated documentation files (the "Software"), to |
| # deal in the Software without restriction, including without limitation the |
| # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or |
| # sell copies of the Software, and to permit persons to whom the Software is |
| # furnished to do so, subject to the following conditions: |
| # |
| # The above copyright notice and this permission notice shall be included in |
| # all copies or substantial portions of the Software. |
| # |
| # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
| # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
| # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
| # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
| # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
| # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS |
| # IN THE SOFTWARE. |
| |
| ifdef PLATFORM |
| override PLATFORM := $(shell echo $(PLATFORM) | tr "[A-Z]" "[a-z]") |
| else |
| PLATFORM = $(shell sh -c 'uname -s | tr "[A-Z]" "[a-z]"') |
| endif |
| |
| CPPFLAGS += -I$(SRCDIR)/include -I$(SRCDIR)/include/uv-private |
| |
| ifeq (darwin,$(PLATFORM)) |
| SOEXT = dylib |
| else |
| SOEXT = so |
| endif |
| |
| ifneq (,$(findstring mingw,$(PLATFORM))) |
| include $(SRCDIR)/config-mingw.mk |
| else |
| include $(SRCDIR)/config-unix.mk |
| endif |
| |
| BENCHMARKS= \ |
| test/benchmark-async-pummel.o \ |
| test/benchmark-async.o \ |
| test/benchmark-fs-stat.o \ |
| test/benchmark-getaddrinfo.o \ |
| test/benchmark-loop-count.o \ |
| test/benchmark-million-async.o \ |
| test/benchmark-million-timers.o \ |
| test/benchmark-multi-accept.o \ |
| test/benchmark-ping-pongs.o \ |
| test/benchmark-pound.o \ |
| test/benchmark-pump.o \ |
| test/benchmark-sizes.o \ |
| test/benchmark-spawn.o \ |
| test/benchmark-tcp-write-batch.o \ |
| test/benchmark-thread.o \ |
| test/benchmark-udp-pummel.o \ |
| test/blackhole-server.o \ |
| test/dns-server.o \ |
| test/echo-server.o \ |
| |
| TESTS= \ |
| test/blackhole-server.o \ |
| test/dns-server.o \ |
| test/echo-server.o \ |
| test/test-active.o \ |
| test/test-async.o \ |
| test/test-barrier.o \ |
| test/test-callback-order.o \ |
| test/test-callback-stack.o \ |
| test/test-condvar.o \ |
| test/test-connection-fail.o \ |
| test/test-cwd-and-chdir.o \ |
| test/test-delayed-accept.o \ |
| test/test-dlerror.o \ |
| test/test-embed.o \ |
| test/test-emfile.o \ |
| test/test-error.o \ |
| test/test-fail-always.o \ |
| test/test-fs.o \ |
| test/test-fs-event.o \ |
| test/test-fs-poll.o \ |
| test/test-getaddrinfo.o \ |
| test/test-get-currentexe.o \ |
| test/test-get-loadavg.o \ |
| test/test-get-memory.o \ |
| test/test-getsockname.o \ |
| test/test-hrtime.o \ |
| test/test-idle.o \ |
| test/test-ipc.o \ |
| test/test-ipc-send-recv.o \ |
| test/test-loop-handles.o \ |
| test/test-loop-stop.o \ |
| test/test-multiple-listen.o \ |
| test/test-mutexes.o \ |
| test/test-osx-select.o \ |
| test/test-pass-always.o \ |
| test/test-ping-pong.o \ |
| test/test-pipe-bind-error.o \ |
| test/test-pipe-connect-error.o \ |
| test/test-platform-output.o \ |
| test/test-poll.o \ |
| test/test-poll-close.o \ |
| test/test-process-title.o \ |
| test/test-ref.o \ |
| test/test-run-nowait.o \ |
| test/test-run-once.o \ |
| test/test-semaphore.o \ |
| test/test-shutdown-close.o \ |
| test/test-shutdown-eof.o \ |
| test/test-signal.o \ |
| test/test-signal-multiple-loops.o \ |
| test/test-spawn.o \ |
| test/test-stdio-over-pipes.o \ |
| test/test-tcp-bind6-error.o \ |
| test/test-tcp-bind-error.o \ |
| test/test-tcp-close.o \ |
| test/test-tcp-close-accept.o \ |
| test/test-tcp-close-while-connecting.o \ |
| test/test-tcp-connect6-error.o \ |
| test/test-tcp-connect-error-after-write.o \ |
| test/test-tcp-connect-error.o \ |
| test/test-tcp-connect-timeout.o \ |
| test/test-tcp-flags.o \ |
| test/test-tcp-open.o \ |
| test/test-tcp-read-stop.o \ |
| test/test-tcp-shutdown-after-write.o \ |
| test/test-tcp-unexpected-read.o \ |
| test/test-tcp-writealot.o \ |
| test/test-tcp-write-to-half-open-connection.o \ |
| test/test-thread.o \ |
| test/test-threadpool.o \ |
| test/test-threadpool-cancel.o \ |
| test/test-timer-again.o \ |
| test/test-timer-from-check.o \ |
| test/test-timer.o \ |
| test/test-tty.o \ |
| test/test-udp-dgram-too-big.o \ |
| test/test-udp-ipv6.o \ |
| test/test-udp-multicast-join.o \ |
| test/test-udp-multicast-ttl.o \ |
| test/test-udp-open.o \ |
| test/test-udp-options.o \ |
| test/test-udp-send-and-recv.o \ |
| test/test-util.o \ |
| test/test-walk-handles.o \ |
| test/test-watcher-cross-stop.o \ |
| |
| .PHONY: all bench clean clean-platform distclean test |
| |
| run-tests$(E): test/run-tests.o test/runner.o $(RUNNER_SRC) $(TESTS) libuv.a |
| $(CC) $(CPPFLAGS) $(RUNNER_CFLAGS) -o $@ $^ $(RUNNER_LIBS) $(RUNNER_LDFLAGS) |
| |
| run-benchmarks$(E): test/run-benchmarks.o test/runner.o $(RUNNER_SRC) $(BENCHMARKS) libuv.a |
| $(CC) $(CPPFLAGS) $(RUNNER_CFLAGS) -o $@ $^ $(RUNNER_LIBS) $(RUNNER_LDFLAGS) |
| |
| test/echo.o: test/echo.c test/echo.h |
| |
| test: run-tests$(E) |
| $(CURDIR)/$< |
| |
| bench: run-benchmarks$(E) |
| $(CURDIR)/$< |
| |
| clean distclean: clean-platform |
| $(RM) libuv.a libuv.$(SOEXT) \ |
| test/run-tests.o test/run-benchmarks.o \ |
| test/run-tests$(E) test/run-benchmarks$(E) \ |
| $(BENCHMARKS) $(TESTS) $(RUNNER_LIBS) |