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