• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#############################################################
2#
3# Makefile for building libcares.a with MingW32 (GCC-3.2)
4# Use: make -f Makefile.m32 [demos]
5#
6# Quick hack by Guenter; comments to: /dev/nul
7#
8# Copyright (C) The c-ares project and its contributors
9# SPDX-License-Identifier: MIT
10########################################################
11## Nothing more to do below this line!
12
13LIB	= src/lib/libcares.a
14
15AR	= $(CROSSPREFIX)ar
16CC	= $(CROSSPREFIX)gcc
17LD	= $(CROSSPREFIX)gcc
18RANLIB	= $(CROSSPREFIX)ranlib
19#RM	= rm -f
20CP	= cp -afv
21
22WIN32_WINNT ?= 0x0602
23
24CFLAGS	= $(CARES_CFLAG_EXTRAS) -O2 -Wall -I./include -I./src/lib -I./src/lib/include -D_WIN32_WINNT=$(WIN32_WINNT)
25CFLAGS	+= -DCARES_STATICLIB
26LDFLAGS	= $(CARES_LDFLAG_EXTRAS) -s
27LIBS	= -lws2_32 -liphlpapi
28
29# Makefile.inc provides the CSOURCES and HHEADERS defines
30include src/lib/Makefile.inc
31
32OBJLIB	:= $(patsubst %.c,src/lib/%.o,$(strip $(CSOURCES)))
33
34
35$(LIB): $(OBJLIB)
36	$(AR) cru $@ $^
37	$(RANLIB) $@
38
39all: $(LIB) demos
40
41demos: src/tools/adig.exe src/tools/ahost.exe
42
43tags:
44	etags *.[ch]
45
46%.exe: %.o src/tools/ares_getopt.o $(LIB)
47	$(LD) $(LDFLAGS) -o $@ $^ $(LIBS)
48
49$(OBJLIB): include/ares.h include/ares_dns.h include/ares_build.h
50
51.c.o:
52	$(CC) $(CFLAGS) -o $@ -c $<
53
54include/ares_build.h:
55	$(CP) include/ares_build.h.dist include/ares_build.h
56
57check:
58
59install:
60	${top_srcdir}/mkinstalldirs ${DESTDIR}${libdir}
61	${top_srcdir}/mkinstalldirs ${DESTDIR}${includedir}
62	${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man3
63	${INSTALL} -m 644 $(LIB) ${DESTDIR}${libdir}
64	${RANLIB} ${DESTDIR}${libdir}/$(LIB)
65	chmod u-w ${DESTDIR}${libdir}/$(LIB)
66	${INSTALL} -m 444 ${srcdir}/include/ares.h ${DESTDIR}${includedir}
67	${INSTALL} -m 444 ${srcdir}/include/ares_build.h ${DESTDIR}${includedir}
68	${INSTALL} -m 444 ${srcdir}/include/ares_dns_record.h ${DESTDIR}${includedir}
69	${INSTALL} -m 444 ${srcdir}/include/ares_version.h ${DESTDIR}${includedir}
70	(for man in $(MANPAGES); do \
71	   ${INSTALL} -m 444 ${srcdir}/$${man} ${DESTDIR}${mandir}/man3; \
72	done)
73
74clean:
75	$(RM) src/tools/ares_getopt.o $(OBJLIB) $(LIB) src/tools/adig.exe src/tools/ahost.exe
76
77distclean: clean
78	$(RM) config.cache config.log config.status Makefile
79ifeq "$(wildcard include/ares_build.h.dist)" "include/ares_build.h.dist"
80	$(RM) include/ares_build.h
81endif
82