xref: /illumos-gate/usr/src/lib/libc/sparc/Makefile (revision 7c478bd9)
1*7c478bd9Sstevel@tonic-gate#
2*7c478bd9Sstevel@tonic-gate# CDDL HEADER START
3*7c478bd9Sstevel@tonic-gate#
4*7c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the
5*7c478bd9Sstevel@tonic-gate# Common Development and Distribution License, Version 1.0 only
6*7c478bd9Sstevel@tonic-gate# (the "License").  You may not use this file except in compliance
7*7c478bd9Sstevel@tonic-gate# with the License.
8*7c478bd9Sstevel@tonic-gate#
9*7c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10*7c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing.
11*7c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions
12*7c478bd9Sstevel@tonic-gate# and limitations under the License.
13*7c478bd9Sstevel@tonic-gate#
14*7c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each
15*7c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16*7c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the
17*7c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying
18*7c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner]
19*7c478bd9Sstevel@tonic-gate#
20*7c478bd9Sstevel@tonic-gate# CDDL HEADER END
21*7c478bd9Sstevel@tonic-gate#
22*7c478bd9Sstevel@tonic-gate#
23*7c478bd9Sstevel@tonic-gate# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
24*7c478bd9Sstevel@tonic-gate# Use is subject to license terms.
25*7c478bd9Sstevel@tonic-gate#
26*7c478bd9Sstevel@tonic-gate# ident	"%Z%%M%	%I%	%E% SMI"
27*7c478bd9Sstevel@tonic-gate#
28*7c478bd9Sstevel@tonic-gate# lib/libc/sparc/Makefile
29*7c478bd9Sstevel@tonic-gate#
30*7c478bd9Sstevel@tonic-gate
31*7c478bd9Sstevel@tonic-gateLIBCBASE=.
32*7c478bd9Sstevel@tonic-gate
33*7c478bd9Sstevel@tonic-gateLIBRARY= libc.a
34*7c478bd9Sstevel@tonic-gateLIB_PIC= libc_pic.a
35*7c478bd9Sstevel@tonic-gateVERS=	.1
36*7c478bd9Sstevel@tonic-gateCPP=	/usr/lib/cpp
37*7c478bd9Sstevel@tonic-gateTARGET_ARCH=	sparc
38*7c478bd9Sstevel@tonic-gate
39*7c478bd9Sstevel@tonic-gate# objects are grouped by source directory
40*7c478bd9Sstevel@tonic-gate
41*7c478bd9Sstevel@tonic-gate# local objects
42*7c478bd9Sstevel@tonic-gateSTRETS=				\
43*7c478bd9Sstevel@tonic-gate	stret1.o		\
44*7c478bd9Sstevel@tonic-gate	stret2.o		\
45*7c478bd9Sstevel@tonic-gate	stret4.o
46*7c478bd9Sstevel@tonic-gate
47*7c478bd9Sstevel@tonic-gateCRTOBJS=			\
48*7c478bd9Sstevel@tonic-gate	_ftou.o			\
49*7c478bd9Sstevel@tonic-gate	cerror.o		\
50*7c478bd9Sstevel@tonic-gate	cerror64.o		\
51*7c478bd9Sstevel@tonic-gate	divrem64.o		\
52*7c478bd9Sstevel@tonic-gate	hwmuldiv.o		\
53*7c478bd9Sstevel@tonic-gate	mul64.o
54*7c478bd9Sstevel@tonic-gate
55*7c478bd9Sstevel@tonic-gateDYNOBJS=
56*7c478bd9Sstevel@tonic-gate
57*7c478bd9Sstevel@tonic-gateFPOBJS=				\
58*7c478bd9Sstevel@tonic-gate	_D_cplx_div.o		\
59*7c478bd9Sstevel@tonic-gate	_D_cplx_div_ix.o	\
60*7c478bd9Sstevel@tonic-gate	_D_cplx_div_rx.o	\
61*7c478bd9Sstevel@tonic-gate	_D_cplx_mul.o		\
62*7c478bd9Sstevel@tonic-gate	_F_cplx_div.o		\
63*7c478bd9Sstevel@tonic-gate	_F_cplx_div_ix.o	\
64*7c478bd9Sstevel@tonic-gate	_F_cplx_div_rx.o	\
65*7c478bd9Sstevel@tonic-gate	_F_cplx_mul.o		\
66*7c478bd9Sstevel@tonic-gate	_Q_add.o		\
67*7c478bd9Sstevel@tonic-gate	_Q_cmp.o		\
68*7c478bd9Sstevel@tonic-gate	_Q_cmpe.o		\
69*7c478bd9Sstevel@tonic-gate	_Q_cplx_div.o		\
70*7c478bd9Sstevel@tonic-gate	_Q_cplx_div_ix.o	\
71*7c478bd9Sstevel@tonic-gate	_Q_cplx_div_rx.o	\
72*7c478bd9Sstevel@tonic-gate	_Q_cplx_lr_div.o	\
73*7c478bd9Sstevel@tonic-gate	_Q_cplx_lr_div_ix.o	\
74*7c478bd9Sstevel@tonic-gate	_Q_cplx_lr_div_rx.o	\
75*7c478bd9Sstevel@tonic-gate	_Q_cplx_lr_mul.o	\
76*7c478bd9Sstevel@tonic-gate	_Q_cplx_mul.o		\
77*7c478bd9Sstevel@tonic-gate	_Q_div.o		\
78*7c478bd9Sstevel@tonic-gate	_Q_dtoq.o		\
79*7c478bd9Sstevel@tonic-gate	_Q_fcc.o		\
80*7c478bd9Sstevel@tonic-gate	_Q_itoq.o		\
81*7c478bd9Sstevel@tonic-gate	_Q_lltoq.o		\
82*7c478bd9Sstevel@tonic-gate	_Q_mul.o		\
83*7c478bd9Sstevel@tonic-gate	_Q_neg.o		\
84*7c478bd9Sstevel@tonic-gate	_Q_qtod.o		\
85*7c478bd9Sstevel@tonic-gate	_Q_qtoi.o		\
86*7c478bd9Sstevel@tonic-gate	_Q_qtos.o		\
87*7c478bd9Sstevel@tonic-gate	_Q_qtou.o		\
88*7c478bd9Sstevel@tonic-gate	_Q_scl.o		\
89*7c478bd9Sstevel@tonic-gate	_Q_set_except.o		\
90*7c478bd9Sstevel@tonic-gate	_Q_sqrt.o		\
91*7c478bd9Sstevel@tonic-gate	_Q_stoq.o		\
92*7c478bd9Sstevel@tonic-gate	_Q_sub.o		\
93*7c478bd9Sstevel@tonic-gate	_Q_ulltoq.o		\
94*7c478bd9Sstevel@tonic-gate	_Q_utoq.o		\
95*7c478bd9Sstevel@tonic-gate	__quad_mag.o
96*7c478bd9Sstevel@tonic-gate
97*7c478bd9Sstevel@tonic-gateFPASMOBJS=			\
98*7c478bd9Sstevel@tonic-gate	_Q_get_rp_rd.o		\
99*7c478bd9Sstevel@tonic-gate	fpgetmask.o		\
100*7c478bd9Sstevel@tonic-gate	fpgetrnd.o		\
101*7c478bd9Sstevel@tonic-gate	fpgetsticky.o		\
102*7c478bd9Sstevel@tonic-gate	fpsetmask.o		\
103*7c478bd9Sstevel@tonic-gate	fpsetrnd.o		\
104*7c478bd9Sstevel@tonic-gate	fpsetsticky.o
105*7c478bd9Sstevel@tonic-gate
106*7c478bd9Sstevel@tonic-gateATOMICOBJS=			\
107*7c478bd9Sstevel@tonic-gate	atomic.o
108*7c478bd9Sstevel@tonic-gate
109*7c478bd9Sstevel@tonic-gateCOMOBJS=			\
110*7c478bd9Sstevel@tonic-gate	bcmp.o			\
111*7c478bd9Sstevel@tonic-gate	bcopy.o			\
112*7c478bd9Sstevel@tonic-gate	bzero.o			\
113*7c478bd9Sstevel@tonic-gate	bsearch.o		\
114*7c478bd9Sstevel@tonic-gate	memccpy.o		\
115*7c478bd9Sstevel@tonic-gate	qsort.o			\
116*7c478bd9Sstevel@tonic-gate	strtol.o		\
117*7c478bd9Sstevel@tonic-gate	strtoul.o
118*7c478bd9Sstevel@tonic-gate
119*7c478bd9Sstevel@tonic-gateGENOBJS=			\
120*7c478bd9Sstevel@tonic-gate	_getsp.o		\
121*7c478bd9Sstevel@tonic-gate	_xregs_clrptr.o		\
122*7c478bd9Sstevel@tonic-gate	abs.o			\
123*7c478bd9Sstevel@tonic-gate	alloca.o		\
124*7c478bd9Sstevel@tonic-gate	cuexit.o		\
125*7c478bd9Sstevel@tonic-gate	ecvt.o			\
126*7c478bd9Sstevel@tonic-gate	errlst.o		\
127*7c478bd9Sstevel@tonic-gate	getctxt.o		\
128*7c478bd9Sstevel@tonic-gate	ladd.o			\
129*7c478bd9Sstevel@tonic-gate	lexp10.o		\
130*7c478bd9Sstevel@tonic-gate	llog10.o		\
131*7c478bd9Sstevel@tonic-gate	lmul.o			\
132*7c478bd9Sstevel@tonic-gate	lock.o			\
133*7c478bd9Sstevel@tonic-gate	lshiftl.o		\
134*7c478bd9Sstevel@tonic-gate	lsign.o			\
135*7c478bd9Sstevel@tonic-gate	lsub.o			\
136*7c478bd9Sstevel@tonic-gate	makectxt.o		\
137*7c478bd9Sstevel@tonic-gate	memchr.o		\
138*7c478bd9Sstevel@tonic-gate	memcmp.o		\
139*7c478bd9Sstevel@tonic-gate	memcpy.o		\
140*7c478bd9Sstevel@tonic-gate	memmove.o		\
141*7c478bd9Sstevel@tonic-gate	memset.o		\
142*7c478bd9Sstevel@tonic-gate	new_list.o		\
143*7c478bd9Sstevel@tonic-gate	setjmp.o		\
144*7c478bd9Sstevel@tonic-gate	siginfolst.o		\
145*7c478bd9Sstevel@tonic-gate	siglongjmp.o		\
146*7c478bd9Sstevel@tonic-gate	sparc_data.o		\
147*7c478bd9Sstevel@tonic-gate	strcasecmp.o		\
148*7c478bd9Sstevel@tonic-gate	strchr.o		\
149*7c478bd9Sstevel@tonic-gate	strcmp.o		\
150*7c478bd9Sstevel@tonic-gate	strcpy.o		\
151*7c478bd9Sstevel@tonic-gate	strlcpy.o		\
152*7c478bd9Sstevel@tonic-gate	strlen.o		\
153*7c478bd9Sstevel@tonic-gate	strncmp.o		\
154*7c478bd9Sstevel@tonic-gate	strncpy.o		\
155*7c478bd9Sstevel@tonic-gate	swapctxt.o		\
156*7c478bd9Sstevel@tonic-gate	sync_instruction_memory.o
157*7c478bd9Sstevel@tonic-gate
158*7c478bd9Sstevel@tonic-gate# sysobjs that contain large-file interfaces
159*7c478bd9Sstevel@tonic-gateCOMSYSOBJS64=			\
160*7c478bd9Sstevel@tonic-gate	creat64.o		\
161*7c478bd9Sstevel@tonic-gate	fstat64.o		\
162*7c478bd9Sstevel@tonic-gate	fstatvfs64.o		\
163*7c478bd9Sstevel@tonic-gate	getdents64.o		\
164*7c478bd9Sstevel@tonic-gate	getrlimit64.o		\
165*7c478bd9Sstevel@tonic-gate	lseek64.o		\
166*7c478bd9Sstevel@tonic-gate	lstat64.o		\
167*7c478bd9Sstevel@tonic-gate	open64.o		\
168*7c478bd9Sstevel@tonic-gate	pread64.o		\
169*7c478bd9Sstevel@tonic-gate	pwrite64.o		\
170*7c478bd9Sstevel@tonic-gate	setrlimit64.o		\
171*7c478bd9Sstevel@tonic-gate	stat64.o		\
172*7c478bd9Sstevel@tonic-gate	statvfs64.o
173*7c478bd9Sstevel@tonic-gate
174*7c478bd9Sstevel@tonic-gateSYSOBJS64=			\
175*7c478bd9Sstevel@tonic-gate	mmap64.o
176*7c478bd9Sstevel@tonic-gate
177*7c478bd9Sstevel@tonic-gateCOMSYSOBJS=			\
178*7c478bd9Sstevel@tonic-gate	__clock_timer.o		\
179*7c478bd9Sstevel@tonic-gate	__fcntl.o		\
180*7c478bd9Sstevel@tonic-gate	__getloadavg.o		\
181*7c478bd9Sstevel@tonic-gate	__rusagesys.o		\
182*7c478bd9Sstevel@tonic-gate	__signotify.o		\
183*7c478bd9Sstevel@tonic-gate	__sigrt.o		\
184*7c478bd9Sstevel@tonic-gate	__time.o		\
185*7c478bd9Sstevel@tonic-gate	_lgrp_home_fast.o	\
186*7c478bd9Sstevel@tonic-gate	_lgrpsys.o		\
187*7c478bd9Sstevel@tonic-gate	_nfssys.o		\
188*7c478bd9Sstevel@tonic-gate	_portfs.o		\
189*7c478bd9Sstevel@tonic-gate	_pset.o			\
190*7c478bd9Sstevel@tonic-gate	_rename.o		\
191*7c478bd9Sstevel@tonic-gate	_rpcsys.o		\
192*7c478bd9Sstevel@tonic-gate	_sigaction.o		\
193*7c478bd9Sstevel@tonic-gate	_so_accept.o		\
194*7c478bd9Sstevel@tonic-gate	_so_bind.o		\
195*7c478bd9Sstevel@tonic-gate	_so_connect.o		\
196*7c478bd9Sstevel@tonic-gate	_so_getpeername.o	\
197*7c478bd9Sstevel@tonic-gate	_so_getsockname.o	\
198*7c478bd9Sstevel@tonic-gate	_so_getsockopt.o	\
199*7c478bd9Sstevel@tonic-gate	_so_listen.o		\
200*7c478bd9Sstevel@tonic-gate	_so_recv.o		\
201*7c478bd9Sstevel@tonic-gate	_so_recvfrom.o		\
202*7c478bd9Sstevel@tonic-gate	_so_recvmsg.o		\
203*7c478bd9Sstevel@tonic-gate	_so_send.o		\
204*7c478bd9Sstevel@tonic-gate	_so_sendmsg.o		\
205*7c478bd9Sstevel@tonic-gate	_so_sendto.o		\
206*7c478bd9Sstevel@tonic-gate	_so_setsockopt.o	\
207*7c478bd9Sstevel@tonic-gate	_so_shutdown.o		\
208*7c478bd9Sstevel@tonic-gate	_so_socket.o		\
209*7c478bd9Sstevel@tonic-gate	_so_socketpair.o	\
210*7c478bd9Sstevel@tonic-gate	_sockconfig.o		\
211*7c478bd9Sstevel@tonic-gate	access.o		\
212*7c478bd9Sstevel@tonic-gate	acct.o			\
213*7c478bd9Sstevel@tonic-gate	acl.o			\
214*7c478bd9Sstevel@tonic-gate	adjtime.o		\
215*7c478bd9Sstevel@tonic-gate	alarm.o			\
216*7c478bd9Sstevel@tonic-gate	brk.o			\
217*7c478bd9Sstevel@tonic-gate	chdir.o			\
218*7c478bd9Sstevel@tonic-gate	chmod.o			\
219*7c478bd9Sstevel@tonic-gate	chown.o			\
220*7c478bd9Sstevel@tonic-gate	chroot.o		\
221*7c478bd9Sstevel@tonic-gate	cladm.o			\
222*7c478bd9Sstevel@tonic-gate	close.o			\
223*7c478bd9Sstevel@tonic-gate	creat.o			\
224*7c478bd9Sstevel@tonic-gate	dup.o			\
225*7c478bd9Sstevel@tonic-gate	execve.o		\
226*7c478bd9Sstevel@tonic-gate	exit.o			\
227*7c478bd9Sstevel@tonic-gate	facl.o			\
228*7c478bd9Sstevel@tonic-gate	fchdir.o		\
229*7c478bd9Sstevel@tonic-gate	fchmod.o		\
230*7c478bd9Sstevel@tonic-gate	fchown.o		\
231*7c478bd9Sstevel@tonic-gate	fchroot.o		\
232*7c478bd9Sstevel@tonic-gate	fdsync.o		\
233*7c478bd9Sstevel@tonic-gate	fpathconf.o		\
234*7c478bd9Sstevel@tonic-gate	fstat.o			\
235*7c478bd9Sstevel@tonic-gate	fstatfs.o		\
236*7c478bd9Sstevel@tonic-gate	fstatvfs.o		\
237*7c478bd9Sstevel@tonic-gate	getcpuid.o		\
238*7c478bd9Sstevel@tonic-gate	getdents.o		\
239*7c478bd9Sstevel@tonic-gate	getegid.o		\
240*7c478bd9Sstevel@tonic-gate	geteuid.o		\
241*7c478bd9Sstevel@tonic-gate	getgid.o		\
242*7c478bd9Sstevel@tonic-gate	getgroups.o		\
243*7c478bd9Sstevel@tonic-gate	gethrtime.o		\
244*7c478bd9Sstevel@tonic-gate	getitimer.o		\
245*7c478bd9Sstevel@tonic-gate	getmsg.o		\
246*7c478bd9Sstevel@tonic-gate	getpagesizes.o		\
247*7c478bd9Sstevel@tonic-gate	getpid.o		\
248*7c478bd9Sstevel@tonic-gate	getpmsg.o		\
249*7c478bd9Sstevel@tonic-gate	getppid.o		\
250*7c478bd9Sstevel@tonic-gate	getrlimit.o		\
251*7c478bd9Sstevel@tonic-gate	getuid.o		\
252*7c478bd9Sstevel@tonic-gate	gtty.o			\
253*7c478bd9Sstevel@tonic-gate	install_utrap.o		\
254*7c478bd9Sstevel@tonic-gate	ioctl.o			\
255*7c478bd9Sstevel@tonic-gate	kaio.o			\
256*7c478bd9Sstevel@tonic-gate	kill.o			\
257*7c478bd9Sstevel@tonic-gate	lchown.o		\
258*7c478bd9Sstevel@tonic-gate	link.o			\
259*7c478bd9Sstevel@tonic-gate	llseek.o		\
260*7c478bd9Sstevel@tonic-gate	lseek.o			\
261*7c478bd9Sstevel@tonic-gate	lstat.o			\
262*7c478bd9Sstevel@tonic-gate	memcntl.o		\
263*7c478bd9Sstevel@tonic-gate	mincore.o		\
264*7c478bd9Sstevel@tonic-gate	mkdir.o			\
265*7c478bd9Sstevel@tonic-gate	mknod.o			\
266*7c478bd9Sstevel@tonic-gate	mmap.o			\
267*7c478bd9Sstevel@tonic-gate	modctl.o		\
268*7c478bd9Sstevel@tonic-gate	mount.o			\
269*7c478bd9Sstevel@tonic-gate	mprotect.o		\
270*7c478bd9Sstevel@tonic-gate	munmap.o		\
271*7c478bd9Sstevel@tonic-gate	nice.o			\
272*7c478bd9Sstevel@tonic-gate	ntp_adjtime.o		\
273*7c478bd9Sstevel@tonic-gate	ntp_gettime.o		\
274*7c478bd9Sstevel@tonic-gate	open.o			\
275*7c478bd9Sstevel@tonic-gate	p_online.o		\
276*7c478bd9Sstevel@tonic-gate	pathconf.o		\
277*7c478bd9Sstevel@tonic-gate	pause.o			\
278*7c478bd9Sstevel@tonic-gate	pcsample.o		\
279*7c478bd9Sstevel@tonic-gate	pollsys.o		\
280*7c478bd9Sstevel@tonic-gate	pread.o			\
281*7c478bd9Sstevel@tonic-gate	priocntlset.o		\
282*7c478bd9Sstevel@tonic-gate	processor_bind.o	\
283*7c478bd9Sstevel@tonic-gate	processor_info.o	\
284*7c478bd9Sstevel@tonic-gate	profil.o		\
285*7c478bd9Sstevel@tonic-gate	putmsg.o		\
286*7c478bd9Sstevel@tonic-gate	putpmsg.o		\
287*7c478bd9Sstevel@tonic-gate	pwrite.o		\
288*7c478bd9Sstevel@tonic-gate	read.o			\
289*7c478bd9Sstevel@tonic-gate	readlink.o		\
290*7c478bd9Sstevel@tonic-gate	readv.o			\
291*7c478bd9Sstevel@tonic-gate	resolvepath.o		\
292*7c478bd9Sstevel@tonic-gate	rmdir.o			\
293*7c478bd9Sstevel@tonic-gate	seteguid.o		\
294*7c478bd9Sstevel@tonic-gate	setgid.o		\
295*7c478bd9Sstevel@tonic-gate	setgroups.o		\
296*7c478bd9Sstevel@tonic-gate	setitimer.o		\
297*7c478bd9Sstevel@tonic-gate	setreid.o		\
298*7c478bd9Sstevel@tonic-gate	setrlimit.o		\
299*7c478bd9Sstevel@tonic-gate	setuid.o		\
300*7c478bd9Sstevel@tonic-gate	sigaltstk.o		\
301*7c478bd9Sstevel@tonic-gate	sigprocmsk.o		\
302*7c478bd9Sstevel@tonic-gate	sigsendset.o		\
303*7c478bd9Sstevel@tonic-gate	sigsuspend.o		\
304*7c478bd9Sstevel@tonic-gate	stat.o			\
305*7c478bd9Sstevel@tonic-gate	statfs.o		\
306*7c478bd9Sstevel@tonic-gate	statvfs.o		\
307*7c478bd9Sstevel@tonic-gate	stty.o			\
308*7c478bd9Sstevel@tonic-gate	symlink.o		\
309*7c478bd9Sstevel@tonic-gate	sync.o			\
310*7c478bd9Sstevel@tonic-gate	sysconfig.o		\
311*7c478bd9Sstevel@tonic-gate	sysfs.o			\
312*7c478bd9Sstevel@tonic-gate	sysinfo.o		\
313*7c478bd9Sstevel@tonic-gate	syslwp.o		\
314*7c478bd9Sstevel@tonic-gate	times.o			\
315*7c478bd9Sstevel@tonic-gate	ulimit.o		\
316*7c478bd9Sstevel@tonic-gate	umask.o			\
317*7c478bd9Sstevel@tonic-gate	umount2.o		\
318*7c478bd9Sstevel@tonic-gate	unlink.o		\
319*7c478bd9Sstevel@tonic-gate	utime.o			\
320*7c478bd9Sstevel@tonic-gate	utimes.o		\
321*7c478bd9Sstevel@tonic-gate	utssys.o		\
322*7c478bd9Sstevel@tonic-gate	vhangup.o		\
323*7c478bd9Sstevel@tonic-gate	waitid.o		\
324*7c478bd9Sstevel@tonic-gate	write.o			\
325*7c478bd9Sstevel@tonic-gate	writev.o		\
326*7c478bd9Sstevel@tonic-gate	yield.o
327*7c478bd9Sstevel@tonic-gate
328*7c478bd9Sstevel@tonic-gateSYSOBJS=			\
329*7c478bd9Sstevel@tonic-gate	__clock_gettime.o	\
330*7c478bd9Sstevel@tonic-gate	__getcontext.o		\
331*7c478bd9Sstevel@tonic-gate	_lwp_mutex_unlock.o	\
332*7c478bd9Sstevel@tonic-gate	_stack_grow.o		\
333*7c478bd9Sstevel@tonic-gate	door.o			\
334*7c478bd9Sstevel@tonic-gate	fork1.o			\
335*7c478bd9Sstevel@tonic-gate	forkall.o		\
336*7c478bd9Sstevel@tonic-gate	gettimeofday.o		\
337*7c478bd9Sstevel@tonic-gate	pipe.o			\
338*7c478bd9Sstevel@tonic-gate	ptrace.o		\
339*7c478bd9Sstevel@tonic-gate	syscall.o		\
340*7c478bd9Sstevel@tonic-gate	syssun.o		\
341*7c478bd9Sstevel@tonic-gate	tls_get_addr.o		\
342*7c478bd9Sstevel@tonic-gate	uadmin.o		\
343*7c478bd9Sstevel@tonic-gate	umount.o		\
344*7c478bd9Sstevel@tonic-gate	uname.o			\
345*7c478bd9Sstevel@tonic-gate	vfork.o
346*7c478bd9Sstevel@tonic-gate
347*7c478bd9Sstevel@tonic-gate# objects under ../port which contain transitional large file interfaces
348*7c478bd9Sstevel@tonic-gatePORTGEN64=			\
349*7c478bd9Sstevel@tonic-gate	_xftw64.o		\
350*7c478bd9Sstevel@tonic-gate	attropen64.o		\
351*7c478bd9Sstevel@tonic-gate	ftw64.o			\
352*7c478bd9Sstevel@tonic-gate	mkstemp64.o		\
353*7c478bd9Sstevel@tonic-gate	nftw64.o		\
354*7c478bd9Sstevel@tonic-gate	tell64.o		\
355*7c478bd9Sstevel@tonic-gate	truncate64.o
356*7c478bd9Sstevel@tonic-gate
357*7c478bd9Sstevel@tonic-gate# objects from source under ../port
358*7c478bd9Sstevel@tonic-gatePORTFP=				\
359*7c478bd9Sstevel@tonic-gate	__flt_decim.o		\
360*7c478bd9Sstevel@tonic-gate	__flt_rounds.o		\
361*7c478bd9Sstevel@tonic-gate	__tbl_10_b.o		\
362*7c478bd9Sstevel@tonic-gate	__tbl_10_h.o		\
363*7c478bd9Sstevel@tonic-gate	__tbl_10_s.o		\
364*7c478bd9Sstevel@tonic-gate	__tbl_2_b.o		\
365*7c478bd9Sstevel@tonic-gate	__tbl_2_h.o		\
366*7c478bd9Sstevel@tonic-gate	__tbl_2_s.o		\
367*7c478bd9Sstevel@tonic-gate	__tbl_fdq.o		\
368*7c478bd9Sstevel@tonic-gate	__tbl_tens.o		\
369*7c478bd9Sstevel@tonic-gate	__x_power.o		\
370*7c478bd9Sstevel@tonic-gate	_base_sup.o		\
371*7c478bd9Sstevel@tonic-gate	aconvert.o		\
372*7c478bd9Sstevel@tonic-gate	decimal_bin.o		\
373*7c478bd9Sstevel@tonic-gate	double_decim.o		\
374*7c478bd9Sstevel@tonic-gate	econvert.o		\
375*7c478bd9Sstevel@tonic-gate	fconvert.o		\
376*7c478bd9Sstevel@tonic-gate	file_decim.o		\
377*7c478bd9Sstevel@tonic-gate	finite.o		\
378*7c478bd9Sstevel@tonic-gate	fp_data.o		\
379*7c478bd9Sstevel@tonic-gate	func_decim.o		\
380*7c478bd9Sstevel@tonic-gate	gconvert.o		\
381*7c478bd9Sstevel@tonic-gate	hex_bin.o		\
382*7c478bd9Sstevel@tonic-gate	ieee_globals.o		\
383*7c478bd9Sstevel@tonic-gate	pack_float.o		\
384*7c478bd9Sstevel@tonic-gate	sigfpe.o		\
385*7c478bd9Sstevel@tonic-gate	string_decim.o		\
386*7c478bd9Sstevel@tonic-gate	ashldi3.o		\
387*7c478bd9Sstevel@tonic-gate	ashrdi3.o		\
388*7c478bd9Sstevel@tonic-gate	cmpdi2.o		\
389*7c478bd9Sstevel@tonic-gate	divdi3.o		\
390*7c478bd9Sstevel@tonic-gate	floatdidf.o		\
391*7c478bd9Sstevel@tonic-gate	floatdisf.o		\
392*7c478bd9Sstevel@tonic-gate	lshrdi3.o		\
393*7c478bd9Sstevel@tonic-gate	moddi3.o		\
394*7c478bd9Sstevel@tonic-gate	muldi3.o		\
395*7c478bd9Sstevel@tonic-gate	qdivrem.o		\
396*7c478bd9Sstevel@tonic-gate	ucmpdi2.o  		\
397*7c478bd9Sstevel@tonic-gate	udivdi3.o		\
398*7c478bd9Sstevel@tonic-gate	umoddi3.o
399*7c478bd9Sstevel@tonic-gate
400*7c478bd9Sstevel@tonic-gatePORTGEN=			\
401*7c478bd9Sstevel@tonic-gate	_env_data.o		\
402*7c478bd9Sstevel@tonic-gate	_ftoll.o		\
403*7c478bd9Sstevel@tonic-gate	_ftoull.o		\
404*7c478bd9Sstevel@tonic-gate	_xftw.o			\
405*7c478bd9Sstevel@tonic-gate	a64l.o			\
406*7c478bd9Sstevel@tonic-gate	abort.o			\
407*7c478bd9Sstevel@tonic-gate	addsev.o		\
408*7c478bd9Sstevel@tonic-gate	assert.o		\
409*7c478bd9Sstevel@tonic-gate	atof.o			\
410*7c478bd9Sstevel@tonic-gate	atoi.o			\
411*7c478bd9Sstevel@tonic-gate	atol.o			\
412*7c478bd9Sstevel@tonic-gate	atoll.o			\
413*7c478bd9Sstevel@tonic-gate	attropen.o		\
414*7c478bd9Sstevel@tonic-gate	atexit.o		\
415*7c478bd9Sstevel@tonic-gate	atfork.o		\
416*7c478bd9Sstevel@tonic-gate	basename.o		\
417*7c478bd9Sstevel@tonic-gate	calloc.o		\
418*7c478bd9Sstevel@tonic-gate	catgets.o		\
419*7c478bd9Sstevel@tonic-gate	catopen.o		\
420*7c478bd9Sstevel@tonic-gate	cfgetispeed.o		\
421*7c478bd9Sstevel@tonic-gate	cfgetospeed.o		\
422*7c478bd9Sstevel@tonic-gate	cfree.o			\
423*7c478bd9Sstevel@tonic-gate	cfsetispeed.o		\
424*7c478bd9Sstevel@tonic-gate	cfsetospeed.o		\
425*7c478bd9Sstevel@tonic-gate	cftime.o		\
426*7c478bd9Sstevel@tonic-gate	clock.o			\
427*7c478bd9Sstevel@tonic-gate	closedir.o		\
428*7c478bd9Sstevel@tonic-gate	closefrom.o		\
429*7c478bd9Sstevel@tonic-gate	confstr.o		\
430*7c478bd9Sstevel@tonic-gate	crypt.o			\
431*7c478bd9Sstevel@tonic-gate	csetlen.o		\
432*7c478bd9Sstevel@tonic-gate	ctime.o			\
433*7c478bd9Sstevel@tonic-gate	ctime_r.o		\
434*7c478bd9Sstevel@tonic-gate	directio.o		\
435*7c478bd9Sstevel@tonic-gate	dirname.o		\
436*7c478bd9Sstevel@tonic-gate	div.o			\
437*7c478bd9Sstevel@tonic-gate	drand48.o		\
438*7c478bd9Sstevel@tonic-gate	dup2.o			\
439*7c478bd9Sstevel@tonic-gate	env_data.o		\
440*7c478bd9Sstevel@tonic-gate	errno.o			\
441*7c478bd9Sstevel@tonic-gate	euclen.o		\
442*7c478bd9Sstevel@tonic-gate	event_port.o		\
443*7c478bd9Sstevel@tonic-gate	execvp.o		\
444*7c478bd9Sstevel@tonic-gate	fattach.o		\
445*7c478bd9Sstevel@tonic-gate	fdetach.o		\
446*7c478bd9Sstevel@tonic-gate	fdopendir.o		\
447*7c478bd9Sstevel@tonic-gate	ffs.o			\
448*7c478bd9Sstevel@tonic-gate	fmtmsg.o		\
449*7c478bd9Sstevel@tonic-gate	ftime.o			\
450*7c478bd9Sstevel@tonic-gate	ftok.o			\
451*7c478bd9Sstevel@tonic-gate	ftw.o			\
452*7c478bd9Sstevel@tonic-gate	gcvt.o			\
453*7c478bd9Sstevel@tonic-gate	getauxv.o		\
454*7c478bd9Sstevel@tonic-gate	getcwd.o		\
455*7c478bd9Sstevel@tonic-gate	getdate_err.o		\
456*7c478bd9Sstevel@tonic-gate	getdtblsize.o		\
457*7c478bd9Sstevel@tonic-gate	getenv.o		\
458*7c478bd9Sstevel@tonic-gate	getexecname.o		\
459*7c478bd9Sstevel@tonic-gate	getgrnam.o		\
460*7c478bd9Sstevel@tonic-gate	getgrnam_r.o		\
461*7c478bd9Sstevel@tonic-gate	gethostid.o		\
462*7c478bd9Sstevel@tonic-gate	gethostname.o		\
463*7c478bd9Sstevel@tonic-gate	gethz.o			\
464*7c478bd9Sstevel@tonic-gate	getisax.o		\
465*7c478bd9Sstevel@tonic-gate	getloadavg.o		\
466*7c478bd9Sstevel@tonic-gate	getlogin.o		\
467*7c478bd9Sstevel@tonic-gate	getmntent.o		\
468*7c478bd9Sstevel@tonic-gate	getnetgrent.o		\
469*7c478bd9Sstevel@tonic-gate	getopt.o		\
470*7c478bd9Sstevel@tonic-gate	getopt_long.o		\
471*7c478bd9Sstevel@tonic-gate	getpagesize.o		\
472*7c478bd9Sstevel@tonic-gate	getpw.o			\
473*7c478bd9Sstevel@tonic-gate	getpwnam.o		\
474*7c478bd9Sstevel@tonic-gate	getpwnam_r.o		\
475*7c478bd9Sstevel@tonic-gate	getrusage.o		\
476*7c478bd9Sstevel@tonic-gate	getspent.o		\
477*7c478bd9Sstevel@tonic-gate	getspent_r.o		\
478*7c478bd9Sstevel@tonic-gate	getsubopt.o		\
479*7c478bd9Sstevel@tonic-gate	gettxt.o		\
480*7c478bd9Sstevel@tonic-gate	getusershell.o		\
481*7c478bd9Sstevel@tonic-gate	getut.o			\
482*7c478bd9Sstevel@tonic-gate	getutx.o		\
483*7c478bd9Sstevel@tonic-gate	getvfsent.o		\
484*7c478bd9Sstevel@tonic-gate	getwd.o			\
485*7c478bd9Sstevel@tonic-gate	getwidth.o		\
486*7c478bd9Sstevel@tonic-gate	getxby_door.o		\
487*7c478bd9Sstevel@tonic-gate	gtxt.o			\
488*7c478bd9Sstevel@tonic-gate	hsearch.o		\
489*7c478bd9Sstevel@tonic-gate	iconv.o			\
490*7c478bd9Sstevel@tonic-gate	imaxabs.o		\
491*7c478bd9Sstevel@tonic-gate	imaxdiv.o		\
492*7c478bd9Sstevel@tonic-gate	index.o			\
493*7c478bd9Sstevel@tonic-gate	initgroups.o		\
494*7c478bd9Sstevel@tonic-gate	insque.o		\
495*7c478bd9Sstevel@tonic-gate	isaexec.o		\
496*7c478bd9Sstevel@tonic-gate	isastream.o		\
497*7c478bd9Sstevel@tonic-gate	isatty.o		\
498*7c478bd9Sstevel@tonic-gate	killpg.o		\
499*7c478bd9Sstevel@tonic-gate	l64a.o			\
500*7c478bd9Sstevel@tonic-gate	lckpwdf.o		\
501*7c478bd9Sstevel@tonic-gate	lconstants.o		\
502*7c478bd9Sstevel@tonic-gate	ldivide.o		\
503*7c478bd9Sstevel@tonic-gate	lfind.o			\
504*7c478bd9Sstevel@tonic-gate	lfmt.o			\
505*7c478bd9Sstevel@tonic-gate	lfmt_log.o		\
506*7c478bd9Sstevel@tonic-gate	llabs.o			\
507*7c478bd9Sstevel@tonic-gate	lldiv.o			\
508*7c478bd9Sstevel@tonic-gate	lltostr.o		\
509*7c478bd9Sstevel@tonic-gate	localtime.o		\
510*7c478bd9Sstevel@tonic-gate	lsearch.o		\
511*7c478bd9Sstevel@tonic-gate	madvise.o		\
512*7c478bd9Sstevel@tonic-gate	malloc.o		\
513*7c478bd9Sstevel@tonic-gate	memalign.o		\
514*7c478bd9Sstevel@tonic-gate	mkdev.o			\
515*7c478bd9Sstevel@tonic-gate	mkfifo.o		\
516*7c478bd9Sstevel@tonic-gate	mkstemp.o		\
517*7c478bd9Sstevel@tonic-gate	mktemp.o		\
518*7c478bd9Sstevel@tonic-gate	mlock.o			\
519*7c478bd9Sstevel@tonic-gate	mlockall.o		\
520*7c478bd9Sstevel@tonic-gate	mon.o			\
521*7c478bd9Sstevel@tonic-gate	msync.o			\
522*7c478bd9Sstevel@tonic-gate	munlock.o		\
523*7c478bd9Sstevel@tonic-gate	munlockall.o		\
524*7c478bd9Sstevel@tonic-gate	ndbm.o			\
525*7c478bd9Sstevel@tonic-gate	nftw.o			\
526*7c478bd9Sstevel@tonic-gate	nlspath_checks.o	\
527*7c478bd9Sstevel@tonic-gate	nsparse.o		\
528*7c478bd9Sstevel@tonic-gate	nss_common.o		\
529*7c478bd9Sstevel@tonic-gate	nss_dbdefs.o		\
530*7c478bd9Sstevel@tonic-gate	nss_deffinder.o		\
531*7c478bd9Sstevel@tonic-gate	opendir.o		\
532*7c478bd9Sstevel@tonic-gate	opt_data.o		\
533*7c478bd9Sstevel@tonic-gate	perror.o		\
534*7c478bd9Sstevel@tonic-gate	pfmt.o			\
535*7c478bd9Sstevel@tonic-gate	pfmt_data.o		\
536*7c478bd9Sstevel@tonic-gate	pfmt_print.o		\
537*7c478bd9Sstevel@tonic-gate	plock.o			\
538*7c478bd9Sstevel@tonic-gate	poll.o			\
539*7c478bd9Sstevel@tonic-gate	priocntl.o		\
540*7c478bd9Sstevel@tonic-gate	privlib.o		\
541*7c478bd9Sstevel@tonic-gate	priv_str_xlate.o	\
542*7c478bd9Sstevel@tonic-gate	psiginfo.o		\
543*7c478bd9Sstevel@tonic-gate	psignal.o		\
544*7c478bd9Sstevel@tonic-gate	pt.o			\
545*7c478bd9Sstevel@tonic-gate	putpwent.o		\
546*7c478bd9Sstevel@tonic-gate	putspent.o		\
547*7c478bd9Sstevel@tonic-gate	raise.o			\
548*7c478bd9Sstevel@tonic-gate	rand.o			\
549*7c478bd9Sstevel@tonic-gate	random.o		\
550*7c478bd9Sstevel@tonic-gate	rctlops.o		\
551*7c478bd9Sstevel@tonic-gate	readdir.o		\
552*7c478bd9Sstevel@tonic-gate	readdir_r.o		\
553*7c478bd9Sstevel@tonic-gate	realpath.o		\
554*7c478bd9Sstevel@tonic-gate	reboot.o		\
555*7c478bd9Sstevel@tonic-gate	regexpr.o		\
556*7c478bd9Sstevel@tonic-gate	rename.o		\
557*7c478bd9Sstevel@tonic-gate	rewinddir.o		\
558*7c478bd9Sstevel@tonic-gate	rindex.o		\
559*7c478bd9Sstevel@tonic-gate	scandir.o		\
560*7c478bd9Sstevel@tonic-gate	seekdir.o		\
561*7c478bd9Sstevel@tonic-gate	select.o		\
562*7c478bd9Sstevel@tonic-gate	select_large_fdset.o	\
563*7c478bd9Sstevel@tonic-gate	setlabel.o		\
564*7c478bd9Sstevel@tonic-gate	setpriority.o		\
565*7c478bd9Sstevel@tonic-gate	settimeofday.o		\
566*7c478bd9Sstevel@tonic-gate	sh_locks.o		\
567*7c478bd9Sstevel@tonic-gate	sigflag.o		\
568*7c478bd9Sstevel@tonic-gate	siglist.o		\
569*7c478bd9Sstevel@tonic-gate	sigsend.o		\
570*7c478bd9Sstevel@tonic-gate	sigsetops.o		\
571*7c478bd9Sstevel@tonic-gate	ssignal.o		\
572*7c478bd9Sstevel@tonic-gate	stack.o			\
573*7c478bd9Sstevel@tonic-gate	str2sig.o		\
574*7c478bd9Sstevel@tonic-gate	strcase_charmap.o	\
575*7c478bd9Sstevel@tonic-gate	strcat.o		\
576*7c478bd9Sstevel@tonic-gate	strcspn.o		\
577*7c478bd9Sstevel@tonic-gate	strdup.o		\
578*7c478bd9Sstevel@tonic-gate	strerror.o		\
579*7c478bd9Sstevel@tonic-gate	strncat.o		\
580*7c478bd9Sstevel@tonic-gate	strlcat.o		\
581*7c478bd9Sstevel@tonic-gate	strncasecmp.o		\
582*7c478bd9Sstevel@tonic-gate	strpbrk.o		\
583*7c478bd9Sstevel@tonic-gate	strrchr.o		\
584*7c478bd9Sstevel@tonic-gate	strsignal.o		\
585*7c478bd9Sstevel@tonic-gate	strspn.o		\
586*7c478bd9Sstevel@tonic-gate	strstr.o		\
587*7c478bd9Sstevel@tonic-gate	strtod.o		\
588*7c478bd9Sstevel@tonic-gate	strtoimax.o		\
589*7c478bd9Sstevel@tonic-gate	strtok.o		\
590*7c478bd9Sstevel@tonic-gate	strtok_r.o		\
591*7c478bd9Sstevel@tonic-gate	strtoll.o		\
592*7c478bd9Sstevel@tonic-gate	strtoull.o		\
593*7c478bd9Sstevel@tonic-gate	strtoumax.o		\
594*7c478bd9Sstevel@tonic-gate	swab.o			\
595*7c478bd9Sstevel@tonic-gate	swapctl.o		\
596*7c478bd9Sstevel@tonic-gate	sysconf.o		\
597*7c478bd9Sstevel@tonic-gate	syslog.o		\
598*7c478bd9Sstevel@tonic-gate	tcdrain.o		\
599*7c478bd9Sstevel@tonic-gate	tcflow.o		\
600*7c478bd9Sstevel@tonic-gate	tcflush.o		\
601*7c478bd9Sstevel@tonic-gate	tcgetattr.o		\
602*7c478bd9Sstevel@tonic-gate	tcgetpgrp.o		\
603*7c478bd9Sstevel@tonic-gate	tcgetsid.o		\
604*7c478bd9Sstevel@tonic-gate	tcsendbreak.o		\
605*7c478bd9Sstevel@tonic-gate	tcsetattr.o		\
606*7c478bd9Sstevel@tonic-gate	tcsetpgrp.o		\
607*7c478bd9Sstevel@tonic-gate	tell.o			\
608*7c478bd9Sstevel@tonic-gate	telldir.o		\
609*7c478bd9Sstevel@tonic-gate	tfind.o			\
610*7c478bd9Sstevel@tonic-gate	time_data.o		\
611*7c478bd9Sstevel@tonic-gate	time_gdata.o		\
612*7c478bd9Sstevel@tonic-gate	truncate.o		\
613*7c478bd9Sstevel@tonic-gate	tsdalloc.o		\
614*7c478bd9Sstevel@tonic-gate	tsearch.o		\
615*7c478bd9Sstevel@tonic-gate	ttyname.o		\
616*7c478bd9Sstevel@tonic-gate	ttyslot.o		\
617*7c478bd9Sstevel@tonic-gate	ualarm.o		\
618*7c478bd9Sstevel@tonic-gate	ucred.o			\
619*7c478bd9Sstevel@tonic-gate	valloc.o		\
620*7c478bd9Sstevel@tonic-gate	vlfmt.o			\
621*7c478bd9Sstevel@tonic-gate	vpfmt.o			\
622*7c478bd9Sstevel@tonic-gate	wait3.o			\
623*7c478bd9Sstevel@tonic-gate	wait4.o			\
624*7c478bd9Sstevel@tonic-gate	waitpid.o		\
625*7c478bd9Sstevel@tonic-gate	walkstack.o		\
626*7c478bd9Sstevel@tonic-gate	wdata.o			\
627*7c478bd9Sstevel@tonic-gate	xgetwidth.o		\
628*7c478bd9Sstevel@tonic-gate	xpg4.o			\
629*7c478bd9Sstevel@tonic-gate	xpg6.o
630*7c478bd9Sstevel@tonic-gate
631*7c478bd9Sstevel@tonic-gatePORTPRINT_W=			\
632*7c478bd9Sstevel@tonic-gate	doprnt_w.o
633*7c478bd9Sstevel@tonic-gate
634*7c478bd9Sstevel@tonic-gatePORTPRINT=			\
635*7c478bd9Sstevel@tonic-gate	doprnt.o		\
636*7c478bd9Sstevel@tonic-gate	fprintf.o		\
637*7c478bd9Sstevel@tonic-gate	printf.o		\
638*7c478bd9Sstevel@tonic-gate	snprintf.o		\
639*7c478bd9Sstevel@tonic-gate	sprintf.o		\
640*7c478bd9Sstevel@tonic-gate	vfprintf.o		\
641*7c478bd9Sstevel@tonic-gate	vprintf.o		\
642*7c478bd9Sstevel@tonic-gate	vsnprintf.o		\
643*7c478bd9Sstevel@tonic-gate	vsprintf.o		\
644*7c478bd9Sstevel@tonic-gate	vwprintf.o		\
645*7c478bd9Sstevel@tonic-gate	wprintf.o
646*7c478bd9Sstevel@tonic-gate
647*7c478bd9Sstevel@tonic-gate# c89 variants to support 32-bit size of c89 u/intmax_t (32-bit libc only)
648*7c478bd9Sstevel@tonic-gatePORTPRINT_C89=			\
649*7c478bd9Sstevel@tonic-gate	vfprintf_c89.o		\
650*7c478bd9Sstevel@tonic-gate	vprintf_c89.o		\
651*7c478bd9Sstevel@tonic-gate	vsnprintf_c89.o		\
652*7c478bd9Sstevel@tonic-gate	vsprintf_c89.o		\
653*7c478bd9Sstevel@tonic-gate	vwprintf_c89.o
654*7c478bd9Sstevel@tonic-gate
655*7c478bd9Sstevel@tonic-gatePORTSTDIO_C89=			\
656*7c478bd9Sstevel@tonic-gate	vscanf_c89.o		\
657*7c478bd9Sstevel@tonic-gate	vwscanf_c89.o
658*7c478bd9Sstevel@tonic-gate
659*7c478bd9Sstevel@tonic-gate# portable stdio objects that contain large file interfaces.
660*7c478bd9Sstevel@tonic-gate# Note: fopen64 is a special case, as we build it small.
661*7c478bd9Sstevel@tonic-gatePORTSTDIO64=			\
662*7c478bd9Sstevel@tonic-gate	fopen64.o		\
663*7c478bd9Sstevel@tonic-gate	fpos64.o
664*7c478bd9Sstevel@tonic-gate
665*7c478bd9Sstevel@tonic-gatePORTSTDIO_W=			\
666*7c478bd9Sstevel@tonic-gate	doscan_w.o
667*7c478bd9Sstevel@tonic-gate
668*7c478bd9Sstevel@tonic-gatePORTSTDIO=			\
669*7c478bd9Sstevel@tonic-gate	__extensions.o		\
670*7c478bd9Sstevel@tonic-gate	_endopen.o		\
671*7c478bd9Sstevel@tonic-gate	_filbuf.o		\
672*7c478bd9Sstevel@tonic-gate	_findbuf.o		\
673*7c478bd9Sstevel@tonic-gate	_flsbuf.o		\
674*7c478bd9Sstevel@tonic-gate	_wrtchk.o		\
675*7c478bd9Sstevel@tonic-gate	clearerr.o		\
676*7c478bd9Sstevel@tonic-gate	ctermid.o		\
677*7c478bd9Sstevel@tonic-gate	ctermid_r.o		\
678*7c478bd9Sstevel@tonic-gate	cuserid.o		\
679*7c478bd9Sstevel@tonic-gate	data.o			\
680*7c478bd9Sstevel@tonic-gate	doscan.o		\
681*7c478bd9Sstevel@tonic-gate	fdopen.o		\
682*7c478bd9Sstevel@tonic-gate	feof.o			\
683*7c478bd9Sstevel@tonic-gate	ferror.o		\
684*7c478bd9Sstevel@tonic-gate	fgetc.o			\
685*7c478bd9Sstevel@tonic-gate	fgets.o			\
686*7c478bd9Sstevel@tonic-gate	fileno.o		\
687*7c478bd9Sstevel@tonic-gate	flockf.o		\
688*7c478bd9Sstevel@tonic-gate	flush.o			\
689*7c478bd9Sstevel@tonic-gate	fopen.o			\
690*7c478bd9Sstevel@tonic-gate	fpos.o			\
691*7c478bd9Sstevel@tonic-gate	fputc.o			\
692*7c478bd9Sstevel@tonic-gate	fputs.o			\
693*7c478bd9Sstevel@tonic-gate	fread.o			\
694*7c478bd9Sstevel@tonic-gate	fseek.o			\
695*7c478bd9Sstevel@tonic-gate	fseeko.o		\
696*7c478bd9Sstevel@tonic-gate	ftell.o			\
697*7c478bd9Sstevel@tonic-gate	ftello.o		\
698*7c478bd9Sstevel@tonic-gate	fwrite.o		\
699*7c478bd9Sstevel@tonic-gate	getc.o			\
700*7c478bd9Sstevel@tonic-gate	getchar.o		\
701*7c478bd9Sstevel@tonic-gate	getpass.o		\
702*7c478bd9Sstevel@tonic-gate	gets.o			\
703*7c478bd9Sstevel@tonic-gate	getw.o			\
704*7c478bd9Sstevel@tonic-gate	popen.o			\
705*7c478bd9Sstevel@tonic-gate	putc.o			\
706*7c478bd9Sstevel@tonic-gate	putchar.o		\
707*7c478bd9Sstevel@tonic-gate	puts.o			\
708*7c478bd9Sstevel@tonic-gate	putw.o			\
709*7c478bd9Sstevel@tonic-gate	rewind.o		\
710*7c478bd9Sstevel@tonic-gate	scanf.o			\
711*7c478bd9Sstevel@tonic-gate	setbuf.o		\
712*7c478bd9Sstevel@tonic-gate	setbuffer.o		\
713*7c478bd9Sstevel@tonic-gate	setvbuf.o		\
714*7c478bd9Sstevel@tonic-gate	system.o		\
715*7c478bd9Sstevel@tonic-gate	tempnam.o		\
716*7c478bd9Sstevel@tonic-gate	tmpfile.o		\
717*7c478bd9Sstevel@tonic-gate	tmpnam_r.o		\
718*7c478bd9Sstevel@tonic-gate	ungetc.o		\
719*7c478bd9Sstevel@tonic-gate	mse.o			\
720*7c478bd9Sstevel@tonic-gate	vscanf.o		\
721*7c478bd9Sstevel@tonic-gate	vwscanf.o		\
722*7c478bd9Sstevel@tonic-gate	wscanf.o
723*7c478bd9Sstevel@tonic-gate
724*7c478bd9Sstevel@tonic-gatePORTI18N=			\
725*7c478bd9Sstevel@tonic-gate	__fgetwc_xpg5.o		\
726*7c478bd9Sstevel@tonic-gate	__fgetws_xpg5.o		\
727*7c478bd9Sstevel@tonic-gate	__fputwc_xpg5.o		\
728*7c478bd9Sstevel@tonic-gate	__fputws_xpg5.o		\
729*7c478bd9Sstevel@tonic-gate	__ungetwc_xpg5.o	\
730*7c478bd9Sstevel@tonic-gate	getwchar.o		\
731*7c478bd9Sstevel@tonic-gate	putwchar.o		\
732*7c478bd9Sstevel@tonic-gate	putws.o			\
733*7c478bd9Sstevel@tonic-gate	strtows.o		\
734*7c478bd9Sstevel@tonic-gate	wcstoimax.o		\
735*7c478bd9Sstevel@tonic-gate	wcstol.o		\
736*7c478bd9Sstevel@tonic-gate	wcstoul.o		\
737*7c478bd9Sstevel@tonic-gate	wcswcs.o		\
738*7c478bd9Sstevel@tonic-gate	wscasecmp.o		\
739*7c478bd9Sstevel@tonic-gate	wscat.o			\
740*7c478bd9Sstevel@tonic-gate	wschr.o			\
741*7c478bd9Sstevel@tonic-gate	wscmp.o			\
742*7c478bd9Sstevel@tonic-gate	wscpy.o			\
743*7c478bd9Sstevel@tonic-gate	wscspn.o		\
744*7c478bd9Sstevel@tonic-gate	wsdup.o			\
745*7c478bd9Sstevel@tonic-gate	wslen.o			\
746*7c478bd9Sstevel@tonic-gate	wsncasecmp.o		\
747*7c478bd9Sstevel@tonic-gate	wsncat.o		\
748*7c478bd9Sstevel@tonic-gate	wsncmp.o		\
749*7c478bd9Sstevel@tonic-gate	wsncpy.o		\
750*7c478bd9Sstevel@tonic-gate	wspbrk.o		\
751*7c478bd9Sstevel@tonic-gate	wsprintf.o		\
752*7c478bd9Sstevel@tonic-gate	wsrchr.o		\
753*7c478bd9Sstevel@tonic-gate	wsscanf.o		\
754*7c478bd9Sstevel@tonic-gate	wsspn.o			\
755*7c478bd9Sstevel@tonic-gate	wstod.o			\
756*7c478bd9Sstevel@tonic-gate	wstok.o			\
757*7c478bd9Sstevel@tonic-gate	wstol.o			\
758*7c478bd9Sstevel@tonic-gate	wstoll.o		\
759*7c478bd9Sstevel@tonic-gate	wsxfrm.o		\
760*7c478bd9Sstevel@tonic-gate	wmemchr.o		\
761*7c478bd9Sstevel@tonic-gate	wmemcmp.o		\
762*7c478bd9Sstevel@tonic-gate	wmemcpy.o		\
763*7c478bd9Sstevel@tonic-gate	wmemmove.o		\
764*7c478bd9Sstevel@tonic-gate	wmemset.o		\
765*7c478bd9Sstevel@tonic-gate	wcsstr.o		\
766*7c478bd9Sstevel@tonic-gate	gettext.o		\
767*7c478bd9Sstevel@tonic-gate	gettext_real.o		\
768*7c478bd9Sstevel@tonic-gate	gettext_util.o		\
769*7c478bd9Sstevel@tonic-gate	gettext_gnu.o		\
770*7c478bd9Sstevel@tonic-gate	plural_parser.o		\
771*7c478bd9Sstevel@tonic-gate	wdresolve.o		\
772*7c478bd9Sstevel@tonic-gate	_ctype.o		\
773*7c478bd9Sstevel@tonic-gate	isascii.o		\
774*7c478bd9Sstevel@tonic-gate	toascii.o
775*7c478bd9Sstevel@tonic-gate
776*7c478bd9Sstevel@tonic-gatePORTI18N_COND=			\
777*7c478bd9Sstevel@tonic-gate	wcstol_longlong.o	\
778*7c478bd9Sstevel@tonic-gate	wcstoul_longlong.o
779*7c478bd9Sstevel@tonic-gate
780*7c478bd9Sstevel@tonic-gateTHREADSOBJS=			\
781*7c478bd9Sstevel@tonic-gate	alloc.o			\
782*7c478bd9Sstevel@tonic-gate	assfail.o		\
783*7c478bd9Sstevel@tonic-gate	cancel.o		\
784*7c478bd9Sstevel@tonic-gate	door_calls.o		\
785*7c478bd9Sstevel@tonic-gate	pthr_attr.o		\
786*7c478bd9Sstevel@tonic-gate	pthr_barrier.o		\
787*7c478bd9Sstevel@tonic-gate	pthr_cond.o		\
788*7c478bd9Sstevel@tonic-gate	pthr_mutex.o		\
789*7c478bd9Sstevel@tonic-gate	pthr_rwlock.o		\
790*7c478bd9Sstevel@tonic-gate	pthread.o		\
791*7c478bd9Sstevel@tonic-gate	rtsched.o		\
792*7c478bd9Sstevel@tonic-gate	rwlock.o		\
793*7c478bd9Sstevel@tonic-gate	scalls.o		\
794*7c478bd9Sstevel@tonic-gate	sema.o			\
795*7c478bd9Sstevel@tonic-gate	sigaction.o		\
796*7c478bd9Sstevel@tonic-gate	spawn.o			\
797*7c478bd9Sstevel@tonic-gate	synch.o			\
798*7c478bd9Sstevel@tonic-gate	tdb_agent.o		\
799*7c478bd9Sstevel@tonic-gate	thr.o			\
800*7c478bd9Sstevel@tonic-gate	thread_interface.o	\
801*7c478bd9Sstevel@tonic-gate	tls.o			\
802*7c478bd9Sstevel@tonic-gate	tsd.o
803*7c478bd9Sstevel@tonic-gate
804*7c478bd9Sstevel@tonic-gateTHREADSMACHOBJS=		\
805*7c478bd9Sstevel@tonic-gate	machdep.o
806*7c478bd9Sstevel@tonic-gate
807*7c478bd9Sstevel@tonic-gateTHREADSASMOBJS=			\
808*7c478bd9Sstevel@tonic-gate	asm_subr.o
809*7c478bd9Sstevel@tonic-gate
810*7c478bd9Sstevel@tonic-gateUNWINDMACHOBJS=			\
811*7c478bd9Sstevel@tonic-gate	unwind.o
812*7c478bd9Sstevel@tonic-gate
813*7c478bd9Sstevel@tonic-gateUNWINDASMOBJS=			\
814*7c478bd9Sstevel@tonic-gate	unwind_frame.o
815*7c478bd9Sstevel@tonic-gate
816*7c478bd9Sstevel@tonic-gate# objects that implement the transitional large file API
817*7c478bd9Sstevel@tonic-gatePORTSYS64=			\
818*7c478bd9Sstevel@tonic-gate	fstatat64.o		\
819*7c478bd9Sstevel@tonic-gate	lockf64.o		\
820*7c478bd9Sstevel@tonic-gate	openat64.o
821*7c478bd9Sstevel@tonic-gate
822*7c478bd9Sstevel@tonic-gatePORTSYS=			\
823*7c478bd9Sstevel@tonic-gate	_autofssys.o		\
824*7c478bd9Sstevel@tonic-gate	acctctl.o		\
825*7c478bd9Sstevel@tonic-gate	bsd_signal.o		\
826*7c478bd9Sstevel@tonic-gate	corectl.o		\
827*7c478bd9Sstevel@tonic-gate	exacctsys.o		\
828*7c478bd9Sstevel@tonic-gate	execl.o			\
829*7c478bd9Sstevel@tonic-gate	execle.o		\
830*7c478bd9Sstevel@tonic-gate	execv.o			\
831*7c478bd9Sstevel@tonic-gate	fcntl.o			\
832*7c478bd9Sstevel@tonic-gate	fsmisc.o		\
833*7c478bd9Sstevel@tonic-gate	fstatat.o		\
834*7c478bd9Sstevel@tonic-gate	fsync.o			\
835*7c478bd9Sstevel@tonic-gate	getpeerucred.o		\
836*7c478bd9Sstevel@tonic-gate	inst_sync.o		\
837*7c478bd9Sstevel@tonic-gate	issetugid.o		\
838*7c478bd9Sstevel@tonic-gate	libc_link.o		\
839*7c478bd9Sstevel@tonic-gate	libc_open.o		\
840*7c478bd9Sstevel@tonic-gate	lockf.o			\
841*7c478bd9Sstevel@tonic-gate	lwp.o			\
842*7c478bd9Sstevel@tonic-gate	lwp_cond.o		\
843*7c478bd9Sstevel@tonic-gate	lwp_rwlock.o		\
844*7c478bd9Sstevel@tonic-gate	lwp_sigmask.o		\
845*7c478bd9Sstevel@tonic-gate	meminfosys.o		\
846*7c478bd9Sstevel@tonic-gate	msgsys.o		\
847*7c478bd9Sstevel@tonic-gate	nfssys.o		\
848*7c478bd9Sstevel@tonic-gate	openat.o		\
849*7c478bd9Sstevel@tonic-gate	pgrpsys.o		\
850*7c478bd9Sstevel@tonic-gate	posix_sigwait.o		\
851*7c478bd9Sstevel@tonic-gate	ppriv.o			\
852*7c478bd9Sstevel@tonic-gate	psetsys.o		\
853*7c478bd9Sstevel@tonic-gate	rctlsys.o		\
854*7c478bd9Sstevel@tonic-gate	sbrk.o			\
855*7c478bd9Sstevel@tonic-gate	semsys.o		\
856*7c478bd9Sstevel@tonic-gate	set_errno.o		\
857*7c478bd9Sstevel@tonic-gate	shmsys.o		\
858*7c478bd9Sstevel@tonic-gate	siginterrupt.o		\
859*7c478bd9Sstevel@tonic-gate	signal.o		\
860*7c478bd9Sstevel@tonic-gate	sigpending.o		\
861*7c478bd9Sstevel@tonic-gate	sigstack.o		\
862*7c478bd9Sstevel@tonic-gate	tasksys.o		\
863*7c478bd9Sstevel@tonic-gate	time.o			\
864*7c478bd9Sstevel@tonic-gate	time_util.o		\
865*7c478bd9Sstevel@tonic-gate	ucontext.o		\
866*7c478bd9Sstevel@tonic-gate	ustat.o			\
867*7c478bd9Sstevel@tonic-gate	zone.o
868*7c478bd9Sstevel@tonic-gate
869*7c478bd9Sstevel@tonic-gatePORTREGEX=			\
870*7c478bd9Sstevel@tonic-gate	glob.o			\
871*7c478bd9Sstevel@tonic-gate	regcmp.o		\
872*7c478bd9Sstevel@tonic-gate	regex.o			\
873*7c478bd9Sstevel@tonic-gate	wordexp.o
874*7c478bd9Sstevel@tonic-gate
875*7c478bd9Sstevel@tonic-gateMOSTOBJS=			\
876*7c478bd9Sstevel@tonic-gate	$(STRETS)		\
877*7c478bd9Sstevel@tonic-gate	$(CRTOBJS)		\
878*7c478bd9Sstevel@tonic-gate	$(DYNOBJS)		\
879*7c478bd9Sstevel@tonic-gate	$(FPOBJS)		\
880*7c478bd9Sstevel@tonic-gate	$(FPASMOBJS)		\
881*7c478bd9Sstevel@tonic-gate	$(ATOMICOBJS)		\
882*7c478bd9Sstevel@tonic-gate	$(COMOBJS)		\
883*7c478bd9Sstevel@tonic-gate	$(GENOBJS)		\
884*7c478bd9Sstevel@tonic-gate	$(PORTFP)		\
885*7c478bd9Sstevel@tonic-gate	$(PORTGEN)		\
886*7c478bd9Sstevel@tonic-gate	$(PORTGEN64)		\
887*7c478bd9Sstevel@tonic-gate	$(PORTI18N)		\
888*7c478bd9Sstevel@tonic-gate	$(PORTI18N_COND)	\
889*7c478bd9Sstevel@tonic-gate	$(PORTPRINT)		\
890*7c478bd9Sstevel@tonic-gate	$(PORTPRINT_C89)	\
891*7c478bd9Sstevel@tonic-gate	$(PORTPRINT_W)		\
892*7c478bd9Sstevel@tonic-gate	$(PORTREGEX)		\
893*7c478bd9Sstevel@tonic-gate	$(PORTSTDIO)		\
894*7c478bd9Sstevel@tonic-gate	$(PORTSTDIO64)		\
895*7c478bd9Sstevel@tonic-gate	$(PORTSTDIO_C89)	\
896*7c478bd9Sstevel@tonic-gate	$(PORTSTDIO_W)		\
897*7c478bd9Sstevel@tonic-gate	$(PORTSYS)		\
898*7c478bd9Sstevel@tonic-gate	$(PORTSYS64)		\
899*7c478bd9Sstevel@tonic-gate	$(THREADSOBJS)		\
900*7c478bd9Sstevel@tonic-gate	$(THREADSMACHOBJS)	\
901*7c478bd9Sstevel@tonic-gate	$(THREADSASMOBJS)	\
902*7c478bd9Sstevel@tonic-gate	$(UNWINDMACHOBJS)	\
903*7c478bd9Sstevel@tonic-gate	$(UNWINDASMOBJS)	\
904*7c478bd9Sstevel@tonic-gate	$(COMSYSOBJS)		\
905*7c478bd9Sstevel@tonic-gate	$(SYSOBJS)		\
906*7c478bd9Sstevel@tonic-gate	$(COMSYSOBJS64)		\
907*7c478bd9Sstevel@tonic-gate	$(SYSOBJS64)
908*7c478bd9Sstevel@tonic-gate
909*7c478bd9Sstevel@tonic-gateTRACEOBJS=			\
910*7c478bd9Sstevel@tonic-gate	plockstat.o
911*7c478bd9Sstevel@tonic-gate
912*7c478bd9Sstevel@tonic-gate# NOTE:	libc.so.1 must be linked with the minimal crti.o and crtn.o
913*7c478bd9Sstevel@tonic-gate# modules whose source is provided in the $(SRC)/lib/common directory.
914*7c478bd9Sstevel@tonic-gate# This must be done because otherwise the Sun C compiler would insert
915*7c478bd9Sstevel@tonic-gate# its own versions of these modules and those versions contain code
916*7c478bd9Sstevel@tonic-gate# to call out to C++ initialization functions.  Such C++ initialization
917*7c478bd9Sstevel@tonic-gate# functions can call back into libc before thread initialization is
918*7c478bd9Sstevel@tonic-gate# complete and this leads to segmentation violations and other problems.
919*7c478bd9Sstevel@tonic-gate# Since libc contains no C++ code, linking with the minimal crti.o and
920*7c478bd9Sstevel@tonic-gate# crtn.o modules is safe and avoids the problems described above.
921*7c478bd9Sstevel@tonic-gateOBJECTS= $(CRTI) $(MOSTOBJS) $(CRTN)
922*7c478bd9Sstevel@tonic-gateCRTSRCS= ../../common/sparc
923*7c478bd9Sstevel@tonic-gate
924*7c478bd9Sstevel@tonic-gate# include common library definitions
925*7c478bd9Sstevel@tonic-gateinclude ../../Makefile.lib
926*7c478bd9Sstevel@tonic-gate
927*7c478bd9Sstevel@tonic-gate# NOTE: libc_i18n.a will be part of libc.so.1.  Therefore, the compilation
928*7c478bd9Sstevel@tonic-gate# conditions such as the settings of CFLAGS and CPPFLAGS for the libc_i18n stuff
929*7c478bd9Sstevel@tonic-gate# need to be compatible with the ones for the libc stuff.  Whenever the changes
930*7c478bd9Sstevel@tonic-gate# that affect the compilation conditions of libc happened, those for libc_i18n
931*7c478bd9Sstevel@tonic-gate# also need to be updated.
932*7c478bd9Sstevel@tonic-gate
933*7c478bd9Sstevel@tonic-gateCFLAGS += $(CCVERBOSE)
934*7c478bd9Sstevel@tonic-gate
935*7c478bd9Sstevel@tonic-gate# This is necessary to avoid problems with calling _ex_unwind().
936*7c478bd9Sstevel@tonic-gate# We probably don't want any inlining anyway.
937*7c478bd9Sstevel@tonic-gateCFLAGS += -xinline=
938*7c478bd9Sstevel@tonic-gate
939*7c478bd9Sstevel@tonic-gate# Setting THREAD_DEBUG = -DTHREAD_DEBUG (make THREAD_DEBUG=-DTHREAD_DEBUG ...)
940*7c478bd9Sstevel@tonic-gate# enables ASSERT() checking in the threads portion of the library.
941*7c478bd9Sstevel@tonic-gate# This is automatically enabled for DEBUG builds, not for non-debug builds.
942*7c478bd9Sstevel@tonic-gateTHREAD_DEBUG =
943*7c478bd9Sstevel@tonic-gate$(NOT_RELEASE_BUILD)THREAD_DEBUG = -DTHREAD_DEBUG
944*7c478bd9Sstevel@tonic-gate
945*7c478bd9Sstevel@tonic-gateCFLAGS += $(THREAD_DEBUG)
946*7c478bd9Sstevel@tonic-gate
947*7c478bd9Sstevel@tonic-gateALTPICS= $(TRACEOBJS:%=pics/%)
948*7c478bd9Sstevel@tonic-gate
949*7c478bd9Sstevel@tonic-gate$(DYNLIB) := PICS += $(ROOTFS_LIBDIR)/libc_i18n.a
950*7c478bd9Sstevel@tonic-gate$(DYNLIB) := BUILD.SO = $(LD) -o $@ -G $(DYNFLAGS) $(PICS) $(ALTPICS)
951*7c478bd9Sstevel@tonic-gate
952*7c478bd9Sstevel@tonic-gateMAPDIR=		../spec/sparc
953*7c478bd9Sstevel@tonic-gateMAPFILE=	$(MAPDIR)/mapfile
954*7c478bd9Sstevel@tonic-gate
955*7c478bd9Sstevel@tonic-gateCFLAGS +=	$(EXTN_CFLAGS)
956*7c478bd9Sstevel@tonic-gateCPPFLAGS=	-D_REENTRANT -Dsparc $(EXTN_CPPFLAGS) \
957*7c478bd9Sstevel@tonic-gate		-I$(LIBCBASE)/inc -I../inc $(CPPFLAGS.master)
958*7c478bd9Sstevel@tonic-gateASFLAGS=	-K pic -P -D__STDC__ -D_ASM $(CPPFLAGS) -xarch=v8plus
959*7c478bd9Sstevel@tonic-gate
960*7c478bd9Sstevel@tonic-gate# Inform the run-time linker about libc specialized initialization
961*7c478bd9Sstevel@tonic-gateRTLDINFO =	-z rtldinfo=tls_rtldinfo
962*7c478bd9Sstevel@tonic-gate
963*7c478bd9Sstevel@tonic-gateDYNFLAGS +=	-e __rtboot -M $(MAPFILE) $(RTLDINFO)
964*7c478bd9Sstevel@tonic-gateDYNFLAGS +=	$(EXTN_DYNFLAGS)
965*7c478bd9Sstevel@tonic-gate
966*7c478bd9Sstevel@tonic-gateBUILD.s=	$(AS) $(ASFLAGS) $< -o $@
967*7c478bd9Sstevel@tonic-gate
968*7c478bd9Sstevel@tonic-gate# Override this top level flag so the compiler builds in its native
969*7c478bd9Sstevel@tonic-gate# C99 mode.  This has been enabled to support the complex arithmetic
970*7c478bd9Sstevel@tonic-gate# added to libc.
971*7c478bd9Sstevel@tonic-gateC99MODE=	$(C99_ENABLE)
972*7c478bd9Sstevel@tonic-gateC99LMODE=
973*7c478bd9Sstevel@tonic-gate
974*7c478bd9Sstevel@tonic-gate# libc method of building an archive
975*7c478bd9Sstevel@tonic-gateBUILD.AR= $(RM) $@ ; \
976*7c478bd9Sstevel@tonic-gate	$(AR) q $@ `$(LORDER) $(MOSTOBJS:%=$(DIR)/%)| $(TSORT)`
977*7c478bd9Sstevel@tonic-gate
978*7c478bd9Sstevel@tonic-gate# extra files for the clean target
979*7c478bd9Sstevel@tonic-gateCLEANFILES=			\
980*7c478bd9Sstevel@tonic-gate	../port/gen/errlst.c	\
981*7c478bd9Sstevel@tonic-gate	../port/gen/new_list.c	\
982*7c478bd9Sstevel@tonic-gate	assym.h			\
983*7c478bd9Sstevel@tonic-gate	genassym		\
984*7c478bd9Sstevel@tonic-gate	crt/_rtld.s		\
985*7c478bd9Sstevel@tonic-gate	crt/_rtbootld.s		\
986*7c478bd9Sstevel@tonic-gate	pics/_rtbootld.o	\
987*7c478bd9Sstevel@tonic-gate	pics/crti.o		\
988*7c478bd9Sstevel@tonic-gate	pics/crtn.o		\
989*7c478bd9Sstevel@tonic-gate	pics/values-Xa.o	\
990*7c478bd9Sstevel@tonic-gate	$(ALTPICS)
991*7c478bd9Sstevel@tonic-gate
992*7c478bd9Sstevel@tonic-gateCLOBBERFILES +=	$(MAPFILE) $(LIB_PIC)
993*7c478bd9Sstevel@tonic-gate
994*7c478bd9Sstevel@tonic-gate# list of C source for lint
995*7c478bd9Sstevel@tonic-gateSRCS=							\
996*7c478bd9Sstevel@tonic-gate	$(ATOMICOBJS:%.o=$(SRC)/common/atomic/%.c)	\
997*7c478bd9Sstevel@tonic-gate	$(COMOBJS:%.o=$(SRC)/common/util/%.c)		\
998*7c478bd9Sstevel@tonic-gate	$(PORTFP:%.o=../port/fp/%.c)			\
999*7c478bd9Sstevel@tonic-gate	$(PORTGEN:%.o=../port/gen/%.c)			\
1000*7c478bd9Sstevel@tonic-gate	$(PORTI18N:%.o=../port/i18n/%.c)		\
1001*7c478bd9Sstevel@tonic-gate	$(PORTPRINT:%.o=../port/print/%.c)		\
1002*7c478bd9Sstevel@tonic-gate	$(PORTREGEX:%.o=../port/regex/%.c)		\
1003*7c478bd9Sstevel@tonic-gate	$(PORTSTDIO:%.o=../port/stdio/%.c)		\
1004*7c478bd9Sstevel@tonic-gate	$(PORTSYS:%.o=../port/sys/%.c)			\
1005*7c478bd9Sstevel@tonic-gate	$(THREADSOBJS:%.o=../port/threads/%.c)		\
1006*7c478bd9Sstevel@tonic-gate	$(THREADSMACHOBJS:%.o=../$(MACH)/threads/%.c)	\
1007*7c478bd9Sstevel@tonic-gate	$(UNWINDMACHOBJS:%.o=../port/unwind/%.c)	\
1008*7c478bd9Sstevel@tonic-gate	$(FPOBJS:%.o=../$(MACH)/fp/%.c)			\
1009*7c478bd9Sstevel@tonic-gate	$(LIBCBASE)/crt/_ftou.c				\
1010*7c478bd9Sstevel@tonic-gate	$(LIBCBASE)/crt/divrem64.c			\
1011*7c478bd9Sstevel@tonic-gate	$(LIBCBASE)/crt/mul64.c				\
1012*7c478bd9Sstevel@tonic-gate	$(LIBCBASE)/gen/_xregs_clrptr.c			\
1013*7c478bd9Sstevel@tonic-gate	$(LIBCBASE)/gen/ecvt.c				\
1014*7c478bd9Sstevel@tonic-gate	$(LIBCBASE)/gen/getctxt.c			\
1015*7c478bd9Sstevel@tonic-gate	$(LIBCBASE)/gen/lexp10.c			\
1016*7c478bd9Sstevel@tonic-gate	$(LIBCBASE)/gen/llog10.c			\
1017*7c478bd9Sstevel@tonic-gate	$(LIBCBASE)/gen/lmul.c				\
1018*7c478bd9Sstevel@tonic-gate	$(LIBCBASE)/gen/makectxt.c			\
1019*7c478bd9Sstevel@tonic-gate	$(LIBCBASE)/gen/siginfolst.c			\
1020*7c478bd9Sstevel@tonic-gate	$(LIBCBASE)/gen/siglongjmp.c			\
1021*7c478bd9Sstevel@tonic-gate	$(LIBCBASE)/gen/swapctxt.c			\
1022*7c478bd9Sstevel@tonic-gate	$(LIBCBASE)/sys/ptrace.c
1023*7c478bd9Sstevel@tonic-gate
1024*7c478bd9Sstevel@tonic-gate# conditional assignments
1025*7c478bd9Sstevel@tonic-gate$(DYNLIB) $(LIB_PIC) := DYNOBJS = _rtbootld.o
1026*7c478bd9Sstevel@tonic-gate$(DYNLIB) := CRTI = crti.o values-Xa.o
1027*7c478bd9Sstevel@tonic-gate$(DYNLIB) := CRTN = crtn.o
1028*7c478bd9Sstevel@tonic-gate
1029*7c478bd9Sstevel@tonic-gate$(DYNLIB):	$(MAPFILE)
1030*7c478bd9Sstevel@tonic-gate
1031*7c478bd9Sstevel@tonic-gate$(MAPFILE):
1032*7c478bd9Sstevel@tonic-gate	@cd $(MAPDIR); $(MAKE) mapfile
1033*7c478bd9Sstevel@tonic-gate
1034*7c478bd9Sstevel@tonic-gate# Files which need the threads .il inline template
1035*7c478bd9Sstevel@tonic-gateTIL=				\
1036*7c478bd9Sstevel@tonic-gate	alloc.o			\
1037*7c478bd9Sstevel@tonic-gate	assfail.o		\
1038*7c478bd9Sstevel@tonic-gate	atexit.o		\
1039*7c478bd9Sstevel@tonic-gate	atfork.o		\
1040*7c478bd9Sstevel@tonic-gate	cancel.o		\
1041*7c478bd9Sstevel@tonic-gate	door_calls.o		\
1042*7c478bd9Sstevel@tonic-gate	errno.o			\
1043*7c478bd9Sstevel@tonic-gate	getctxt.o		\
1044*7c478bd9Sstevel@tonic-gate	lwp.o			\
1045*7c478bd9Sstevel@tonic-gate	machdep.o		\
1046*7c478bd9Sstevel@tonic-gate	pthr_attr.o		\
1047*7c478bd9Sstevel@tonic-gate	pthr_barrier.o		\
1048*7c478bd9Sstevel@tonic-gate	pthr_cond.o		\
1049*7c478bd9Sstevel@tonic-gate	pthr_mutex.o		\
1050*7c478bd9Sstevel@tonic-gate	pthr_rwlock.o		\
1051*7c478bd9Sstevel@tonic-gate	pthread.o		\
1052*7c478bd9Sstevel@tonic-gate	rand.o			\
1053*7c478bd9Sstevel@tonic-gate	rtsched.o		\
1054*7c478bd9Sstevel@tonic-gate	rwlock.o		\
1055*7c478bd9Sstevel@tonic-gate	scalls.o		\
1056*7c478bd9Sstevel@tonic-gate	sema.o			\
1057*7c478bd9Sstevel@tonic-gate	sigaction.o		\
1058*7c478bd9Sstevel@tonic-gate	spawn.o			\
1059*7c478bd9Sstevel@tonic-gate	stack.o			\
1060*7c478bd9Sstevel@tonic-gate	swapctxt.o		\
1061*7c478bd9Sstevel@tonic-gate	synch.o			\
1062*7c478bd9Sstevel@tonic-gate	tdb_agent.o		\
1063*7c478bd9Sstevel@tonic-gate	thr.o			\
1064*7c478bd9Sstevel@tonic-gate	thread_interface.o	\
1065*7c478bd9Sstevel@tonic-gate	tls.o			\
1066*7c478bd9Sstevel@tonic-gate	tsd.o			\
1067*7c478bd9Sstevel@tonic-gate	unwind.o
1068*7c478bd9Sstevel@tonic-gate
1069*7c478bd9Sstevel@tonic-gate$(TIL:%=pics/%) := CFLAGS += $(LIBCBASE)/threads/sparc.il
1070*7c478bd9Sstevel@tonic-gate
1071*7c478bd9Sstevel@tonic-gate# Files in port/fp subdirectory that need base.il inline template
1072*7c478bd9Sstevel@tonic-gateIL=				\
1073*7c478bd9Sstevel@tonic-gate	__flt_decim.o		\
1074*7c478bd9Sstevel@tonic-gate	decimal_bin.o
1075*7c478bd9Sstevel@tonic-gate
1076*7c478bd9Sstevel@tonic-gate$(IL:%=pics/%) := CFLAGS += $(LIBCBASE)/fp/base.il
1077*7c478bd9Sstevel@tonic-gate
1078*7c478bd9Sstevel@tonic-gate# Files in fp subdirectory which need __quad.il inline template
1079*7c478bd9Sstevel@tonic-gateQIL=				\
1080*7c478bd9Sstevel@tonic-gate	_Q_add.o		\
1081*7c478bd9Sstevel@tonic-gate	_Q_cmp.o		\
1082*7c478bd9Sstevel@tonic-gate	_Q_cmpe.o		\
1083*7c478bd9Sstevel@tonic-gate	_Q_div.o		\
1084*7c478bd9Sstevel@tonic-gate	_Q_dtoq.o		\
1085*7c478bd9Sstevel@tonic-gate	_Q_fcc.o		\
1086*7c478bd9Sstevel@tonic-gate	_Q_mul.o		\
1087*7c478bd9Sstevel@tonic-gate	_Q_qtod.o		\
1088*7c478bd9Sstevel@tonic-gate	_Q_qtoi.o		\
1089*7c478bd9Sstevel@tonic-gate	_Q_qtos.o		\
1090*7c478bd9Sstevel@tonic-gate	_Q_qtou.o		\
1091*7c478bd9Sstevel@tonic-gate	_Q_sqrt.o		\
1092*7c478bd9Sstevel@tonic-gate	_Q_stoq.o		\
1093*7c478bd9Sstevel@tonic-gate	_Q_sub.o
1094*7c478bd9Sstevel@tonic-gate
1095*7c478bd9Sstevel@tonic-gate$(QIL:%=pics/%) := CFLAGS += ../$(MACH)/fp/__quad.il
1096*7c478bd9Sstevel@tonic-gatepics/_Q%.o := sparc_COPTFLAG = -xO4 -dalign
1097*7c478bd9Sstevel@tonic-gatepics/__quad%.o := sparc_COPTFLAG = -xO4 -dalign
1098*7c478bd9Sstevel@tonic-gate
1099*7c478bd9Sstevel@tonic-gate# Files in crt subdirectory which need muldiv64.il inline template
1100*7c478bd9Sstevel@tonic-gateCIL=	mul64.o divrem64.o
1101*7c478bd9Sstevel@tonic-gate$(CIL:%=pics/%) := CFLAGS += $(LIBCBASE)/crt/muldiv64.il
1102*7c478bd9Sstevel@tonic-gate
1103*7c478bd9Sstevel@tonic-gate# large-file-aware components that should be built large
1104*7c478bd9Sstevel@tonic-gate
1105*7c478bd9Sstevel@tonic-gate$(COMSYSOBJS64:%=pics/%) := \
1106*7c478bd9Sstevel@tonic-gate	CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
1107*7c478bd9Sstevel@tonic-gate
1108*7c478bd9Sstevel@tonic-gate$(SYSOBJS64:%=pics/%) := \
1109*7c478bd9Sstevel@tonic-gate	CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
1110*7c478bd9Sstevel@tonic-gate
1111*7c478bd9Sstevel@tonic-gate$(PORTGEN64:%=pics/%) := \
1112*7c478bd9Sstevel@tonic-gate	CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
1113*7c478bd9Sstevel@tonic-gate
1114*7c478bd9Sstevel@tonic-gate$(PORTSTDIO64:%=pics/%) := \
1115*7c478bd9Sstevel@tonic-gate	CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
1116*7c478bd9Sstevel@tonic-gate
1117*7c478bd9Sstevel@tonic-gate$(PORTSYS64:%=pics/%) := \
1118*7c478bd9Sstevel@tonic-gate	CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
1119*7c478bd9Sstevel@tonic-gate
1120*7c478bd9Sstevel@tonic-gate$(PORTSTDIO_W:%=pics/%) := \
1121*7c478bd9Sstevel@tonic-gate	CPPFLAGS += -D_WIDE
1122*7c478bd9Sstevel@tonic-gate
1123*7c478bd9Sstevel@tonic-gate$(PORTPRINT_W:%=pics/%) := \
1124*7c478bd9Sstevel@tonic-gate	CPPFLAGS += -D_WIDE
1125*7c478bd9Sstevel@tonic-gate
1126*7c478bd9Sstevel@tonic-gate# printf/scanf functions to support c89-sized intmax_t variables
1127*7c478bd9Sstevel@tonic-gate$(PORTPRINT_C89:%=pics/%) := \
1128*7c478bd9Sstevel@tonic-gate	CPPFLAGS += -D_C89_INTMAX32
1129*7c478bd9Sstevel@tonic-gate
1130*7c478bd9Sstevel@tonic-gate$(PORTSTDIO_C89:%=pics/%) := \
1131*7c478bd9Sstevel@tonic-gate	CPPFLAGS += -D_C89_INTMAX32
1132*7c478bd9Sstevel@tonic-gate
1133*7c478bd9Sstevel@tonic-gate$(PORTI18N_COND:%=pics/%) := \
1134*7c478bd9Sstevel@tonic-gate	CPPFLAGS += -D_WCS_LONGLONG
1135*7c478bd9Sstevel@tonic-gate
1136*7c478bd9Sstevel@tonic-gate# Files which need extra optimization
1137*7c478bd9Sstevel@tonic-gatepics/getenv.o := sparc_COPTFLAG = -xO4
1138*7c478bd9Sstevel@tonic-gate
1139*7c478bd9Sstevel@tonic-gate.KEEP_STATE:
1140*7c478bd9Sstevel@tonic-gate
1141*7c478bd9Sstevel@tonic-gateall: $(LIBS) $(LIB_PIC)
1142*7c478bd9Sstevel@tonic-gate
1143*7c478bd9Sstevel@tonic-gatelint	:=	CPPFLAGS += -I../$(MACH)/fp
1144*7c478bd9Sstevel@tonic-gatelint	:=	CPPFLAGS += -D_MSE_INT_H -D_LCONV_C99
1145*7c478bd9Sstevel@tonic-gatelint	:=	LINTFLAGS += -mn
1146*7c478bd9Sstevel@tonic-gate
1147*7c478bd9Sstevel@tonic-gatelint:
1148*7c478bd9Sstevel@tonic-gate	@echo $(LINT.c) ... $(LDLIBS)
1149*7c478bd9Sstevel@tonic-gate	@$(LINT.c) $(SRCS) $(LDLIBS)
1150*7c478bd9Sstevel@tonic-gate
1151*7c478bd9Sstevel@tonic-gate# these aren't listed as $(PICS), so we need to force CTF
1152*7c478bd9Sstevel@tonic-gatepics/values-Xa.o := CFLAGS += $(CTF_FLAGS)
1153*7c478bd9Sstevel@tonic-gatepics/values-Xa.o := CTFCONVERT_POST = $(CTFCONVERT_O)
1154*7c478bd9Sstevel@tonic-gate
1155*7c478bd9Sstevel@tonic-gate$(LINTLIB):= SRCS=../port/llib-lc
1156*7c478bd9Sstevel@tonic-gate$(LINTLIB):= CPPFLAGS += -D_MSE_INT_H
1157*7c478bd9Sstevel@tonic-gate$(LINTLIB):= LINTFLAGS=-nvx
1158*7c478bd9Sstevel@tonic-gate
1159*7c478bd9Sstevel@tonic-gate# object files that depend on inline template
1160*7c478bd9Sstevel@tonic-gate$(TIL:%=pics/%): $(LIBCBASE)/threads/sparc.il
1161*7c478bd9Sstevel@tonic-gate$(IL:%=pics/%): $(LIBCBASE)/fp/base.il
1162*7c478bd9Sstevel@tonic-gate$(QIL:%=pics/%): ../$(MACH)/fp/__quad.il
1163*7c478bd9Sstevel@tonic-gate$(CIL:%=pics/%): $(LIBCBASE)/crt/muldiv64.il
1164*7c478bd9Sstevel@tonic-gate
1165*7c478bd9Sstevel@tonic-gate# include common libc targets
1166*7c478bd9Sstevel@tonic-gateinclude ../Makefile.targ
1167*7c478bd9Sstevel@tonic-gate
1168*7c478bd9Sstevel@tonic-gatepics/getxby_door.o := CCMODE =
1169*7c478bd9Sstevel@tonic-gate
1170*7c478bd9Sstevel@tonic-gate# We need to strip out all CTF and DOF data from the static library
1171*7c478bd9Sstevel@tonic-gate$(LIB_PIC) := DIR = pics
1172*7c478bd9Sstevel@tonic-gate$(LIB_PIC): pics $$(PICS)
1173*7c478bd9Sstevel@tonic-gate	$(BUILD.AR)
1174*7c478bd9Sstevel@tonic-gate	$(MCS) -d -n .SUNW_ctf $@ > /dev/null 2>&1
1175*7c478bd9Sstevel@tonic-gate	$(MCS) -d -n .SUNW_dof $@ > /dev/null 2>&1
1176*7c478bd9Sstevel@tonic-gate	$(AR) -ts $@ > /dev/null
1177*7c478bd9Sstevel@tonic-gate	$(POST_PROCESS_A)
1178*7c478bd9Sstevel@tonic-gate
1179*7c478bd9Sstevel@tonic-gate# special cases
1180*7c478bd9Sstevel@tonic-gate$(STRETS:%=pics/%): crt/stret.s
1181*7c478bd9Sstevel@tonic-gate	$(AS) $(ASFLAGS) -DSTRET$(@F:stret%.o=%) crt/stret.s -o $@
1182*7c478bd9Sstevel@tonic-gate	$(POST_PROCESS_O)
1183*7c478bd9Sstevel@tonic-gate
1184*7c478bd9Sstevel@tonic-gatecrt/_rtbootld.s:	crt/_rtboot.s crt/_rtld.c
1185*7c478bd9Sstevel@tonic-gate	$(CC) $(CPPFLAGS) $(CTF_FLAGS) -O -S -K pic \
1186*7c478bd9Sstevel@tonic-gate	    crt/_rtld.c -o crt/_rtld.s
1187*7c478bd9Sstevel@tonic-gate	$(CAT) crt/_rtboot.s crt/_rtld.s > $@
1188*7c478bd9Sstevel@tonic-gate	$(RM) crt/_rtld.s
1189*7c478bd9Sstevel@tonic-gate
1190*7c478bd9Sstevel@tonic-gate# partially built from C source
1191*7c478bd9Sstevel@tonic-gatepics/_rtbootld.o: crt/_rtbootld.s
1192*7c478bd9Sstevel@tonic-gate	$(AS) $(ASFLAGS) crt/_rtbootld.s -o $@
1193*7c478bd9Sstevel@tonic-gate	$(CTFCONVERT_O)
1194*7c478bd9Sstevel@tonic-gate
1195*7c478bd9Sstevel@tonic-gateASSYMDEP_OBJS=			\
1196*7c478bd9Sstevel@tonic-gate	_lwp_mutex_unlock.o	\
1197*7c478bd9Sstevel@tonic-gate	_stack_grow.o		\
1198*7c478bd9Sstevel@tonic-gate	asm_subr.o		\
1199*7c478bd9Sstevel@tonic-gate	tls_get_addr.o		\
1200*7c478bd9Sstevel@tonic-gate	unwind_frame.o		\
1201*7c478bd9Sstevel@tonic-gate	vfork.o
1202*7c478bd9Sstevel@tonic-gate
1203*7c478bd9Sstevel@tonic-gate$(ASSYMDEP_OBJS:%=pics/%)	:=	CPPFLAGS += -I.
1204*7c478bd9Sstevel@tonic-gate
1205*7c478bd9Sstevel@tonic-gate$(ASSYMDEP_OBJS:%=pics/%): assym.h
1206*7c478bd9Sstevel@tonic-gate
1207*7c478bd9Sstevel@tonic-gate# assym.h build rules
1208*7c478bd9Sstevel@tonic-gate
1209*7c478bd9Sstevel@tonic-gateGENASSYM_C = ../$(MACH)/genassym.c
1210*7c478bd9Sstevel@tonic-gate
1211*7c478bd9Sstevel@tonic-gate# XXX	A hack.  Perhaps this should be 'CPPFLAGS.native' and
1212*7c478bd9Sstevel@tonic-gate#	live in Makefile.master
1213*7c478bd9Sstevel@tonic-gate
1214*7c478bd9Sstevel@tonic-gateCPPFLAGS.genassym = \
1215*7c478bd9Sstevel@tonic-gate	$(ENVCPPFLAGS1) $(ENVCPPFLAGS2) $(ENVCPPFLAGS3) $(ENVCPPFLAGS4)
1216*7c478bd9Sstevel@tonic-gate
1217*7c478bd9Sstevel@tonic-gategenassym: $(GENASSYM_C)
1218*7c478bd9Sstevel@tonic-gate	$(NATIVECC) -I$(LIBCBASE)/inc -I../inc \
1219*7c478bd9Sstevel@tonic-gate		$(CPPFLAGS.genassym) -o $@ $(GENASSYM_C)
1220*7c478bd9Sstevel@tonic-gate
1221*7c478bd9Sstevel@tonic-gateOFFSETS = ../$(MACH)/offsets.in
1222*7c478bd9Sstevel@tonic-gate
1223*7c478bd9Sstevel@tonic-gateassym.h: $(OFFSETS) genassym
1224*7c478bd9Sstevel@tonic-gate	$(OFFSETS_CREATE) <$(OFFSETS) >$@
1225*7c478bd9Sstevel@tonic-gate	./genassym >>$@
1226*7c478bd9Sstevel@tonic-gate
1227*7c478bd9Sstevel@tonic-gate# derived C source and related explicit dependencies
1228*7c478bd9Sstevel@tonic-gate../port/gen/errlst.c + \
1229*7c478bd9Sstevel@tonic-gate../port/gen/new_list.c: ../port/gen/errlist ../port/gen/errlist.awk
1230*7c478bd9Sstevel@tonic-gate	cd ../port/gen; pwd; $(AWK) -f errlist.awk < errlist
1231*7c478bd9Sstevel@tonic-gate
1232*7c478bd9Sstevel@tonic-gatepics/errlst.o: ../port/gen/errlst.c
1233*7c478bd9Sstevel@tonic-gate
1234*7c478bd9Sstevel@tonic-gatepics/new_list.o: ../port/gen/new_list.c
1235