1# Doing a "make install" builds /usr/include. 2 3.include <src.opts.mk> 4 5PACKAGE=clibs 6CLEANFILES= osreldate.h version 7SUBDIR= arpa protocols rpcsvc rpc ssp xlocale 8.if ${MACHINE_CPUARCH} == "amd64" 9SUBDIR+= i386 10INCLUDE_SUBDIRS+= i386 11.endif 12.if ${MACHINE_CPUARCH} == "aarch64" 13SUBDIR+= arm 14INCLUDE_SUBDIRS+= arm 15.endif 16SUBDIR_PARALLEL= 17INCS= a.out.h ar.h assert.h bitstring.h byteswap.h \ 18 complex.h cpio.h _ctype.h ctype.h \ 19 db.h \ 20 dirent.h dlfcn.h elf.h elf-hints.h endian.h err.h exterr.h \ 21 fmtmsg.h fnmatch.h \ 22 fstab.h fts.h ftw.h getopt.h glob.h grp.h \ 23 ieeefp.h ifaddrs.h \ 24 inttypes.h iso646.h kenv.h langinfo.h libgen.h limits.h link.h \ 25 locale.h malloc.h malloc_np.h memory.h monetary.h mpool.h mqueue.h \ 26 ndbm.h netconfig.h \ 27 netdb.h nl_types.h nlist.h nss.h nsswitch.h paths.h \ 28 printf.h proc_service.h pthread.h \ 29 pthread_np.h pwd.h ranlib.h readpassphrase.h regex.h \ 30 res_update.h resolv.h runetype.h sched.h \ 31 search.h semaphore.h setjmp.h \ 32 signal.h spawn.h stab.h stdalign.h stdbit.h stdbool.h stdckdint.h \ 33 stddef.h stdnoreturn.h stdio.h stdlib.h string.h stringlist.h \ 34 strings.h sysexits.h tar.h termios.h tgmath.h \ 35 time.h timeconv.h timers.h ttyent.h \ 36 uchar.h uexterror.h ulimit.h unistd.h utime.h utmpx.h uuid.h \ 37 varargs.h \ 38 wchar.h wctype.h wordexp.h xlocale.h 39 40.PATH: ${SRCTOP}/contrib/libc-vis 41INCS+= vis.h 42 43MHDRS= float.h floatingpoint.h 44 45PHDRS= _semaphore.h stdarg.h 46 47LHDRS= aio.h errno.h fcntl.h linker_set.h poll.h stdatomic.h stdint.h \ 48 syslog.h ucontext.h 49 50LDIRS= geom net net80211 netgraph netinet netinet6 \ 51 netipsec netlink netsmb nfs nfsclient nfsserver sys vm 52 53LSUBDIRS= dev/acpica dev/agp dev/ciss dev/filemon dev/firewire \ 54 dev/hwpmc dev/hyperv \ 55 dev/ic dev/iicbus dev/io dev/mfi dev/mmc dev/ntsync \ 56 dev/ofw dev/pbio dev/pci ${_dev_powermac_nvram} dev/ppbus dev/pwm \ 57 dev/smbus dev/speaker dev/tcp_log dev/veriexec dev/vkbd dev/wg \ 58 fs/devfs fs/fdescfs fs/msdosfs fs/nfs fs/nullfs \ 59 fs/procfs fs/smbfs fs/udf fs/unionfs \ 60 geom/cache geom/concat geom/eli geom/gate geom/journal geom/label \ 61 geom/mirror geom/mountver geom/multipath geom/nop \ 62 geom/raid geom/raid3 geom/shsec geom/stripe geom/union geom/virstor \ 63 geom/zoned \ 64 net/altq \ 65 net/route \ 66 netgraph/netflow \ 67 netinet/cc \ 68 netinet/netdump \ 69 netinet/tcp_stacks \ 70 netlink/route \ 71 security/mac_biba security/mac_bsdextended \ 72 security/mac_grantbylabel \ 73 security/mac_lomac \ 74 security/mac_mls security/mac_partition \ 75 security/mac_veriexec \ 76 sys/disk \ 77 ufs/ffs ufs/ufs 78 79LSUBSUBDIRS= dev/mpt/mpilib 80 81.PATH: ${SRCTOP}/sys/dev/acpica 82ACPICA= acpi_hpet.h \ 83 acpiio.h 84ACPICADIR= ${INCLUDEDIR}/dev/acpica 85 86.PATH: ${SRCTOP}/sys/dev/agp 87AGP= agpreg.h 88AGPDIR= ${INCLUDEDIR}/dev/agp 89 90.PATH: ${SRCTOP}/sys/bsm 91BSM= audit.h \ 92 audit_errno.h \ 93 audit_internal.h \ 94 audit_record.h \ 95 audit_domain.h \ 96 audit_fcntl.h \ 97 audit_kevents.h \ 98 audit_socket_type.h 99BSMPACKAGE= audit 100BSMDIR= ${INCLUDEDIR}/bsm 101 102.PATH: ${SRCTOP}/sys/security 103SECAUDIT= audit/audit.h \ 104 audit/audit_ioctl.h \ 105 audit/audit_private.h 106SECAUDITPACKAGE= audit 107SECAUDITDIR= ${INCLUDEDIR}/security/audit 108 109.PATH: ${SRCTOP}/sys/cam 110CAM= cam.h \ 111 cam_ccb.h \ 112 cam_compat.h \ 113 cam_debug.h \ 114 cam_iosched.h \ 115 cam_periph.h \ 116 cam_queue.h \ 117 cam_sim.h \ 118 cam_xpt.h \ 119 cam_xpt_internal.h \ 120 cam_xpt_periph.h \ 121 cam_xpt_sim.h 122CAMDIR= ${INCLUDEDIR}/cam 123 124.PATH: ${SRCTOP}/sys/cam/ata 125CAMATA= ata_all.h 126CAMATADIR= ${INCLUDEDIR}/cam/ata 127 128.PATH: ${SRCTOP}/sys/cam/mmc 129CAMMMC= mmc.h \ 130 mmc_bus.h \ 131 mmc_all.h 132CAMMMCDIR= ${INCLUDEDIR}/cam/mmc 133 134.PATH: ${SRCTOP}/sys/cam/nvme 135CAMNVME= nvme_all.h 136CAMNVMEDIR= ${INCLUDEDIR}/cam/nvme 137 138.PATH: ${SRCTOP}/sys/cam/scsi 139CAMSCSI= scsi_all.h \ 140 scsi_cd.h \ 141 scsi_ch.h \ 142 scsi_da.h \ 143 scsi_enc.h \ 144 scsi_enc_internal.h \ 145 scsi_iu.h \ 146 scsi_message.h \ 147 scsi_pass.h \ 148 scsi_pt.h \ 149 scsi_sa.h \ 150 scsi_ses.h \ 151 scsi_sg.h \ 152 scsi_targetio.h \ 153 smp_all.h 154CAMSCSIDIR= ${INCLUDEDIR}/cam/scsi 155 156.PATH: ${SRCTOP}/sys/dev/coreboot 157COREBOOT= corebootio.h 158COREBOOTDIR= ${INCLUDEDIR}/dev/coreboot 159 160.PATH: ${SRCTOP}/sys/fs/cd9660 161FS9660= cd9660_mount.h \ 162 cd9660_node.h \ 163 cd9660_rrip.h \ 164 iso.h \ 165 iso_rrip.h 166FS9660DIR= ${INCLUDEDIR}/isofs/cd9660 167 168.PATH: ${SRCTOP}/sys/dev/evdev 169EVDEV= input.h \ 170 input-event-codes.h \ 171 uinput.h 172EVDEVDIR= ${INCLUDEDIR}/dev/evdev 173 174.PATH: ${SRCTOP}/sys/dev/hid 175HID= hid.h \ 176 hidraw.h 177HIDDIR= ${INCLUDEDIR}/dev/hid 178 179.PATH: ${SRCTOP}/sys/dev/hyperv/include ${SRCTOP}/sys/dev/hyperv/utilities 180HYPERV= hv_snapshot.h \ 181 hyperv.h 182HYPERVDIR= ${INCLUDEDIR}/dev/hyperv 183 184.PATH: ${SRCTOP}/sys/opencrypto 185OPENCRYPTO= cryptodev.h 186OPENCRYPTODIR= ${INCLUDEDIR}/crypto 187 188.PATH: ${SRCTOP}/sys/dev/nvme 189NVME= nvme.h 190NVMEDIR= ${INCLUDEDIR}/dev/nvme 191 192.PATH: ${SRCTOP}/sys/dev/nvmf 193NVMF= nvmf.h \ 194 nvmf_proto.h 195NVMFDIR= ${INCLUDEDIR}/dev/nvmf 196 197.PATH: ${SRCTOP}/sys/dev/pci 198PCI= pcireg.h 199PCIDIR= ${INCLUDEDIR}/dev/pci 200 201.PATH: ${SRCTOP}/sys/dev/ufshci 202UFSHCI= ufshci.h \ 203 ufshci_ioctl.h 204UFSHCIDIR= ${INCLUDEDIR}/dev/ufshci 205 206.PATH: ${SRCTOP}/sys/dev/veriexec 207VERIEXEC= veriexec_ioctl.h 208VERIEXECDIR= ${INCLUDEDIR}/dev/veriexec 209 210.PATH: ${SRCTOP}/sys/netpfil/ipfilter/netinet 211IPFILTER= ip_auth.h \ 212 ip_compat.h \ 213 ip_dstlist.h \ 214 ip_fil.h \ 215 ip_frag.h \ 216 ip_htable.h \ 217 ip_lookup.h \ 218 ip_nat.h \ 219 ip_pool.h \ 220 ip_proxy.h \ 221 ip_rules.h \ 222 ip_scan.h \ 223 ip_state.h \ 224 ip_sync.h \ 225 ipf_rb.h \ 226 ipl.h \ 227 radix_ipf.h 228IPFILTERDIR= ${INCLUDEDIR}/netinet 229 230.PATH: ${SRCTOP}/sys/netpfil/pf 231PF= pf.h \ 232 pf_altq.h \ 233 pf_mtag.h \ 234 pf_nl.h 235PFPACKAGE= pf 236PFDIR= ${INCLUDEDIR}/netpfil/pf 237 238.PATH: ${SRCTOP}/sys/rpc 239RPC= rpcsec_tls.h \ 240 types.h 241RPCDIR= ${INCLUDEDIR}/rpc 242 243.PATH: ${SRCTOP}/sys/teken 244TEKEN= teken.h 245TEKENDIR= ${INCLUDEDIR}/teken 246 247.PATH: ${ZFSTOP}/include/sys 248NVPAIR= nvpair.h 249NVPAIRDIR= ${INCLUDEDIR}/sys 250 251.PATH: ${SRCTOP}/sys/dev/mlx5 252MLX5= mlx5io.h 253MLX5DIR= ${INCLUDEDIR}/dev/mlx5 254 255.PATH: ${SRCTOP}/sys/dev/wg 256WG= if_wg.h 257WGDIR= ${INCLUDEDIR}/dev/wg 258 259INCSGROUPS= INCS \ 260 ACPICA \ 261 AGP \ 262 BSM \ 263 CAM \ 264 CAMATA \ 265 CAMMMC \ 266 CAMNVME \ 267 CAMSCSI \ 268 COREBOOT \ 269 CRYPTO \ 270 EVDEV \ 271 FS9660 \ 272 HID \ 273 HYPERV \ 274 OPENCRYPTO \ 275 NVME \ 276 NVMF \ 277 PCI \ 278 RPC \ 279 SECAUDIT \ 280 TEKEN \ 281 UFSHCI \ 282 VERIEXEC \ 283 WG 284 285.if ${MK_IPFILTER} != "no" 286INCSGROUPS+= IPFILTER 287.endif 288 289.if ${MK_PF} != "no" 290INCSGROUPS+= PF 291.endif 292 293.if ${MK_CDDL} != "no" 294INCSGROUPS+= NVPAIR 295.endif 296 297.if ${MK_MLX5TOOL} != "no" 298INCSGROUPS+= MLX5 299.endif 300 301.if ${MK_BLUETOOTH} != "no" 302LSUBSUBDIRS+= netgraph/bluetooth/include 303.endif 304 305.if ${MK_CUSE} != "no" 306LSUBDIRS+= fs/cuse 307.endif 308 309.if ${MK_KERBEROS} != "no" && ${MK_MITKRB5} == "no" 310SUBDIR+= gssapi 311INCS+= gssapi.h 312.endif 313 314.if ${MK_HESIOD} != "no" 315INCS+= hesiod.h 316.endif 317 318# Handle the #define aliases for libiconv 319.if ${MK_ICONV} == "yes" 320INCS+= iconv.h 321.endif 322 323.if ${MK_USB} != "no" 324LSUBDIRS+= dev/usb 325.endif 326 327.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "aarch64" || \ 328 ${MACHINE_CPUARCH} == "riscv" 329.if ${MK_BHYVE} != "no" 330LSUBDIRS+= dev/vmm 331.endif 332.endif 333 334.if ${MACHINE_CPUARCH} == "powerpc" 335_dev_powermac_nvram= dev/powermac_nvram 336.endif 337 338# Define SHARED to indicate whether you want symbolic links to the system 339# source (``symlinks''), or a separate copy (``copies''). ``symlinks'' is 340# probably only useful for developers and should be avoided if you do not 341# wish to tie your /usr/include and /usr/src together. 342#SHARED= symlinks 343SHARED?= copies 344 345INCS+= osreldate.h 346 347SYSDIR= ${SRCTOP}/sys 348NEWVERS_SH= ${SYSDIR}/conf/newvers.sh 349PARAM_H= ${SYSDIR}/sys/param.h 350MK_OSRELDATE_SH= ${.CURDIR}/mk-osreldate.sh 351 352SYMLINKS+= ${LIBDIR:C,[^/]+,..,g:C,^/,,}${INCLUDEDIR} ${LIBDIR}/include 353 354osreldate.h: ${NEWVERS_SH} ${PARAM_H} ${MK_OSRELDATE_SH} 355 env NEWVERS_SH=${NEWVERS_SH} PARAMFILE=${PARAM_H} SYSDIR=${SYSDIR} \ 356 sh ${MK_OSRELDATE_SH} 357 358.for i in ${LHDRS} 359INCSLINKS+= sys/$i ${INCLUDEDIR}/$i 360.endfor 361.for i in ${MHDRS} 362INCSLINKS+= machine/$i ${INCLUDEDIR}/$i 363.endfor 364.for i in ${PHDRS} 365INCSLINKS+= sys/$i ${INCLUDEDIR}/$i 366.endfor 367 368.if ${MACHINE} != ${MACHINE_CPUARCH} 369_MARCHS= ${MACHINE_CPUARCH} 370.endif 371.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" 372_MARCHS+= x86 373.endif 374 375META_TARGETS+= compat 376stage_includes: ${SHARED} 377SDESTDIR?= ${SYSROOT:U${DESTDIR}} 378 379# Take care of stale directory-level symlinks. 380# Note: The "|| true" after find is needed in case one of the directories does 381# not exist (yet). 382compat: 383 cd ${SDESTDIR}${INCLUDEDIR}; find ${LDIRS} ${LSUBDIRS} machine ${_MARCHS} \ 384 crypto -maxdepth 0 -mindepth 0 -type l -print -delete || true 385 mtree -deU ${NO_ROOT:D-W} ${MTREE_FOLLOWS_SYMLINKS} \ 386 -f ${SRCTOP}/etc/mtree/BSD.include.dist \ 387 -p ${SDESTDIR}${INCLUDEDIR} > /dev/null 388.for d in ${INCLUDE_SUBDIRS} 389 ${INSTALL} -d ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 755 \ 390 ${SDESTDIR}${INCLUDEDIR}/${d} 391.endfor 392 393copies: .PHONY .META 394 cd ${SDESTDIR}${INCLUDEDIR}; find ${LDIRS} ${LSUBDIRS} ${LSUBSUBDIRS} crypto \ 395 machine machine/pc ${_MARCHS} -maxdepth 1 -mindepth 1 -type l \ 396 -name "*.h" -print -delete || true 397.for i in ${LDIRS} ${LSUBDIRS:Ndev/agp:Ndev/acpica:Ndev/coreboot:Ndev/evdev:Ndev/hid:Ndev/hyperv:Ndev/pci:Ndev/veriexec:Ndev/wg} ${LSUBSUBDIRS} 398 cd ${SRCTOP}/sys; \ 399 ${INSTALL} -C ${TAG_ARGS:D${TAG_ARGS},dev} -o ${BINOWN} -g ${BINGRP} -m 444 $i/*.h \ 400 ${SDESTDIR}${INCLUDEDIR}/$i 401.endfor 402 cd ${SRCTOP}/sys/${MACHINE}/include; \ 403 ${INSTALL} -C ${TAG_ARGS:D${TAG_ARGS},dev} -o ${BINOWN} -g ${BINGRP} -m 444 *.h \ 404 ${SDESTDIR}${INCLUDEDIR}/machine 405.if exists(${SRCTOP}/sys/${MACHINE}/include/pc) 406 cd ${SRCTOP}/sys/${MACHINE}/include/pc; \ 407 ${INSTALL} -C ${TAG_ARGS:D${TAG_ARGS},dev} -o ${BINOWN} -g ${BINGRP} -m 444 *.h \ 408 ${SDESTDIR}${INCLUDEDIR}/machine/pc 409.endif 410.for _MARCH in ${_MARCHS} 411.if exists(${SRCTOP}/sys/${_MARCH}/include) 412 ${INSTALL} -d ${TAG_ARGS:D${TAG_ARGS},dev} -o ${BINOWN} -g ${BINGRP} -m 755 \ 413 ${SDESTDIR}${INCLUDEDIR}/${_MARCH}; \ 414 cd ${SRCTOP}/sys/${_MARCH}/include; \ 415 ${INSTALL} -C ${TAG_ARGS:D${TAG_ARGS},dev} -o ${BINOWN} -g ${BINGRP} -m 444 *.h \ 416 ${SDESTDIR}${INCLUDEDIR}/${_MARCH} 417.if exists(${SRCTOP}/sys/${_MARCH}/include/pc) 418 ${INSTALL} -d ${TAG_ARGS:D${TAG_ARGS},dev} -o ${BINOWN} -g ${BINGRP} -m 755 \ 419 ${SDESTDIR}${INCLUDEDIR}/${_MARCH}/pc; \ 420 cd ${SRCTOP}/sys/${_MARCH}/include/pc; \ 421 ${INSTALL} -C ${TAG_ARGS:D${TAG_ARGS},dev} -o ${BINOWN} -g ${BINGRP} -m 444 *.h \ 422 ${SDESTDIR}${INCLUDEDIR}/${_MARCH}/pc 423.endif 424.endif 425.endfor 426 427symlinks: .PHONY .META 428 @${ECHO} "Setting up symlinks to kernel source tree..." 429.for i in ${LDIRS} 430 cd ${SRCTOP}; ${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},dev} \ 431 $$(printf '../../../%s ' sys/$i/*.h) ${SDESTDIR}${INCLUDEDIR}/$i 432.endfor 433.for i in ${LSUBDIRS:Ndev/agp:Ndev/acpica:Ndev/coreboot:Ndev/evdev:Ndev/hid:Ndev/hyperv:Ndev/pci:Ndev/veriexec:Ndev/wg} 434 cd ${SRCTOP}; ${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},dev} \ 435 $$(printf '../../../../%s ' sys/$i/*.h) ${SDESTDIR}${INCLUDEDIR}/$i 436.endfor 437 ${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},dev} \ 438 $$(printf '../../../../sys/dev/acpica/%s ' acpiio.h acpi_hpet.h) \ 439 ${SDESTDIR}${INCLUDEDIR}/dev/acpica; \ 440 ${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},dev} ../../../../sys/dev/agp/agpreg.h \ 441 ${SDESTDIR}${INCLUDEDIR}/dev/agp; \ 442 ${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},dev} \ 443 $$(printf '../../../../sys/dev/evdev/%s ' input.h input-event-codes.h uinput.h) \ 444 ${SDESTDIR}${INCLUDEDIR}/dev/evdev; 445 ${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},dev} \ 446 $$(printf '../../../../sys/dev/hid/%s ' hid.h hidraw.h) \ 447 ${SDESTDIR}${INCLUDEDIR}/dev/hid; \ 448 ${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},dev} ../../../../sys/dev/hyperv/include/hyperv.h \ 449 ${SDESTDIR}${INCLUDEDIR}/dev/hyperv; \ 450 ${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},dev} ../../../../sys/dev/hyperv/utilities/hv_snapshot.h \ 451 ${SDESTDIR}${INCLUDEDIR}/dev/hyperv; \ 452 ${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},dev} ../../../../sys/dev/pci/pcireg.h \ 453 ${SDESTDIR}${INCLUDEDIR}/dev/pci; \ 454 ${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},dev} ../../../../sys/dev/coreboot/corebootio.h \ 455 ${SDESTDIR}${INCLUDEDIR}/dev/coreboot; \ 456 ${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},dev} ../../../../sys/dev/veriexec/veriexec_ioctl.h \ 457 ${SDESTDIR}${INCLUDEDIR}/dev/veriexec; 458.for i in ${LSUBSUBDIRS} 459 cd ${SRCTOP}; ${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},dev} \ 460 $$(printf '../../../../../%s ' sys/$i/*.h) ${SDESTDIR}${INCLUDEDIR}/$i 461.endfor 462.if ${MK_IPFILTER} != "no" 463 cd ${SRCTOP}; ${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},dev} \ 464 $$(printf '../../../%s ' sys/netpfil/ipfilter/netinet/*.h) \ 465 ${SDESTDIR}${INCLUDEDIR}/netinet; 466.endif 467.if ${MK_PF} != "no" 468 cd ${SRCTOP}; ${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},dev} \ 469 $$(printf '../../../../%s ' sys/netpfil/pf/*.h) \ 470 ${SDESTDIR}${INCLUDEDIR}/netpfil/pf; 471.endif 472 ${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},dev} ../../../sys/opencrypto/cryptodev.h \ 473 ${SDESTDIR}${INCLUDEDIR}/crypto; \ 474 cd ${SRCTOP}; ${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},dev} \ 475 $$(printf '../../../%s ' sys/${MACHINE}/include/*.h) \ 476 ${SDESTDIR}${INCLUDEDIR}/machine; 477.if exists(${SRCTOP}/sys/${MACHINE}/include/pc) 478 cd ${SRCTOP}; ${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},dev} \ 479 $$(printf '../../../../%s ' sys/${MACHINE}/include/pc/*.h) \ 480 ${SDESTDIR}${INCLUDEDIR}/machine/pc; 481.endif 482.for _MARCH in ${_MARCHS} 483.if exists(${SRCTOP}/sys/${_MARCH}/include) 484 ${INSTALL} -d ${TAG_ARGS:D${TAG_ARGS},dev} -o ${BINOWN} -g ${BINGRP} -m 755 \ 485 ${SDESTDIR}${INCLUDEDIR}/${_MARCH}; \ 486 cd ${SRCTOP}; ${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},dev} \ 487 $$(printf '../../../%s ' sys/${_MARCH}/include/*.h) \ 488 ${SDESTDIR}${INCLUDEDIR}/${_MARCH}; 489.if exists(${SRCTOP}/sys/${_MARCH}/include/pc) 490 ${INSTALL} -d ${TAG_ARGS:D${TAG_ARGS},dev} -o ${BINOWN} -g ${BINGRP} -m 755 \ 491 ${SDESTDIR}${INCLUDEDIR}/${_MARCH}/pc; \ 492 cd ${SRCTOP}; ${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},dev} \ 493 $$(printf '../../../../%s ' sys/${_MARCH}/include/pc/*.h) \ 494 ${SDESTDIR}${INCLUDEDIR}/${_MARCH}/pc; 495.endif 496.endif 497.endfor 498 cd ${SRCTOP}; ${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},dev} \ 499 $$(printf '../../../../%s ' sys/fs/cd9660/*.h) \ 500 ${SDESTDIR}${INCLUDEDIR}/isofs/cd9660; \ 501 cd ${SRCTOP}; ${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},dev} \ 502 $$(printf '../../../sys/rpc/%s ' rpcsec_tls.h types.h) \ 503 ${SDESTDIR}${INCLUDEDIR}/rpc; 504 cd ${SRCTOP}/sys/rpc; 505.if ${MK_CDDL} != "no" 506 ${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},dev} \ 507 ../../../sys/contrib/openzfs/include/sys/nvpair.h \ 508 ${SDESTDIR}${INCLUDEDIR}/sys 509.endif 510.if ${MK_MLX5TOOL} != "no" 511 ${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},dev} ../../../../sys/dev/mlx5/mlx5io.h \ 512 ${SDESTDIR}${INCLUDEDIR}/dev/mlx5 513.endif 514 515.include <bsd.prog.mk> 516 517installincludes: ${SHARED} 518${SHARED}: compat 519 520.if ${MACHINE} == "host" && !defined(_SKIP_BUILD) 521# we're here because we are building a sysroot... 522# we need MACHINE et al set correctly 523HOST_MACHINE!= uname -m 524HOST_MACHINE_ARCH!= uname -p 525MACHINE:= ${HOST_MACHINE} 526MACHINE_ARCH:= ${HOST_MACHINE_ARCH} 527.endif 528 529check-ldirs: 530 missing_dirs=""; \ 531 for dir in ${LDIRS} ${LSUBDIRS} ${LSUBSUBDIRS}; do \ 532 if [ ! -d ${SRCTOP}/sys/$$dir ]; then \ 533 echo "${SRCTOP}/sys/$$dir"; \ 534 missing_dirs="$$missing_dirs $$dir"; \ 535 fi; \ 536 done; \ 537 if [ -n "$$missing_dirs" ]; then \ 538 echo "Nonexistant directories:" $$missing_dirs; \ 539 false; \ 540 fi 541