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