xref: /illumos-gate/usr/src/lib/libresolv2/Makefile.com (revision 45ede40b2394db7967e59f19288fae9b62efd4aa)
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)
99
100
101# Local Libresolv definitions
102
103SOLCOMPAT =	-Dsocket=_socket
104CRYPTFLAGS=	-DHMAC_MD5 -DUSE_MD5
105
106LOCFLAGS +=	$(CRYPTFLAGS)
107LOCFLAGS +=	-D_SYS_STREAM_H -D_REENTRANT -DSVR4 -DSUNW_OPTIONS \
108		$(SOLCOMPAT) -I../include -I../../common/inc
109
110CPPFLAGS +=	$(LOCFLAGS)
111
112CERRWARN +=	-_gcc=-Wno-implicit-function-declaration
113
114# not linted
115SMATCH=off
116
117DYNFLAGS +=	$(ZNODELETE)
118
119LDLIBS +=	-lsocket -lnsl -lc -lmd
120
121.KEEP_STATE:
122
123all:	$(LIBS)
124
125
126# include library targets
127include ../../Makefile.targ
128
129pics/%.o: ../common/bsd/%.c
130	$(COMPILE.c) -o $@ $<
131	$(POST_PROCESS_O)
132
133pics/%.o: ../common/dst/%.c
134	$(COMPILE.c) -o $@ $<
135	$(POST_PROCESS_O)
136
137pics/%.o: ../common/inet/%.c
138	$(COMPILE.c) -o $@ $<
139	$(POST_PROCESS_O)
140
141pics/%.o: ../common/irs/%.c
142	$(COMPILE.c) -o $@ $<
143	$(POST_PROCESS_O)
144
145pics/%.o: ../common/isc/%.c
146	$(COMPILE.c) -o $@ $<
147	$(POST_PROCESS_O)
148
149pics/%.o: ../common/nameser/%.c
150	$(COMPILE.c) -o $@ $<
151	$(POST_PROCESS_O)
152
153pics/%.o: ../common/resolv/%.c
154	$(COMPILE.c) -o $@ $<
155	$(POST_PROCESS_O)
156
157pics/%.o: ../common/sunw/%.c
158	$(COMPILE.c) -o $@ $<
159	$(POST_PROCESS_O)
160