############################################################# # 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