1# 2# CDDL HEADER START 3# 4# The contents of this file are subject to the terms of the 5# Common Development and Distribution License (the "License"). 6# You may not use this file except in compliance with the License. 7# 8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9# or http://www.opensolaris.org/os/licensing. 10# See the License for the specific language governing permissions 11# and limitations under the License. 12# 13# When distributing Covered Code, include this CDDL HEADER in each 14# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15# If applicable, add the following below this CDDL HEADER, with the 16# fields enclosed by brackets "[]" replaced with your own identifying 17# information: Portions Copyright [yyyy] [name of copyright owner] 18# 19# CDDL HEADER END 20# 21# 22# Copyright 2009 Sun Microsystems, Inc. All rights reserved. 23# Use is subject to license terms. 24# 25# Copyright (c) 2018, Joyent, Inc. 26 27LIBRARY= libresolv.a 28VERS= .2 29 30BSDOBJS= putenv.o strcasecmp.o strsep.o \ 31 ftruncate.o readv.o strdup.o strtoul.o \ 32 gettimeofday.o setenv.o strerror.o utimes.o \ 33 mktemp.o setitimer.o strpbrk.o writev.o 34 35DSTOBJS= dst_api.o support.o hmac_link.o 36 37# inet_addr, inet_pton, inet_ntop, and inet_ntoa removed due to overlap with 38# libnsl 39INETOBJS= inet_net_pton.o inet_neta.o inet_lnaof.o \ 40 inet_netof.o nsap_addr.o inet_makeaddr.o \ 41 inet_network.o inet_net_ntop.o inet_cidr_ntop.o \ 42 inet_cidr_pton.o inet_data.o 43 44# build only the IRS objects that the ISC libbind's make would 45IRSTHROBJS= gethostent_r.o getnetent_r.o getnetgrent_r.o \ 46 getprotoent_r.o getservent_r.o 47IRSOBJS= ${IRSTHROBJS} \ 48 dns.o dns_ho.o dns_nw.o dns_pr.o \ 49 dns_sv.o gai_strerror.o gen.o gen_ho.o \ 50 gen_ng.o gen_nw.o gen_pr.o gen_sv.o \ 51 getaddrinfo.o gethostent.o getnameinfo.o getnetent.o \ 52 getnetgrent.o getprotoent.o getservent.o hesiod.o \ 53 irp.o irp_ho.o irp_ng.o irp_nw.o \ 54 irp_pr.o irp_sv.o irpmarshall.o irs_data.o \ 55 lcl.o lcl_ho.o lcl_ng.o lcl_nw.o \ 56 lcl_pr.o lcl_sv.o nis.o nul_ng.o \ 57 util.o 58 59ISCOBJS= assertions.o base64.o bitncmp.o ctl_clnt.o \ 60 ctl_p.o ctl_srvr.o ev_connects.o ev_files.o \ 61 ev_streams.o ev_timers.o ev_waits.o eventlib.o \ 62 heap.o hex.o logging.o memcluster.o \ 63 movefile.o tree.o 64 65NAMESEROBJS= ns_date.o ns_name.o ns_netint.o ns_parse.o \ 66 ns_print.o ns_samedomain.o ns_sign.o ns_ttl.o \ 67 ns_verify.o ns_rdata.o ns_newmsg.o 68 69RESOLVOBJS= herror.o mtctxres.o res_comp.o res_data.o \ 70 res_debug.o res_findzonecut.o res_init.o \ 71 res_mkquery.o res_mkupdate.o res_query.o res_send.o \ 72 res_sendsigned.o res_update.o 73 74SUNWOBJS= sunw_mtctxres.o sunw_updrec.o sunw_wrappers.o 75 76OBJECTS= $(BSDOBJS) $(DSTOBJS) $(INETOBJS) $(IRSOBJS) $(ISCOBJS) \ 77 $(NAMESEROBJS) $(RESOLVOBJS) $(SUNWOBJS) 78 79# include library definitions 80include ../../Makefile.lib 81 82# install this library in the root filesystem 83include ../../Makefile.rootfs 84 85# CC -v complains about things we aren't going to change in the ISC code 86CCVERBOSE= 87 88SRCDIR = ../common 89SRCS= $(BSDOBJS:%.o=../common/bsd/%.c) \ 90 $(DSTOBJS:%.o=../common/dst/%.c) \ 91 $(INETOBJS:%.o=../common/inet/%.c) \ 92 $(IRSOBJS:%.o=../common/irs/%.c) \ 93 $(ISCOBJS:%.o=../common/isc/%.c) \ 94 $(NAMESEROBJS:%.o=../common/nameser/%.c) \ 95 $(RESOLVOBJS:%.o=../common/resolv/%.c) \ 96 $(SUNWOBJS:%.o=../common/sunw/%.c) 97 98LIBS = $(DYNLIB) $(LINTLIB) 99 100$(LINTLIB):= SRCS = ../common/llib-lresolv 101 102# Local Libresolv definitions 103 104SOLCOMPAT = -Dsocket=_socket 105CRYPTFLAGS= -DHMAC_MD5 -DUSE_MD5 106 107LOCFLAGS += $(CRYPTFLAGS) 108LOCFLAGS += -D_SYS_STREAM_H -D_REENTRANT -DSVR4 -DSUNW_OPTIONS \ 109 $(SOLCOMPAT) -I../include -I../../common/inc 110 111CPPFLAGS += $(LOCFLAGS) 112 113CERRWARN += -_gcc=-Wno-implicit-function-declaration 114 115# not linted 116SMATCH=off 117 118DYNFLAGS += $(ZNODELETE) 119 120LDLIBS += -lsocket -lnsl -lc -lmd 121 122.KEEP_STATE: 123 124all: $(LIBS) 125 126lint: lintcheck 127 128# include library targets 129include ../../Makefile.targ 130 131pics/%.o: ../common/bsd/%.c 132 $(COMPILE.c) -o $@ $< 133 $(POST_PROCESS_O) 134 135pics/%.o: ../common/dst/%.c 136 $(COMPILE.c) -o $@ $< 137 $(POST_PROCESS_O) 138 139pics/%.o: ../common/inet/%.c 140 $(COMPILE.c) -o $@ $< 141 $(POST_PROCESS_O) 142 143pics/%.o: ../common/irs/%.c 144 $(COMPILE.c) -o $@ $< 145 $(POST_PROCESS_O) 146 147pics/%.o: ../common/isc/%.c 148 $(COMPILE.c) -o $@ $< 149 $(POST_PROCESS_O) 150 151pics/%.o: ../common/nameser/%.c 152 $(COMPILE.c) -o $@ $< 153 $(POST_PROCESS_O) 154 155pics/%.o: ../common/resolv/%.c 156 $(COMPILE.c) -o $@ $< 157 $(POST_PROCESS_O) 158 159pics/%.o: ../common/sunw/%.c 160 $(COMPILE.c) -o $@ $< 161 $(POST_PROCESS_O) 162 163# install rule for lint library target 164$(ROOTLINTDIR)/%: ../common/% 165 $(INS.file) 166