#############################################################
#
## Makefile for building arestest.exe with MingW32 (GCC-3.2)
## Use: make -f Makefile.m32
#
########################################################
CXX = g++
LD = g++

# Where to find the c-ares source code; needed because the tests use library-internal headers
ARES_SRC_DIR = ..
# Where to find the built c-ares static library
ARES_BLD_DIR = ..
ARESLIB = $(ARES_BLD_DIR)/libcares.a
GMOCK_DIR = gmock-1.7.0
GTEST_DIR = $(GMOCK_DIR)/gtest
CPPFLAGS = -I$(ARES_SRC_DIR) -I$(GTEST_DIR)/include -I$(GMOCK_DIR)/include -DCARES_STATICLIB
CXXFLAGS = -Wall $(PTHREAD_CFLAGS) -std=gnu++11
LDFLAGS =
LDLIBS = -lwsock32

# Makefile.inc provides the TESTSOURCES and TESTHEADERS defines
include Makefile.inc

OBJS := $(patsubst %.cc,%.o,$(strip $(TESTSOURCES)))

all: arestest.exe

arestest.exe: $(OBJS) gmock-all.o gtest-all.o
	$(LD) $(LDFLAGS) -o $@ $^  -L$(ARES_BLD_DIR) -lcares $(LDLIBS)

$(OBJS): $(TESTHEADERS)

.cc.o:
	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $<
gmock-all.o: $(GMOCK_DIR)/src/gmock-all.cc
	$(CXX) -I$(GTEST_DIR) -I$(GMOCK_DIR) $(CPPFLAGS) $(CXXFLAGS) -c $<
gtest-all.o: $(GTEST_DIR)/src/gtest-all.cc
	$(CXX) -I$(GTEST_DIR) -I$(GMOCK_DIR) $(CPPFLAGS) $(CXXFLAGS) -c $<

test: arestest.exe
	./arestest.exe
vtest: arestest.exe
	./arestest.exe -v

clean:
	$(RM) $(OBJS) gmock-all.o gtest-all.o arestest.exe

