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