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#
26
27LIBRARY= libresolv.a
28VERS= .2
29
30BSDOBJS=   	daemon.o	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)
112DYNFLAGS +=	$(ZNODELETE)
113
114LDLIBS +=	-lsocket -lnsl -lc -lmd
115
116.KEEP_STATE:
117
118all:	$(LIBS)
119
120lint:	lintcheck
121
122# include library targets
123include ../../Makefile.targ
124
125pics/%.o: ../common/bsd/%.c
126	$(COMPILE.c) -o $@ $<
127	$(POST_PROCESS_O)
128
129pics/%.o: ../common/dst/%.c
130	$(COMPILE.c) -o $@ $<
131	$(POST_PROCESS_O)
132
133pics/%.o: ../common/inet/%.c
134	$(COMPILE.c) -o $@ $<
135	$(POST_PROCESS_O)
136
137pics/%.o: ../common/irs/%.c
138	$(COMPILE.c) -o $@ $<
139	$(POST_PROCESS_O)
140
141pics/%.o: ../common/isc/%.c
142	$(COMPILE.c) -o $@ $<
143	$(POST_PROCESS_O)
144
145pics/%.o: ../common/nameser/%.c
146	$(COMPILE.c) -o $@ $<
147	$(POST_PROCESS_O)
148
149pics/%.o: ../common/resolv/%.c
150	$(COMPILE.c) -o $@ $<
151	$(POST_PROCESS_O)
152
153pics/%.o: ../common/sunw/%.c
154	$(COMPILE.c) -o $@ $<
155	$(POST_PROCESS_O)
156
157# install rule for lint library target
158$(ROOTLINTDIR)/%:	../common/%
159	$(INS.file)
160