blob: 326ac67f3a53faf824d3d59ff7c5ed0b31d48af3 [file] [log] [blame]
#############################################################
# Copyright (C) The c-ares project and its contributors
# SPDX-License-Identifier: MIT
#
# Makefile for building arestest.exe with MingW32 (GCC-3.2)
# Use: make -f Makefile.m32 GTEST_ROOT=....
#
########################################################
CXX = g++
CC = gcc
LD = g++
ifeq "$(GTEST_ROOT)" ""
$(error missing GTEST_ROOT)
endif
# 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)/src/lib/libcares.a
CPPFLAGS = -I$(ARES_SRC_DIR)/include -I$(ARES_SRC_DIR)/src/lib -I$(GTEST_ROOT)/include -DCARES_STATICLIB -DCARES_NO_DEPRECATED
CXXFLAGS = -Wall $(PTHREAD_CFLAGS) -std=gnu++14
LDFLAGS =
LDLIBS = -lws2_32 -liphlpapi
# Makefile.inc provides the TESTSOURCES and TESTHEADERS defines
include Makefile.inc
OBJS := $(patsubst %.cc,%.o,$(strip $(TESTSOURCES)))
FUZZOBJS := $(patsubst %.c,%.o,$(strip $(FUZZSOURCES)))
FUZZNAMEOBJS := $(patsubst %.c,%.o,$(strip $(FUZZNAMESOURCES)))
DNSDUMPOBJS := $(patsubst %.cc,%.o,$(strip $(DUMPSOURCES)))
all: arestest.exe aresfuzz.exe aresfuzzname.exe dnsdump.exe
arestest.exe: $(OBJS)
$(LD) $(LDFLAGS) -o $@ $^ -L$(ARES_BLD_DIR)/src/lib -lcares $(LDLIBS) -L$(GTEST_ROOT)/lib -lgmock -lgtest
aresfuzz.exe: $(FUZZOBJS)
$(LD) $(LDFLAGS) -o $@ $^ -L$(ARES_BLD_DIR)/src/lib -lcares $(LDLIBS)
aresfuzzname.exe: $(FUZZNAMEOBJS)
$(LD) $(LDFLAGS) -o $@ $^ -L$(ARES_BLD_DIR)/src/lib -lcares $(LDLIBS)
dnsdump.exe: $(DNSDUMPOBJS)
$(LD) $(LDFLAGS) -o $@ $^ -L$(ARES_BLD_DIR)/src/lib -lcares $(LDLIBS)
$(OBJS): $(TESTHEADERS)
.cc.o:
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $<
.c.o:
$(CC) $(CPPFLAGS) $(CFLAGS) -c $<
test: arestest.exe
./arestest.exe --gtest_filter=-*LiveSearchTXT*:*LiveSearchANY*:*LiveGetLocalhostByAddr*
vtest: arestest.exe
./arestest.exe -v --gtest_filter=-*LiveSearchTXT*:*LiveSearchANY*:*LiveGetLocalhostByAddr*
clean:
$(RM) $(OBJS) arestest.exe aresfuzz.exe aresfuzzname.exe dnsdump.exe