# Copyright (c) 2013, Ben Noordhuis <info@bnoordhuis.nl>
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

CFLAGS = -Wall \
         -Wextra \
         -Wno-unused-parameter \
         -Iinclude \
         -Isrc \
         -Isrc/win \
         -DWIN32_LEAN_AND_MEAN \
         -D_WIN32_WINNT=0x0600

INCLUDES = include/stdint-msvc2008.h \
           include/tree.h \
           include/uv-errno.h \
           include/uv-win.h \
           include/uv.h \
           src/queue.h \
           src/uv-common.h \
           src/win/atomicops-inl.h \
           src/win/handle-inl.h \
           src/win/internal.h \
           src/win/req-inl.h \
           src/win/stream-inl.h \
           src/win/winapi.h \
           src/win/winsock.h

OBJS = src/fs-poll.o \
       src/inet.o \
       src/uv-common.o \
       src/version.o \
       src/win/async.o \
       src/win/core.o \
       src/win/dl.o \
       src/win/error.o \
       src/win/fs-event.o \
       src/win/fs.o \
       src/win/getaddrinfo.o \
       src/win/handle.o \
       src/win/loop-watcher.o \
       src/win/pipe.o \
       src/win/poll.o \
       src/win/process-stdio.o \
       src/win/process.o \
       src/win/req.o \
       src/win/signal.o \
       src/win/stream.o \
       src/win/tcp.o \
       src/win/thread.o \
       src/win/threadpool.o \
       src/win/timer.o \
       src/win/tty.o \
       src/win/udp.o \
       src/win/util.o \
       src/win/winapi.o \
       src/win/winsock.o

all: libuv.a

libuv.a: $(OBJS)
	$(AR) crs $@ $^

# FIXME(bnoordhuis) Don't rebuild everything when a source file changes.
$(OBJS): $(OBJS:.o=.c) $(INCLUDES)
