• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#############################################################
2# Copyright (C) The c-ares project and its contributors
3# SPDX-License-Identifier: MIT
4#
5# Makefile for building arestest.exe with MingW32 (GCC-3.2)
6# Use: make -f Makefile.m32 GTEST_ROOT=....
7#
8########################################################
9CXX = g++
10CC = gcc
11LD = g++
12
13WIN32_WINNT ?= 0x0602
14
15ifeq "$(GTEST_ROOT)" ""
16  $(error missing GTEST_ROOT)
17endif
18
19# Where to find the c-ares source code; needed because the tests use library-internal headers
20ARES_SRC_DIR = ..
21# Where to find the built c-ares static library
22ARES_BLD_DIR = ..
23ARESLIB = $(ARES_BLD_DIR)/src/lib/libcares.a
24CPPFLAGS = -I$(ARES_SRC_DIR)/include -I$(ARES_SRC_DIR)/src/lib -I$(ARES_SRC_DIR)/src/lib/include -I$(GTEST_ROOT)/include -DCARES_STATICLIB -DCARES_NO_DEPRECATED -D_WIN32_WINNT=$(WIN32_WINNT)
25CXXFLAGS = -Wall $(PTHREAD_CFLAGS) -std=gnu++14
26LDFLAGS =
27LDLIBS = -lws2_32 -liphlpapi
28
29# Makefile.inc provides the TESTSOURCES and TESTHEADERS defines
30include Makefile.inc
31
32OBJS := $(patsubst %.cc,%.o,$(strip $(TESTSOURCES)))
33FUZZOBJS := $(patsubst %.c,%.o,$(strip $(FUZZSOURCES)))
34FUZZNAMEOBJS := $(patsubst %.c,%.o,$(strip $(FUZZNAMESOURCES)))
35DNSDUMPOBJS := $(patsubst %.cc,%.o,$(strip $(DUMPSOURCES)))
36
37all: arestest.exe aresfuzz.exe aresfuzzname.exe dnsdump.exe
38
39arestest.exe: $(OBJS)
40	$(LD) $(LDFLAGS) -o $@ $^  -L$(ARES_BLD_DIR)/src/lib -lcares $(LDLIBS) -L$(GTEST_ROOT)/lib -lgmock -lgtest
41
42aresfuzz.exe: $(FUZZOBJS)
43	$(LD) $(LDFLAGS) -o $@ $^  -L$(ARES_BLD_DIR)/src/lib -lcares $(LDLIBS)
44
45aresfuzzname.exe: $(FUZZNAMEOBJS)
46	$(LD) $(LDFLAGS) -o $@ $^  -L$(ARES_BLD_DIR)/src/lib -lcares $(LDLIBS)
47
48dnsdump.exe: $(DNSDUMPOBJS)
49	$(LD) $(LDFLAGS) -o $@ $^  -L$(ARES_BLD_DIR)/src/lib -lcares $(LDLIBS)
50
51$(OBJS): $(TESTHEADERS)
52
53.cc.o:
54	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $<
55.c.o:
56	$(CC) $(CPPFLAGS) $(CFLAGS) -c $<
57
58test: arestest.exe
59	./arestest.exe --gtest_filter=-*LiveSearchTXT*:*LiveSearchANY*:*LiveGetLocalhostByAddr*
60vtest: arestest.exe
61	./arestest.exe -v --gtest_filter=-*LiveSearchTXT*:*LiveSearchANY*:*LiveGetLocalhostByAddr*
62
63clean:
64	$(RM) $(OBJS) arestest.exe aresfuzz.exe aresfuzzname.exe dnsdump.exe
65
66
67