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