xref: /illumos-gate/usr/src/Targetdirs (revision d17be682a2c70b4505d43c830bbd2603da11918d)
1# CDDL HEADER START
2#
3# The contents of this file are subject to the terms of the
4# Common Development and Distribution License (the "License").
5# You may not use this file except in compliance with the License.
6#
7# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8# or http://www.opensolaris.org/os/licensing.
9# See the License for the specific language governing permissions
10# and limitations under the License.
11#
12# When distributing Covered Code, include this CDDL HEADER in each
13# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
14# If applicable, add the following below this CDDL HEADER, with the
15# fields enclosed by brackets "[]" replaced with your own identifying
16# information: Portions Copyright [yyyy] [name of copyright owner]
17#
18# CDDL HEADER END
19#
20
21#
22# Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
23# Copyright 2011, Richard Lowe
24# Copyright (c) 2012 by Delphix. All rights reserved.
25# Copyright (c) 2012, Igor Kozhukhov <ikozhukhov@gmail.com>
26# Copyright 2012 OmniTI Computer Consulting, Inc.  All rights reserved.
27# Copyright 2022 Garrett D'Amore <garrett@damore.org>
28# Copyright 2016 Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
29# Copyright 2017 Nexenta Systems, Inc.
30# Copyright 2017 RackTop Systems.
31# Copyright 2022 OmniOS Community Edition (OmniOSce) Association.
32# Copyright 2020 Joyent, Inc.
33#
34
35#
36# It is easier to think in terms of directory names without the ROOT macro
37# prefix.  ROOTDIRS is TARGETDIRS with ROOT prefixes.  It is necessary
38# to work with ROOT prefixes when controlling conditional assignments.
39#
40
41DIRLINKS=	$(SYM.DIRS)
42$(BUILD64)	DIRLINKS += $(SYM.DIRS64)
43
44TARGETDIRS=	$(DIRS)
45$(BUILD64)	TARGETDIRS += $(DIRS64)
46
47TARGETDIRS	+= $(FILELINKS) $(DIRLINKS)
48
49i386_DIRS=			\
50	/boot/acpi		\
51	/boot/acpi/tables	\
52	/boot/grub		\
53	/boot/grub/bin		\
54	/platform/i86pc		\
55	/lib/libmvec		\
56	/usr/lib/xen		\
57	/usr/lib/xen/bin	\
58	/usr/share/bhyve
59
60sparc_DIRS=			\
61	/usr/lib/ldoms
62
63sparc_64ONLY= $(POUND_SIGN)
6464ONLY=  $($(MACH)_64ONLY)
65
66$(64ONLY) MACH32_DIRS=/usr/ucb/$(MACH32)
67
68PYTHON3_DIRS = \
69	/usr/lib/python$(PYTHON3_VERSION) \
70	/usr/lib/python$(PYTHON3_VERSION)/vendor-packages \
71	/usr/lib/python$(PYTHON3_VERSION)/vendor-packages/solaris \
72	/usr/lib/python$(PYTHON3_VERSION)/vendor-packages/solaris/__pycache__ \
73	/usr/lib/python$(PYTHON3_VERSION)/vendor-packages/zfs \
74	/usr/lib/python$(PYTHON3_VERSION)/vendor-packages/zfs/__pycache__
75
76$(BUILDPY3b)PYTHON3_DIRS += \
77	/usr/lib/python$(PYTHON3b_VERSION) \
78	/usr/lib/python$(PYTHON3b_VERSION)/vendor-packages \
79	/usr/lib/python$(PYTHON3b_VERSION)/vendor-packages/solaris \
80	/usr/lib/python$(PYTHON3b_VERSION)/vendor-packages/solaris/__pycache__ \
81	/usr/lib/python$(PYTHON3b_VERSION)/vendor-packages/zfs \
82	/usr/lib/python$(PYTHON3b_VERSION)/vendor-packages/zfs/__pycache__
83
84DIRS= \
85	/boot \
86	/boot/solaris \
87	/boot/solaris/bin \
88	$($(MACH)_DIRS) \
89	/dev \
90	/dev/dsk \
91	/dev/fd \
92	/dev/ipnet \
93	/dev/net \
94	/dev/rdsk \
95	/dev/rmt \
96	/dev/pts \
97	/dev/sad \
98	/dev/swap \
99	/dev/term \
100	/dev/vt \
101	/dev/zcons \
102	/devices \
103	/devices/pseudo \
104	/etc \
105	/etc/brand  \
106	/etc/brand/solaris10  \
107	/etc/cron.d \
108	/etc/crypto \
109	/etc/crypto/certs \
110	/etc/crypto/crls \
111	/etc/dbus-1 \
112	/etc/dbus-1/system.d \
113	/etc/default \
114	/etc/devices  \
115	/etc/dev  \
116	/etc/dfs  \
117	/etc/dladm \
118	/etc/fs  \
119	/etc/fs/nfs  \
120	/etc/fs/zfs \
121	/etc/ftpd  \
122	/etc/hal \
123	/etc/hal/fdi \
124	/etc/hal/fdi/information \
125	/etc/hal/fdi/information/10freedesktop \
126	/etc/hal/fdi/information/20thirdparty \
127	/etc/hal/fdi/information/30user \
128	/etc/hal/fdi/policy \
129	/etc/hal/fdi/policy/10osvendor \
130	/etc/hal/fdi/policy/20thirdparty \
131	/etc/hal/fdi/policy/30user \
132	/etc/hal/fdi/preprobe \
133	/etc/hal/fdi/preprobe/10osvendor \
134	/etc/hal/fdi/preprobe/20thirdparty \
135	/etc/hal/fdi/preprobe/30user \
136	/etc/ipadm \
137	/etc/iscsi \
138	/etc/rpcsec	\
139	/etc/security	\
140	/etc/security/auth_attr.d \
141	/etc/security/exec_attr.d \
142	/etc/security/prof_attr.d \
143	/etc/security/tsol	\
144	/etc/gss	\
145	/etc/init.d  \
146	/etc/dhcp	\
147	/etc/lib  \
148	/etc/mail  \
149	/etc/mail/cf  \
150	/etc/mail/cf/cf  \
151	/etc/mail/cf/domain  \
152	/etc/mail/cf/feature  \
153	/etc/mail/cf/m4  \
154	/etc/mail/cf/mailer  \
155	/etc/mail/cf/ostype  \
156	/etc/mail/cf/sh  \
157	/etc/net-snmp \
158	/etc/net-snmp/snmp \
159	/etc/opt  \
160	/etc/rc0.d  \
161	/etc/rc1.d  \
162	/etc/rc2.d  \
163	/etc/rc3.d  \
164	/etc/rcS.d  \
165	/etc/saf \
166	/etc/sasl	\
167	/etc/sfw \
168	/etc/skel	\
169	/etc/svc \
170	/etc/svc/profile \
171	/etc/svc/profile/site \
172	/etc/svc/volatile \
173	/etc/system.d \
174	/etc/tm  \
175	/etc/usb   \
176	/etc/user_attr.d \
177	/etc/zfs  \
178	/etc/zones  \
179	/export  \
180	/home  \
181	/lib \
182	/lib/crypto \
183	/lib/inet \
184	/lib/fm \
185	/lib/secure \
186	/lib/svc \
187	/lib/svc/bin \
188	/lib/svc/capture \
189	/lib/svc/manifest \
190	/lib/svc/manifest/milestone \
191	/lib/svc/manifest/device \
192	/lib/svc/manifest/system \
193	/lib/svc/manifest/system/device \
194	/lib/svc/manifest/system/filesystem \
195	/lib/svc/manifest/system/security \
196	/lib/svc/manifest/system/svc \
197	/lib/svc/manifest/network \
198	/lib/svc/manifest/network/dns \
199	/lib/svc/manifest/network/ipsec \
200	/lib/svc/manifest/network/ldap \
201	/lib/svc/manifest/network/nfs \
202	/lib/svc/manifest/network/nis \
203	/lib/svc/manifest/network/rpc \
204	/lib/svc/manifest/network/security \
205	/lib/svc/manifest/network/shares \
206	/lib/svc/manifest/application \
207	/lib/svc/manifest/application/management \
208	/lib/svc/manifest/application/security \
209	/lib/svc/manifest/application/print \
210	/lib/svc/manifest/platform \
211	/lib/svc/manifest/platform/sun4u \
212	/lib/svc/manifest/platform/sun4v \
213	/lib/svc/manifest/site \
214	/lib/svc/method \
215	/lib/svc/monitor \
216	/lib/svc/seed \
217	/lib/svc/share \
218	/kernel  \
219	/kernel/firmware \
220	/mnt  \
221	/opt  \
222	/platform  \
223	/proc  \
224	/root  \
225	/sbin  \
226	/system \
227	/system/boot \
228	/system/contract \
229	/system/object \
230	/tmp \
231	/usr  \
232	/usr/ast \
233	/usr/ast/bin \
234	/usr/bin \
235	/usr/bin/$(MACH32) \
236	/usr/ccs \
237	/usr/ccs/bin \
238	/usr/ccs/lib \
239	/usr/demo \
240	/usr/demo/SOUND \
241	/usr/games \
242	/usr/has \
243	/usr/has/bin \
244	/usr/has/lib \
245        /usr/has/man \
246	/usr/include \
247	/usr/include/ads \
248	/usr/include/ast \
249	/usr/include/fm \
250	/usr/include/gssapi \
251	/usr/include/hal \
252	/usr/include/kerberosv5 \
253	/usr/include/libmilter \
254	/usr/include/libpolkit \
255	/usr/include/sasl \
256	/usr/include/scsi \
257	/usr/include/security \
258	/usr/include/sys/crypto \
259	/usr/include/tsol \
260	/usr/kernel  \
261	/usr/kvm \
262	/usr/lib \
263	/usr/lib/abi \
264	/usr/lib/brand \
265	/usr/lib/brand/ipkg \
266	/usr/lib/brand/labeled \
267	/usr/lib/brand/shared \
268	/usr/lib/brand/sn1 \
269	/usr/lib/brand/solaris10 \
270	/usr/lib/class \
271	/usr/lib/class/FSS \
272	/usr/lib/class/FX \
273	/usr/lib/class/IA \
274	/usr/lib/class/RT \
275	/usr/lib/class/SDC \
276	/usr/lib/class/TS \
277	/usr/lib/crypto \
278	/usr/lib/elfedit \
279	/usr/lib/fm \
280	/usr/lib/font \
281	/usr/lib/fs \
282	/usr/lib/fs/nfs \
283	/usr/lib/fs/proc \
284	/usr/lib/fs/smb \
285	/usr/lib/fs/zfs \
286	/usr/lib/gss \
287	/usr/lib/hal \
288	/usr/lib/inet \
289	/usr/lib/inet/ilb \
290	/usr/lib/krb5 \
291	/usr/lib/link_audit \
292	/usr/lib/lwp \
293	/usr/lib/mdb \
294	/usr/lib/mdb/kvm \
295	/usr/lib/mdb/proc \
296	/usr/lib/nfs \
297	/usr/lib/varpd \
298	/usr/net \
299	/usr/net/servers \
300	/usr/lib/pool \
301	/usr/lib/rcap \
302	/usr/lib/rcap/$(MACH32) \
303	/usr/lib/sa  \
304	/usr/lib/saf \
305	/usr/lib/sasl \
306	/usr/lib/scsi \
307	/usr/lib/secure \
308	/usr/lib/security \
309	/usr/lib/smbsrv \
310	/usr/lib/vscan \
311	/usr/lib/zfs \
312	/usr/lib/zones \
313	/usr/old \
314	/usr/platform  \
315	/usr/proc \
316	/usr/proc/bin \
317	/usr/sadm \
318	/usr/sadm/install \
319	/usr/sadm/install/bin \
320	/usr/sadm/install/scripts \
321	/usr/sbin \
322	/usr/sbin/$(MACH32) \
323	/usr/share  \
324	/usr/share/applications \
325	/usr/share/audio \
326	/usr/share/audio/samples \
327	/usr/share/audio/samples/au \
328	/usr/share/gnome \
329	/usr/share/gnome/autostart \
330	/usr/share/hwdata \
331	/usr/share/lib \
332	/usr/share/lib/ccs \
333	/usr/share/lib/tmac  \
334	/usr/share/lib/ldif  \
335	/usr/share/lib/xml \
336	/usr/share/lib/xml/dtd \
337	/usr/share/man \
338	/usr/share/src \
339	/usr/ucb \
340	$(MACH32_DIRS) \
341	/usr/ucblib \
342	/usr/xpg4 \
343	/usr/xpg4/bin \
344	/usr/xpg4/include \
345	/usr/xpg4/lib \
346	/usr/xpg6 \
347	/usr/xpg6/bin \
348	/var  \
349	/var/adm  \
350	/var/adm/exacct \
351	/var/adm/log \
352	/var/adm/pool \
353	/var/adm/sa \
354	/var/adm/sm.bin \
355	/var/adm/streams \
356	/var/cores \
357	/var/cron \
358	/var/db \
359	/var/db/ipf \
360	/var/games \
361	/var/idmap \
362	/var/krb5 \
363	/var/krb5/rcache  \
364	/var/krb5/rcache/root  \
365	/var/ld \
366	/var/log \
367	/var/log/pool \
368	/var/logadm \
369	/var/mail \
370	/var/news \
371	/var/opt \
372	/var/preserve \
373	/var/run \
374	/var/saf \
375	/var/sadm \
376	/var/sadm/install \
377	/var/sadm/install/admin \
378	/var/sadm/install/logs \
379	/var/sadm/pkg \
380	/var/sadm/security \
381	/var/smb \
382	/var/smb/cvol \
383	/var/smb/cvol/windows \
384	/var/smb/cvol/windows/system32 \
385	/var/smb/cvol/windows/system32/vss \
386	/var/spool \
387	/var/spool/cron \
388	/var/spool/cron/atjobs \
389	/var/spool/cron/crontabs \
390	/var/spool/lp \
391	/var/spool/pkg \
392	/var/spool/uucp \
393	/var/spool/uucppublic \
394	/var/svc \
395	/var/svc/log \
396	/var/svc/manifest \
397	/var/svc/manifest/milestone \
398	/var/svc/manifest/device \
399	/var/svc/manifest/system \
400	/var/svc/manifest/system/device \
401	/var/svc/manifest/system/filesystem \
402	/var/svc/manifest/system/security \
403	/var/svc/manifest/system/svc \
404	/var/svc/manifest/network \
405	/var/svc/manifest/network/dns \
406	/var/svc/manifest/network/ipsec \
407	/var/svc/manifest/network/ldap \
408	/var/svc/manifest/network/nfs \
409	/var/svc/manifest/network/nis \
410	/var/svc/manifest/network/rpc \
411	/var/svc/manifest/network/routing \
412	/var/svc/manifest/network/security \
413	/var/svc/manifest/network/shares \
414	/var/svc/manifest/application \
415	/var/svc/manifest/application/management \
416	/var/svc/manifest/application/print \
417	/var/svc/manifest/application/security \
418	/var/svc/manifest/platform \
419	/var/svc/manifest/platform/sun4u \
420	/var/svc/manifest/platform/sun4v \
421	/var/svc/manifest/site \
422	/var/svc/profile \
423	/var/uucp \
424	/var/tmp \
425	/var/tsol \
426	/var/tsol/doors
427
428sparcv9_DIRS64= \
429	/platform/sun4u \
430	/platform/sun4u/lib \
431	/platform/sun4u/lib/$(MACH64) \
432	/usr/platform/sun4u \
433	/usr/platform/sun4u/sbin \
434	/usr/platform/sun4u/lib \
435	/platform/sun4v/lib \
436	/platform/sun4v/lib/$(MACH64) \
437	/usr/platform/sun4v/sbin \
438	/usr/platform/sun4v/lib \
439	/usr/platform/sun4u-us3/lib \
440	/usr/platform/sun4u-opl/lib
441
442amd64_DIRS64= \
443	/platform/i86pc/amd64
444
445DIRS64= \
446	$($(MACH64)_DIRS64) \
447	/lib/$(MACH64) \
448	/lib/crypto/$(MACH64) \
449	/lib/fm/$(MACH64) \
450	/lib/secure/$(MACH64) \
451	/usr/bin/$(MACH64) \
452	/usr/ccs/bin/$(MACH64)  \
453	/usr/ccs/lib/$(MACH64) \
454	/usr/lib/$(MACH64) \
455	/usr/lib/$(MACH64)/gss \
456	/usr/lib/brand/sn1/$(MACH64) \
457	/usr/lib/brand/solaris10/$(MACH64) \
458	/usr/lib/elfedit/$(MACH64) \
459	/usr/lib/fm/$(MACH64) \
460	/usr/lib/fs/nfs/$(MACH64) \
461	/usr/lib/fs/smb/$(MACH64) \
462	/usr/lib/inet/$(MACH64) \
463	/usr/lib/krb5/$(MACH64) \
464	/usr/lib/link_audit/$(MACH64) \
465	/usr/lib/lwp/$(MACH64) \
466	/usr/lib/mdb/kvm/$(MACH64) \
467	/usr/lib/mdb/proc/$(MACH64) \
468	$(PYTHON3_DIRS) \
469	/usr/lib/rcap/$(MACH64) \
470	/usr/lib/sasl/$(MACH64) \
471	/usr/lib/scsi/$(MACH64) \
472	/usr/lib/secure/$(MACH64) \
473	/usr/lib/security/$(MACH64) \
474	/usr/lib/smbsrv/$(MACH64) \
475	/usr/lib/abi/$(MACH64) \
476	/usr/lib/varpd/$(MACH64) \
477	/usr/sbin/$(MACH64) \
478	/usr/ucb/$(MACH64) \
479	/usr/ucblib/$(MACH64) \
480	/usr/xpg4/lib/$(MACH64) \
481	/var/ld/$(MACH64)
482
483# /var/mail/:saved is built directly by the rootdirs target in
484# /usr/src/Makefile because of the colon in its name.
485
486# macros for symbolic links
487SYM.DIRS= \
488	/bin \
489	/dev/stdin \
490	/dev/stdout \
491	/dev/stderr \
492	/etc/log \
493	/lib/32 \
494	/lib/crypto/32 \
495	/lib/secure/32 \
496	/usr/adm \
497	/usr/spool \
498	/usr/lib/tmac \
499	/usr/ccs/lib/link_audit \
500	/usr/news \
501	/usr/preserve \
502	/usr/lib/32 \
503	/usr/lib/cron \
504	/usr/lib/elfedit/32 \
505	/usr/lib/lwp/32 \
506	/usr/lib/link_audit/32 \
507	/usr/lib/secure/32 \
508	/usr/mail \
509	/usr/man \
510	/usr/pub \
511	/usr/src \
512	/usr/tmp \
513	/usr/ucblib/32 \
514	/var/ld/32
515
516sparc_SYM.DIRS64=
517
518SYM.DIRS64= \
519	$($(MACH)_SYM.DIRS64) \
520	/lib/64 \
521	/lib/crypto/64 \
522	/lib/secure/64 \
523	/usr/lib/64 \
524	/usr/lib/brand/sn1/64 \
525	/usr/lib/brand/solaris10/64 \
526	/usr/lib/elfedit/64 \
527	/usr/lib/link_audit/64 \
528	/usr/lib/lwp/64 \
529	/usr/lib/secure/64 \
530	/usr/lib/security/64 \
531	/usr/lib/varpd/64 \
532	/usr/xpg4/lib/64 \
533	/var/ld/64 \
534	/usr/ucblib/64
535
536# prepend the ROOT prefix
537
538ROOTDIRS=	$(TARGETDIRS:%=$(ROOT)%)
539
540# conditional assignments
541#
542# Target directories with non-default values for owner and group must
543# be referenced here, using their fully-prefixed names, and the non-
544# default values assigned.  If a directory is mentioned above and not
545# mentioned below, it has default values for attributes.
546#
547# The default value for DIRMODE is specified in usr/src/Makefile.master.
548#
549
550$(ROOT)/var/adm \
551$(ROOT)/var/adm/sa :=		DIRMODE= 775
552
553$(ROOT)/var/spool/lp:=		DIRMODE= 775
554
555# file mode
556#
557$(ROOT)/tmp \
558$(ROOT)/var/krb5/rcache \
559$(ROOT)/var/preserve \
560$(ROOT)/var/spool/pkg \
561$(ROOT)/var/spool/uucppublic \
562$(ROOT)/var/tmp:=	DIRMODE= 1777
563
564$(ROOT)/root:=		DIRMODE= 700
565
566$(ROOT)/var/krb5/rcache/root:=	DIRMODE= 700
567
568
569#
570# These permissions must match those set
571# in the package manifests.
572#
573$(ROOT)/var/sadm/pkg \
574$(ROOT)/var/sadm/security \
575$(ROOT)/var/sadm/install/logs :=	DIRMODE= 555
576
577
578#
579# These permissions must match the ones set
580# internally by fdfs and autofs.
581#
582$(ROOT)/dev/fd \
583$(ROOT)/home:=		DIRMODE= 555
584
585$(ROOT)/var/mail:=	DIRMODE=1777
586
587$(ROOT)/proc:=		DIRMODE= 555
588
589$(ROOT)/system/boot:=		DIRMODE= 555
590$(ROOT)/system/contract:=	DIRMODE= 555
591$(ROOT)/system/object:=		DIRMODE= 555
592
593# symlink assignments, LINKDEST is the value of the symlink
594#
595$(ROOT)/usr/lib/cron:=			LINKDEST=../../etc/cron.d
596$(ROOT)/bin:=				LINKDEST=usr/bin
597$(ROOT)/lib/32:=			LINKDEST=.
598$(ROOT)/lib/crypto/32:=			LINKDEST=.
599$(ROOT)/lib/secure/32:=			LINKDEST=.
600$(ROOT)/dev/stdin:=			LINKDEST=fd/0
601$(ROOT)/dev/stdout:=			LINKDEST=fd/1
602$(ROOT)/dev/stderr:=			LINKDEST=fd/2
603$(ROOT)/usr/pub:=			LINKDEST=share/lib/pub
604$(ROOT)/usr/man:=			LINKDEST=share/man
605$(ROOT)/usr/src:=			LINKDEST=share/src
606$(ROOT)/usr/adm:=			LINKDEST=../var/adm
607$(ROOT)/etc/log:=			LINKDEST=../var/adm/log
608$(ROOT)/usr/mail:=			LINKDEST=../var/mail
609$(ROOT)/usr/news:=			LINKDEST=../var/news
610$(ROOT)/usr/preserve:=			LINKDEST=../var/preserve
611$(ROOT)/usr/spool:=			LINKDEST=../var/spool
612$(ROOT)/usr/tmp:=			LINKDEST=../var/tmp
613$(ROOT)/usr/lib/tmac:=			LINKDEST=../share/lib/tmac
614$(ROOT)/usr/lib/32:=			LINKDEST=.
615$(ROOT)/usr/lib/elfedit/32:=		LINKDEST=.
616$(ROOT)/usr/lib/lwp/32:=		LINKDEST=.
617$(ROOT)/usr/lib/link_audit/32:=		LINKDEST=.
618$(ROOT)/usr/lib/secure/32:=		LINKDEST=.
619$(ROOT)/usr/ccs/lib/link_audit:=	LINKDEST=../../lib/link_audit
620$(ROOT)/var/ld/32:=			LINKDEST=.
621$(ROOT)/usr/ucblib/32:=			LINKDEST=.
622
623
624$(BUILD64) $(ROOT)/lib/64:=		LINKDEST=$(MACH64)
625$(BUILD64) $(ROOT)/lib/crypto/64:=	LINKDEST=$(MACH64)
626$(BUILD64) $(ROOT)/lib/secure/64:=	LINKDEST=$(MACH64)
627$(BUILD64) $(ROOT)/usr/lib/64:=		LINKDEST=$(MACH64)
628$(BUILD64) $(ROOT)/usr/lib/elfedit/64:=	LINKDEST=$(MACH64)
629$(BUILD64) $(ROOT)/usr/lib/brand/sn1/64:=	LINKDEST=$(MACH64)
630$(BUILD64) $(ROOT)/usr/lib/brand/solaris10/64:=	LINKDEST=$(MACH64)
631$(BUILD64) $(ROOT)/usr/lib/lwp/64:=	LINKDEST=$(MACH64)
632$(BUILD64) $(ROOT)/usr/lib/link_audit/64:=	LINKDEST=$(MACH64)
633$(BUILD64) $(ROOT)/usr/lib/secure/64:=	LINKDEST=$(MACH64)
634$(BUILD64) $(ROOT)/usr/lib/security/64:=	LINKDEST=$(MACH64)
635$(BUILD64) $(ROOT)/usr/lib/varpd/64:=	LINKDEST=$(MACH64)
636$(BUILD64) $(ROOT)/usr/xpg4/lib/64:=	LINKDEST=$(MACH64)
637$(BUILD64) $(ROOT)/var/ld/64:=		LINKDEST=$(MACH64)
638$(BUILD64) $(ROOT)/usr/ucblib/64:=	LINKDEST=$(MACH64)
639
640#
641# Installing a directory symlink calls for overriding INS.dir to install
642# a symlink.
643#
644$(DIRLINKS:%=$(ROOT)%):= \
645   INS.dir= -$(RM) -r $@; $(SYMLINK) $(LINKDEST) $@
646