1################################################################# 2# 3## Makefile for building libcares (NetWare version - gnu make) 4## Use: make -f Makefile.netware 5## 6## Comments to: Guenter Knauf http://www.gknw.de/phpbb 7# 8################################################################# 9 10# Edit the path below to point to the base of your Novell NDK. 11ifndef NDKBASE 12NDKBASE = c:/novell 13endif 14 15ifndef INSTDIR 16INSTDIR = ../ares-$(LIBCARES_VERSION_STR)-bin-nw 17endif 18 19# Edit the vars below to change NLM target settings. 20TARGETS = adig.nlm ahost.nlm acountry.nlm 21LTARGET = libcares.$(LIBEXT) 22VERSION = $(LIBCARES_VERSION) 23COPYR = $(LIBCARES_COPYRIGHT_STR) 24DESCR = cURL $(subst .def,,$(notdir $@)) $(LIBCARES_VERSION_STR) - http://curl.haxx.se 25MTSAFE = YES 26STACK = 64000 27SCREEN = none 28#EXPORTS = 29# Comment the line below if you dont want to load protected automatically. 30#LDRING = 3 31 32# Edit the var below to point to your lib architecture. 33ifndef LIBARCH 34LIBARCH = LIBC 35endif 36 37# must be equal to NDEBUG or DEBUG 38ifndef DB 39DB = NDEBUG 40endif 41# Optimization: -O<n> or debugging: -g 42ifeq ($(DB),NDEBUG) 43 OPT = -O2 44 OBJDIR = release 45else 46 OPT = -g 47 OBJDIR = debug 48endif 49 50# Include the version info retrieved from curlver.h 51-include $(OBJDIR)/version.inc 52 53# The following lines defines your compiler. 54ifdef CWFolder 55 METROWERKS = $(CWFolder) 56endif 57ifdef METROWERKS 58 # MWCW_PATH = $(subst \,/,$(METROWERKS))/Novell Support 59 MWCW_PATH = $(subst \,/,$(METROWERKS))/Novell Support/Metrowerks Support 60 CC = mwccnlm 61else 62 CC = gcc 63endif 64# a native win32 awk can be downloaded from here: 65# http://www.gknw.net/development/prgtools/awk-20070501.zip 66AWK = awk 67YACC = bison -y 68CP = cp -afv 69MKDIR = mkdir 70# RM = rm -f 71# if you want to mark the target as MTSAFE you will need a tool for 72# generating the xdc data for the linker; here's a minimal tool: 73# http://www.gknw.net/development/prgtools/mkxdc.zip 74MPKXDC = mkxdc 75 76# Global flags for all compilers 77CFLAGS += $(OPT) -D$(DB) -DNETWARE -DHAVE_CONFIG_H -nostdinc 78 79ifeq ($(CC),mwccnlm) 80LD = mwldnlm 81LDFLAGS = -nostdlib $(PRELUDE) $(OBJEXE) $(<:.def=.o) -o $@ -commandfile 82AR = mwldnlm 83ARFLAGS = -nostdlib -type library -o 84LIBEXT = lib 85#RANLIB = 86CFLAGS += -msgstyle gcc -gccinc -inline off -opt nointrinsics -proc 586 87CFLAGS += -relax_pointers 88#CFLAGS += -w on 89ifeq ($(LIBARCH),LIBC) 90 PRELUDE = $(SDK_LIBC)/imports/libcpre.o 91 CFLAGS += -align 4 92else 93 # PRELUDE = $(SDK_CLIB)/imports/clibpre.o 94 # to avoid the __init_* / __deinit_* whoes dont use prelude from NDK 95 PRELUDE = "$(MWCW_PATH)/libraries/runtime/prelude.obj" 96 # CFLAGS += -include "$(MWCW_PATH)/headers/nlm_clib_prefix.h" 97 CFLAGS += -align 1 98endif 99else 100LD = nlmconv 101LDFLAGS = -T 102AR = ar 103ARFLAGS = -cq 104LIBEXT = a 105RANLIB = ranlib 106CFLAGS += -m32 107CFLAGS += -fno-builtin -fno-strict-aliasing 108ifeq ($(findstring gcc,$(CC)),gcc) 109CFLAGS += -fpcc-struct-return 110endif 111CFLAGS += -Wall # -pedantic 112ifeq ($(LIBARCH),LIBC) 113 PRELUDE = $(SDK_LIBC)/imports/libcpre.gcc.o 114else 115 # PRELUDE = $(SDK_CLIB)/imports/clibpre.gcc.o 116 # to avoid the __init_* / __deinit_* whoes dont use prelude from NDK 117 # http://www.gknw.net/development/mk_nlm/gcc_pre.zip 118 PRELUDE = $(NDK_ROOT)/pre/prelude.o 119 CFLAGS += -include $(NDKBASE)/nlmconv/genlm.h 120endif 121endif 122 123NDK_ROOT = $(NDKBASE)/ndk 124SDK_CLIB = $(NDK_ROOT)/nwsdk 125SDK_LIBC = $(NDK_ROOT)/libc 126 127ifeq ($(LIBARCH),LIBC) 128 INCLUDES += -I$(SDK_LIBC)/include 129 # INCLUDES += -I$(SDK_LIBC)/include/nks 130 # INCLUDES += -I$(SDK_LIBC)/include/winsock 131 CFLAGS += -D_POSIX_SOURCE 132else 133 INCLUDES += -I$(SDK_CLIB)/include/nlm 134 # INCLUDES += -I$(SDK_CLIB)/include/nlm/obsolete 135 # INCLUDES += -I$(SDK_CLIB)/include 136endif 137 138CFLAGS += -I. $(INCLUDES) 139 140ifeq ($(MTSAFE),YES) 141 XDCOPT = -n 142endif 143ifeq ($(MTSAFE),NO) 144 XDCOPT = -u 145endif 146 147ifeq ($(findstring /sh,$(SHELL)),/sh) 148DL = ' 149#-include $(NDKBASE)/nlmconv/ncpfs.inc 150endif 151 152# Makefile.inc provides the CSOURCES and HHEADERS defines 153include Makefile.inc 154 155OBJLIB := $(patsubst %.c,$(OBJDIR)/%.o,$(strip $(CSOURCES))) 156OBJEXE = $(OBJLIB) $(OBJDIR)/ares_getopt.o 157 158.PHONY: lib nlm prebuild dist install clean 159 160lib: prebuild $(LTARGET) 161 162nlm: prebuild $(TARGETS) 163 164prebuild: $(OBJDIR) ares_build.h $(OBJDIR)/version.inc ares_config.h 165 166install: $(INSTDIR) all 167 @$(CP) *.nlm $(INSTDIR) 168 @$(CP) ../CHANGES $(INSTDIR) 169 @$(CP) ../COPYING $(INSTDIR) 170 @$(CP) ../README $(INSTDIR) 171 @$(CP) ../RELEASE-NOTES $(INSTDIR) 172 173clean: 174 -$(RM) $(LTARGET) $(TARGETS) ares_config.h 175 -$(RM) -r $(OBJDIR) 176 -$(RM) -r arpa 177 178%.$(LIBEXT): $(OBJLIB) 179 @echo Creating $@ 180 @-$(RM) $@ 181 @$(AR) $(ARFLAGS) $@ $^ 182ifdef RANLIB 183 @$(RANLIB) $@ 184endif 185 186%.nlm: $(OBJDIR)/%.def $(OBJDIR)/%.o $(OBJDIR)/%.xdc $(OBJEXE) 187 @echo Linking $@ 188 @-$(RM) $@ 189 @$(LD) $(LDFLAGS) $< 190 191$(OBJDIR) $(INSTDIR): 192 @$(MKDIR) $@ 193 194$(OBJDIR)/%.o: %.c 195# @echo Compiling $< 196 $(CC) $(CFLAGS) -c $< -o $@ 197 198$(OBJDIR)/version.inc: ares_version.h $(OBJDIR) 199 @echo Creating $@ 200 @$(AWK) -f get_ver.awk $< > $@ 201 202$(OBJDIR)/%.xdc: Makefile.netware 203 @echo Creating $@ 204 @$(MPKXDC) $(XDCOPT) $@ 205 206$(OBJDIR)/%.def: Makefile.netware 207 @echo Creating $@ 208 @echo $(DL)# DEF file for linking with $(LD)$(DL) > $@ 209 @echo $(DL)# Do not edit this file - it is created by make!$(DL) >> $@ 210 @echo $(DL)# All your changes will be lost!!$(DL) >> $@ 211 @echo $(DL)#$(DL) >> $@ 212 @echo $(DL)copyright "$(COPYR)"$(DL) >> $@ 213 @echo $(DL)description "$(DESCR)"$(DL) >> $@ 214 @echo $(DL)version $(VERSION)$(DL) >> $@ 215ifdef NLMTYPE 216 @echo $(DL)type $(NLMTYPE)$(DL) >> $@ 217endif 218ifdef STACK 219 @echo $(DL)stack $(STACK)$(DL) >> $@ 220endif 221ifdef SCREEN 222 @echo $(DL)screenname "$(SCREEN)"$(DL) >> $@ 223else 224 @echo $(DL)screenname "DEFAULT"$(DL) >> $@ 225endif 226ifeq ($(DB),DEBUG) 227 @echo $(DL)debug$(DL) >> $@ 228endif 229 @echo $(DL)threadname "$^"$(DL) >> $@ 230ifdef XDCOPT 231 @echo $(DL)xdcdata $(@:.def=.xdc)$(DL) >> $@ 232endif 233ifeq ($(LDRING),0) 234 @echo $(DL)flag_on 16$(DL) >> $@ 235endif 236ifeq ($(LDRING),3) 237 @echo $(DL)flag_on 512$(DL) >> $@ 238endif 239ifeq ($(LIBARCH),CLIB) 240 @echo $(DL)start _Prelude$(DL) >> $@ 241 @echo $(DL)exit _Stop$(DL) >> $@ 242 @echo $(DL)import @$(SDK_CLIB)/imports/clib.imp$(DL) >> $@ 243 @echo $(DL)import @$(SDK_CLIB)/imports/threads.imp$(DL) >> $@ 244 @echo $(DL)import @$(SDK_CLIB)/imports/nlmlib.imp$(DL) >> $@ 245 @echo $(DL)import @$(SDK_CLIB)/imports/socklib.imp$(DL) >> $@ 246 @echo $(DL)module clib$(DL) >> $@ 247else 248 @echo $(DL)flag_on 64$(DL) >> $@ 249 @echo $(DL)pseudopreemption$(DL) >> $@ 250 @echo $(DL)start _LibCPrelude$(DL) >> $@ 251 @echo $(DL)exit _LibCPostlude$(DL) >> $@ 252 @echo $(DL)check _LibCCheckUnload$(DL) >> $@ 253 @echo $(DL)import @$(SDK_LIBC)/imports/libc.imp$(DL) >> $@ 254 @echo $(DL)import @$(SDK_LIBC)/imports/netware.imp$(DL) >> $@ 255 @echo $(DL)module libc$(DL) >> $@ 256endif 257ifdef MODULES 258 @echo $(DL)module $(MODULES)$(DL) >> $@ 259endif 260ifdef EXPORTS 261 @echo $(DL)export $(EXPORTS)$(DL) >> $@ 262endif 263ifdef IMPORTS 264 @echo $(DL)import $(IMPORTS)$(DL) >> $@ 265endif 266ifeq ($(LD),nlmconv) 267 @echo $(DL)input $(PRELUDE)$(DL) >> $@ 268 @echo $(DL)input $(OBJEXE)$(DL) >> $@ 269 @echo $(DL)input $(@:.def=.o)$(DL) >> $@ 270 @echo $(DL)output $(notdir $(@:.def=.nlm))$(DL) >> $@ 271endif 272 273ares_config.h: Makefile.netware 274 @echo Creating $@ 275 @echo $(DL)/* $@ for NetWare target.$(DL) > $@ 276 @echo $(DL)** Do not edit this file - it is created by make!$(DL) >> $@ 277 @echo $(DL)** All your changes will be lost!!$(DL) >> $@ 278 @echo $(DL)*/$(DL) >> $@ 279 @echo $(DL)#ifndef NETWARE$(DL) >> $@ 280 @echo $(DL)#error This $(notdir $@) is created for NetWare platform!$(DL) >> $@ 281 @echo $(DL)#endif$(DL) >> $@ 282 @echo $(DL)#define VERSION "$(LIBCARES_VERSION_STR)"$(DL) >> $@ 283 @echo $(DL)#define PACKAGE_BUGREPORT "a suitable curl mailing list => http://curl.haxx.se/mail/"$(DL) >> $@ 284ifeq ($(LIBARCH),CLIB) 285 @echo $(DL)#define OS "i586-pc-clib-NetWare"$(DL) >> $@ 286 @echo $(DL)#define HAVE_STRICMP 1$(DL) >> $@ 287 @echo $(DL)#define HAVE_STRNICMP 1$(DL) >> $@ 288 @echo $(DL)#define NETDB_USE_INTERNET 1$(DL) >> $@ 289 @echo $(DL)#define RECV_TYPE_ARG1 int$(DL) >> $@ 290 @echo $(DL)#define RECV_TYPE_ARG2 char *$(DL) >> $@ 291 @echo $(DL)#define RECV_TYPE_ARG3 int$(DL) >> $@ 292 @echo $(DL)#define RECV_TYPE_ARG4 int$(DL) >> $@ 293 @echo $(DL)#define RECV_TYPE_RETV int$(DL) >> $@ 294 @echo $(DL)#define RECVFROM_TYPE_ARG1 int$(DL) >> $@ 295 @echo $(DL)#define RECVFROM_TYPE_ARG2 char$(DL) >> $@ 296 @echo $(DL)#define RECVFROM_TYPE_ARG3 int$(DL) >> $@ 297 @echo $(DL)#define RECVFROM_TYPE_ARG4 int$(DL) >> $@ 298 @echo $(DL)#define RECVFROM_TYPE_ARG5 struct sockaddr$(DL) >> $@ 299 @echo $(DL)#define RECVFROM_TYPE_ARG6 int$(DL) >> $@ 300 @echo $(DL)#define RECVFROM_TYPE_RETV int$(DL) >> $@ 301 @echo $(DL)#define SEND_QUAL_ARG2$(DL) >> $@ 302 @echo $(DL)#define SEND_TYPE_ARG1 int$(DL) >> $@ 303 @echo $(DL)#define SEND_TYPE_ARG2 char *$(DL) >> $@ 304 @echo $(DL)#define SEND_TYPE_ARG3 int$(DL) >> $@ 305 @echo $(DL)#define SEND_TYPE_ARG4 int$(DL) >> $@ 306 @echo $(DL)#define SEND_TYPE_RETV int$(DL) >> $@ 307else 308 @echo $(DL)#define OS "i586-pc-libc-NetWare"$(DL) >> $@ 309 @echo $(DL)#define HAVE_DLFCN_H 1$(DL) >> $@ 310 @echo $(DL)#define HAVE_DLOPEN 1$(DL) >> $@ 311 @echo $(DL)#define HAVE_FTRUNCATE 1$(DL) >> $@ 312 @echo $(DL)#define HAVE_GETTIMEOFDAY 1$(DL) >> $@ 313 @echo $(DL)#define HAVE_INTTYPES_H 1$(DL) >> $@ 314 @echo $(DL)#define HAVE_LONGLONG 1$(DL) >> $@ 315 @echo $(DL)#define HAVE_STDINT_H 1$(DL) >> $@ 316 @echo $(DL)#define HAVE_STRCASECMP 1$(DL) >> $@ 317 @echo $(DL)#define HAVE_STRLCAT 1$(DL) >> $@ 318 @echo $(DL)#define HAVE_STRLCPY 1$(DL) >> $@ 319 @echo $(DL)#define HAVE_STRTOLL 1$(DL) >> $@ 320 @echo $(DL)#define HAVE_SYS_PARAM_H 1$(DL) >> $@ 321 @echo $(DL)#define HAVE_SYS_SELECT_H 1$(DL) >> $@ 322 @echo $(DL)#define HAVE_TERMIOS_H 1$(DL) >> $@ 323 @echo $(DL)#define HAVE_AF_INET6 1$(DL) >> $@ 324 @echo $(DL)#define HAVE_PF_INET6 1$(DL) >> $@ 325 @echo $(DL)#define HAVE_FREEADDRINFO 1$(DL) >> $@ 326 @echo $(DL)#define HAVE_GETADDRINFO 1$(DL) >> $@ 327 @echo $(DL)#define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1$(DL) >> $@ 328 @echo $(DL)#define HAVE_STRUCT_IN6_ADDR 1$(DL) >> $@ 329 @echo $(DL)#define HAVE_STRUCT_SOCKADDR_IN6 1$(DL) >> $@ 330 @echo $(DL)#define RECV_TYPE_ARG1 int$(DL) >> $@ 331 @echo $(DL)#define RECV_TYPE_ARG2 void *$(DL) >> $@ 332 @echo $(DL)#define RECV_TYPE_ARG3 size_t$(DL) >> $@ 333 @echo $(DL)#define RECV_TYPE_ARG4 int$(DL) >> $@ 334 @echo $(DL)#define RECV_TYPE_RETV ssize_t$(DL) >> $@ 335 @echo $(DL)#define RECVFROM_TYPE_ARG1 int$(DL) >> $@ 336 @echo $(DL)#define RECVFROM_TYPE_ARG2 void$(DL) >> $@ 337 @echo $(DL)#define RECVFROM_TYPE_ARG3 size_t$(DL) >> $@ 338 @echo $(DL)#define RECVFROM_TYPE_ARG4 int$(DL) >> $@ 339 @echo $(DL)#define RECVFROM_TYPE_ARG5 struct sockaddr$(DL) >> $@ 340 @echo $(DL)#define RECVFROM_TYPE_ARG6 size_t$(DL) >> $@ 341 @echo $(DL)#define RECVFROM_TYPE_RETV ssize_t$(DL) >> $@ 342 @echo $(DL)#define RECVFROM_TYPE_ARG2_IS_VOID 1$(DL) >> $@ 343 @echo $(DL)#define SEND_QUAL_ARG2$(DL) >> $@ 344 @echo $(DL)#define SEND_TYPE_ARG1 int$(DL) >> $@ 345 @echo $(DL)#define SEND_TYPE_ARG2 void *$(DL) >> $@ 346 @echo $(DL)#define SEND_TYPE_ARG3 size_t$(DL) >> $@ 347 @echo $(DL)#define SEND_TYPE_ARG4 int$(DL) >> $@ 348 @echo $(DL)#define SEND_TYPE_RETV ssize_t$(DL) >> $@ 349endif 350 @echo $(DL)#define HAVE_ARPA_INET_H 1$(DL) >> $@ 351 @echo $(DL)#define HAVE_ASSERT_H 1$(DL) >> $@ 352 @echo $(DL)#define HAVE_ERRNO_H 1$(DL) >> $@ 353 @echo $(DL)#define HAVE_ERR_H 1$(DL) >> $@ 354 @echo $(DL)#define HAVE_FCNTL_H 1$(DL) >> $@ 355 @echo $(DL)#define HAVE_GETENV 1$(DL) >> $@ 356 @echo $(DL)#define HAVE_GETHOSTBYADDR 1$(DL) >> $@ 357 @echo $(DL)#define HAVE_GETHOSTBYNAME 1$(DL) >> $@ 358 @echo $(DL)#define HAVE_GETHOSTNAME 1$(DL) >> $@ 359 @echo $(DL)#define HAVE_GETPROTOBYNAME 1$(DL) >> $@ 360 @echo $(DL)#define HAVE_GMTIME_R 1$(DL) >> $@ 361 @echo $(DL)#define HAVE_INET_ADDR 1$(DL) >> $@ 362 @echo $(DL)#define HAVE_IOCTL 1$(DL) >> $@ 363 @echo $(DL)#define HAVE_IOCTL_FIONBIO 1$(DL) >> $@ 364 @echo $(DL)#define HAVE_LIMITS_H 1$(DL) >> $@ 365 @echo $(DL)#define HAVE_LL 1$(DL) >> $@ 366 @echo $(DL)#define HAVE_LOCALTIME_R 1$(DL) >> $@ 367 @echo $(DL)#define HAVE_MALLOC_H 1$(DL) >> $@ 368 @echo $(DL)#define HAVE_NETINET_IN_H 1$(DL) >> $@ 369 @echo $(DL)#define HAVE_RECV 1$(DL) >> $@ 370 @echo $(DL)#define HAVE_RECVFROM 1$(DL) >> $@ 371 @echo $(DL)#define HAVE_SELECT 1$(DL) >> $@ 372 @echo $(DL)#define HAVE_SEND 1$(DL) >> $@ 373 @echo $(DL)#define HAVE_SETJMP_H 1$(DL) >> $@ 374 @echo $(DL)#define HAVE_SIGNAL 1$(DL) >> $@ 375 @echo $(DL)#define HAVE_SIGNAL_H 1$(DL) >> $@ 376 @echo $(DL)#define HAVE_SIG_ATOMIC_T 1$(DL) >> $@ 377 @echo $(DL)#define HAVE_SOCKET 1$(DL) >> $@ 378 @echo $(DL)#define HAVE_STDLIB_H 1$(DL) >> $@ 379 @echo $(DL)#define HAVE_STRDUP 1$(DL) >> $@ 380 @echo $(DL)#define HAVE_STRFTIME 1$(DL) >> $@ 381 @echo $(DL)#define HAVE_STRING_H 1$(DL) >> $@ 382 @echo $(DL)#define HAVE_STRSTR 1$(DL) >> $@ 383 @echo $(DL)#define HAVE_STRUCT_ADDRINFO 1$(DL) >> $@ 384 @echo $(DL)#define HAVE_STRUCT_TIMEVAL 1$(DL) >> $@ 385 @echo $(DL)#define HAVE_SYS_IOCTL_H 1$(DL) >> $@ 386 @echo $(DL)#define HAVE_SYS_STAT_H 1$(DL) >> $@ 387 @echo $(DL)#define HAVE_SYS_TIME_H 1$(DL) >> $@ 388 @echo $(DL)#define HAVE_TIME_H 1$(DL) >> $@ 389 @echo $(DL)#define HAVE_UNAME 1$(DL) >> $@ 390 @echo $(DL)#define HAVE_UNISTD_H 1$(DL) >> $@ 391 @echo $(DL)#define HAVE_UTIME 1$(DL) >> $@ 392 @echo $(DL)#define HAVE_UTIME_H 1$(DL) >> $@ 393 @echo $(DL)#define HAVE_WRITEV 1$(DL) >> $@ 394 @echo $(DL)#define RETSIGTYPE void$(DL) >> $@ 395 @echo $(DL)#define STDC_HEADERS 1$(DL) >> $@ 396 @echo $(DL)#define TIME_WITH_SYS_TIME 1$(DL) >> $@ 397ifdef NW_WINSOCK 398 @echo $(DL)#define HAVE_CLOSESOCKET 1$(DL) >> $@ 399else 400 @echo $(DL)#define HAVE_SYS_TYPES_H 1$(DL) >> $@ 401 @echo $(DL)#define HAVE_SYS_SOCKET_H 1$(DL) >> $@ 402 @echo $(DL)#define HAVE_SYS_SOCKIO_H 1$(DL) >> $@ 403 @echo $(DL)#define HAVE_NETDB_H 1$(DL) >> $@ 404endif 405 @echo $(DL)#ifdef __GNUC__$(DL) >> $@ 406 @echo $(DL)#define HAVE_VARIADIC_MACROS_GCC 1$(DL) >> $@ 407 @echo $(DL)#else$(DL) >> $@ 408 @echo $(DL)#define HAVE_VARIADIC_MACROS_C99 1$(DL) >> $@ 409 @echo $(DL)#endif$(DL) >> $@ 410 411FORCE: ; 412 413ares_build.h: Makefile.netware FORCE 414 @echo Creating $@ 415 @echo $(DL)/* $@ intended for NetWare target.$(DL) > $@ 416 @echo $(DL)** Do not edit this file - it is created by make!$(DL) >> $@ 417 @echo $(DL)** All your changes will be lost!!$(DL) >> $@ 418 @echo $(DL)*/$(DL) >> $@ 419 @echo $(DL)#ifndef NETWARE$(DL) >> $@ 420 @echo $(DL)#error This $(notdir $@) is created for NetWare platform!$(DL) >> $@ 421 @echo $(DL)#endif$(DL) >> $@ 422 @echo $(DL)#ifndef __CARES_BUILD_H$(DL) >> $@ 423 @echo $(DL)#define __CARES_BUILD_H$(DL) >> $@ 424ifeq ($(LIBARCH),CLIB) 425 @echo $(DL)#define CARES_TYPEOF_ARES_SOCKLEN_T int$(DL) >> $@ 426else 427 @echo $(DL)#define CARES_TYPEOF_ARES_SOCKLEN_T unsigned int$(DL) >> $@ 428endif 429 @echo $(DL)typedef CARES_TYPEOF_ARES_SOCKLEN_T ares_socklen_t;$(DL) >> $@ 430 @echo $(DL)#endif /* __CARES_BUILD_H */$(DL) >> $@ 431