Makefile revision 241641
1169689Skan# @(#)Makefile 8.2 (Berkeley) 1/4/94 2169689Skan# $FreeBSD: head/include/Makefile 241641 2012-10-17 13:04:05Z attilio $ 3169689Skan# 4169689Skan# Doing a "make install" builds /usr/include. 5169689Skan 6169689Skan.include <bsd.own.mk> 7169689Skan 8169689SkanCLEANFILES= osreldate.h version vers.c 9169689SkanSUBDIR= arpa gssapi protocols rpcsvc rpc xlocale 10169689SkanINCS= a.out.h ar.h assert.h bitstring.h complex.h cpio.h _ctype.h ctype.h \ 11169689Skan db.h \ 12169689Skan dirent.h dlfcn.h elf.h elf-hints.h err.h fmtmsg.h fnmatch.h fstab.h \ 13169689Skan fts.h ftw.h getopt.h glob.h grp.h gssapi.h \ 14169689Skan ieeefp.h ifaddrs.h \ 15169689Skan inttypes.h iso646.h kenv.h langinfo.h libgen.h limits.h link.h \ 16169689Skan locale.h malloc.h malloc_np.h memory.h monetary.h mpool.h mqueue.h \ 17169689Skan ndbm.h netconfig.h \ 18169689Skan netdb.h nl_types.h nlist.h nss.h nsswitch.h paths.h \ 19169689Skan printf.h proc_service.h pthread.h \ 20169689Skan pthread_np.h pwd.h ranlib.h readpassphrase.h regex.h \ 21169689Skan res_update.h resolv.h runetype.h search.h semaphore.h setjmp.h \ 22169689Skan signal.h spawn.h stab.h stdalign.h stdatomic.h stdbool.h stddef.h \ 23169689Skan stdnoreturn.h stdio.h stdlib.h string.h stringlist.h \ 24169689Skan strings.h sysexits.h tar.h termios.h tgmath.h \ 25169689Skan time.h timeconv.h timers.h ttyent.h \ 26169689Skan ulimit.h unistd.h utime.h utmpx.h uuid.h varargs.h vis.h \ 27169689Skan wchar.h wctype.h wordexp.h xlocale.h 28169689Skan 29169689SkanMHDRS= float.h floatingpoint.h stdarg.h 30169689Skan 31169689SkanPHDRS= sched.h _semaphore.h 32169689Skan 33169689SkanLHDRS= aio.h errno.h fcntl.h linker_set.h poll.h stdint.h syslog.h \ 34169689Skan ucontext.h 35169689Skan 36169689SkanLDIRS= bsm cam geom net net80211 netatalk netgraph netinet netinet6 \ 37169689Skan netipsec ${_netipx} netnatm netsmb \ 38169689Skan nfs nfsclient nfsserver \ 39169689Skan sys vm 40169689Skan 41169689SkanLSUBDIRS= cam/ata cam/scsi \ 42169689Skan dev/acpica dev/an dev/bktr dev/ciss dev/filemon dev/firewire dev/hwpmc \ 43169689Skan dev/ic dev/iicbus ${_dev_ieee488} dev/io dev/lmc dev/mfi dev/nvme \ 44169689Skan dev/ofw dev/pbio ${_dev_powermac_nvram} dev/ppbus dev/smbus \ 45169689Skan dev/speaker dev/usb dev/utopia dev/vkbd dev/wi \ 46169689Skan fs/devfs fs/fdescfs fs/msdosfs fs/nandfs fs/nfs fs/nullfs \ 47169689Skan fs/procfs fs/smbfs fs/udf fs/unionfs \ 48169689Skan geom/cache geom/concat geom/eli geom/gate geom/journal geom/label \ 49169689Skan geom/mirror geom/mountver geom/multipath geom/nop \ 50169689Skan geom/raid geom/raid3 geom/shsec geom/stripe geom/virstor \ 51169689Skan netgraph/atm netgraph/netflow \ 52169689Skan security/audit \ 53169689Skan security/mac_biba security/mac_bsdextended security/mac_lomac \ 54169689Skan security/mac_mls security/mac_partition \ 55169689Skan ufs/ffs ufs/ufs 56169689Skan 57169689SkanLSUBSUBDIRS= dev/mpt/mpilib 58169689Skan 59169689Skan.if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpc64" 60169689Skan_dev_powermac_nvram= dev/powermac_nvram 61169689Skan.endif 62169689Skan 63169689Skan.if ${MK_GPIB} != "no" 64169689Skan_dev_ieee488= dev/ieee488 65169689Skan.endif 66169689Skan 67169689Skan.if ${MK_HESIOD} != "no" 68169689SkanINCS+= hesiod.h 69169689Skan.endif 70169689Skan 71169689Skan.if ${MK_ICONV} != "no" 72169689SkanINCS+= iconv.h 73169689Skan.endif 74169689Skan 75169689Skan.if ${MK_BLUETOOTH} != "no" 76169689SkanLSUBSUBDIRS+= netgraph/bluetooth/include 77169689Skan.endif 78169689Skan 79169689Skan# XXX unconditionally needed by <netsmb/netbios.h> 80169689Skan#.if ${MK_IPX} != "no" 81169689Skan_netipx= netipx 82169689Skan#.endif 83169689Skan 84169689Skan# Define SHARED to indicate whether you want symbolic links to the system 85169689Skan# source (``symlinks''), or a separate copy (``copies''). ``symlinks'' is 86169689Skan# probably only useful for developers and should be avoided if you do not 87169689Skan# wish to tie your /usr/include and /usr/src together. 88169689Skan#SHARED= symlinks 89169689SkanSHARED?= copies 90169689Skan 91169689SkanINCS+= osreldate.h 92169689Skan 93169689Skanosreldate.h: ${.CURDIR}/../sys/conf/newvers.sh ${.CURDIR}/../sys/sys/param.h \ 94169689Skan ${.CURDIR}/Makefile 95169689Skan @${ECHO} creating osreldate.h from newvers.sh 96169689Skan @MAKE=${MAKE}; \ 97169689Skan PARAMFILE=${.CURDIR}/../sys/sys/param.h; \ 98169689Skan . ${.CURDIR}/../sys/conf/newvers.sh; \ 99169689Skan echo "$$COPYRIGHT" > osreldate.h; \ 100169689Skan echo "#ifdef _KERNEL" >> osreldate.h; \ 101169689Skan echo "#error \"<osreldate.h> cannot be used in the kernel, use <sys/param.h>\"" >> osreldate.h; \ 102169689Skan echo "#else" >> osreldate.h; \ 103169689Skan echo "#undef __FreeBSD_version" >> osreldate.h; \ 104169689Skan echo "#define __FreeBSD_version $$RELDATE" >> osreldate.h; \ 105169689Skan echo "#endif" >> osreldate.h 106169689Skan 107169689Skan.for i in ${LHDRS} 108169689SkanINCSLINKS+= sys/$i ${INCLUDEDIR}/$i 109169689Skan.endfor 110169689Skan.for i in ${MHDRS} 111169689SkanINCSLINKS+= machine/$i ${INCLUDEDIR}/$i 112169689Skan.endfor 113169689Skan.for i in ${PHDRS} 114169689SkanINCSLINKS+= sys/$i ${INCLUDEDIR}/$i 115169689Skan.endfor 116169689Skan 117169689Skan.if ${MACHINE} != ${MACHINE_CPUARCH} 118169689Skan_MARCHS= ${MACHINE_CPUARCH} 119169689Skan.endif 120169689Skan.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" 121169689Skan_MARCHS+= x86 122169689Skan.endif 123169689Skan 124169689Skan.include <bsd.prog.mk> 125169689Skan 126169689Skaninstallincludes: ${SHARED} 127169689Skan${SHARED}: compat 128169689Skan 129169689Skan# Take care of stale directory-level symlinks. 130169689Skancompat: 131169689Skan.for i in ${LDIRS} ${LSUBDIRS} machine ${_MARCHS} crypto 132169689Skan if [ -L ${DESTDIR}${INCLUDEDIR}/$i ]; then \ 133169689Skan rm -f ${DESTDIR}${INCLUDEDIR}/$i; \ 134169689Skan fi 135169689Skan.endfor 136169689Skan mtree -deU ${MTREE_FOLLOWS_SYMLINKS} \ 137169689Skan -f ${.CURDIR}/../etc/mtree/BSD.include.dist \ 138169689Skan -p ${DESTDIR}${INCLUDEDIR} 139169689Skan.if ${MK_BIND_LIBS} != "no" 140169689Skan mtree -deU ${MTREE_FOLLOWS_SYMLINKS} \ 141169689Skan -f ${.CURDIR}/../etc/mtree/BIND.include.dist \ 142169689Skan -p ${DESTDIR}${INCLUDEDIR} 143169689Skan.endif 144169689Skan 145169689Skancopies: 146169689Skan.for i in ${LDIRS} ${LSUBDIRS} ${LSUBSUBDIRS} altq crypto machine machine/pc \ 147169689Skan ${_MARCHS} 148169689Skan.if exists(${DESTDIR}${INCLUDEDIR}/$i) 149169689Skan cd ${DESTDIR}${INCLUDEDIR}/$i; \ 150169689Skan for h in *.h; do \ 151169689Skan if [ -L $$h ]; then rm -f $$h; fi; \ 152169689Skan done 153169689Skan.endif 154169689Skan.endfor 155169689Skan.for i in ${LDIRS} ${LSUBDIRS:Ndev/acpica:Ndev/bktr:Ndev/nand} ${LSUBSUBDIRS} 156169689Skan cd ${.CURDIR}/../sys; \ 157169689Skan ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 $i/*.h \ 158169689Skan ${DESTDIR}${INCLUDEDIR}/$i 159169689Skan.endfor 160169689Skan cd ${.CURDIR}/../sys/dev/acpica; \ 161169689Skan ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 acpiio.h \ 162169689Skan ${DESTDIR}${INCLUDEDIR}/dev/acpica 163169689Skan cd ${.CURDIR}/../sys/dev/bktr; \ 164169689Skan ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 ioctl_*.h \ 165169689Skan ${DESTDIR}${INCLUDEDIR}/dev/bktr 166169689Skan.if ${MK_NAND} != "no" 167169689Skan cd ${.CURDIR}/../sys/dev/nand; \ 168169689Skan ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 nandsim.h \ 169169689Skan ${DESTDIR}${INCLUDEDIR}/dev/nand; \ 170169689Skan ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 nand_dev.h \ 171169689Skan ${DESTDIR}${INCLUDEDIR}/dev/nand 172169689Skan.endif 173169689Skan cd ${.CURDIR}/../sys/contrib/altq/altq; \ 174169689Skan ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \ 175169689Skan ${DESTDIR}${INCLUDEDIR}/altq 176169689Skan cd ${.CURDIR}/../sys/fs/cd9660/; \ 177169689Skan ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \ 178169689Skan ${DESTDIR}${INCLUDEDIR}/isofs/cd9660 179169689Skan.if ${MK_IPFILTER} != "no" 180169689Skan cd ${.CURDIR}/../sys/contrib/ipfilter/netinet; \ 181169689Skan ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \ 182169689Skan ${DESTDIR}${INCLUDEDIR}/netinet 183169689Skan.endif 184169689Skan cd ${.CURDIR}/../sys/crypto; \ 185169689Skan ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 rijndael/rijndael.h \ 186169689Skan ${DESTDIR}${INCLUDEDIR}/crypto 187169689Skan cd ${.CURDIR}/../sys/opencrypto; \ 188169689Skan ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \ 189169689Skan ${DESTDIR}${INCLUDEDIR}/crypto 190169689Skan cd ${.CURDIR}/../sys/${MACHINE}/include; \ 191169689Skan ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \ 192169689Skan ${DESTDIR}${INCLUDEDIR}/machine 193169689Skan.if exists(${.CURDIR}/../sys/${MACHINE}/include/pc) 194169689Skan cd ${.CURDIR}/../sys/${MACHINE}/include/pc; \ 195169689Skan ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \ 196169689Skan ${DESTDIR}${INCLUDEDIR}/machine/pc 197169689Skan.endif 198169689Skan.for _MARCH in ${_MARCHS} 199169689Skan.if exists(${.CURDIR}/../sys/${_MARCH}/include) 200169689Skan ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \ 201169689Skan ${DESTDIR}${INCLUDEDIR}/${_MARCH}; \ 202169689Skan cd ${.CURDIR}/../sys/${_MARCH}/include; \ 203169689Skan ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \ 204169689Skan ${DESTDIR}${INCLUDEDIR}/${_MARCH} 205169689Skan.if exists(${.CURDIR}/../sys/${_MARCH}/include/pc) 206169689Skan ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \ 207169689Skan ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc; \ 208169689Skan cd ${.CURDIR}/../sys/${_MARCH}/include/pc; \ 209169689Skan ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \ 210169689Skan ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc 211169689Skan.endif 212169689Skan.endif 213169689Skan.endfor 214169689Skan cd ${.CURDIR}/../sys/rpc; \ 215169689Skan ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 types.h \ 216169689Skan ${DESTDIR}${INCLUDEDIR}/rpc 217169689Skan 218169689Skansymlinks: 219169689Skan @${ECHO} "Setting up symlinks to kernel source tree..." 220169689Skan.for i in ${LDIRS} 221169689Skan cd ${.CURDIR}/../sys/$i; \ 222169689Skan for h in *.h; do \ 223169689Skan ln -fs ../../../sys/$i/$$h ${DESTDIR}${INCLUDEDIR}/$i; \ 224169689Skan done 225169689Skan.endfor 226169689Skan.for i in ${LSUBDIRS:Ndev/acpica:Ndev/bktr:Ndev/nand} 227169689Skan cd ${.CURDIR}/../sys/$i; \ 228169689Skan for h in *.h; do \ 229169689Skan ln -fs ../../../../sys/$i/$$h ${DESTDIR}${INCLUDEDIR}/$i; \ 230169689Skan done 231169689Skan.endfor 232169689Skan cd ${.CURDIR}/../sys/dev/acpica; \ 233169689Skan for h in acpiio.h; do \ 234169689Skan ln -fs ../../../../sys/dev/acpica/$$h \ 235169689Skan ${DESTDIR}${INCLUDEDIR}/dev/acpica; \ 236169689Skan done 237169689Skan cd ${.CURDIR}/../sys/dev/bktr; \ 238169689Skan for h in ioctl_*.h; do \ 239169689Skan ln -fs ../../../../sys/dev/bktr/$$h \ 240169689Skan ${DESTDIR}${INCLUDEDIR}/dev/bktr; \ 241169689Skan done 242169689Skan.if ${MK_NAND} != "no" 243169689Skan cd ${.CURDIR}/../sys/dev/nand; \ 244169689Skan for h in nandsim.h nand_dev.h; do \ 245169689Skan ln -fs ../../../../sys/dev/nand/$$h \ 246169689Skan ${DESTDIR}${INCLUDEDIR}/dev/nand; \ 247169689Skan done 248169689Skan.endif 249169689Skan.for i in ${LSUBSUBDIRS} 250169689Skan cd ${.CURDIR}/../sys/$i; \ 251169689Skan for h in *.h; do \ 252169689Skan ln -fs ../../../../../sys/$i/$$h ${DESTDIR}${INCLUDEDIR}/$i; \ 253169689Skan done 254169689Skan.endfor 255169689Skan cd ${.CURDIR}/../sys/contrib/altq/altq; \ 256169689Skan for h in *.h; do \ 257169689Skan ln -fs ../../../sys/contrib/altq/altq/$$h \ 258169689Skan ${DESTDIR}${INCLUDEDIR}/altq; \ 259169689Skan done 260169689Skan.if ${MK_IPFILTER} != "no" 261169689Skan cd ${.CURDIR}/../sys/contrib/ipfilter/netinet; \ 262169689Skan for h in *.h; do \ 263169689Skan ln -fs ../../../sys/contrib/ipfilter/netinet/$$h \ 264169689Skan ${DESTDIR}${INCLUDEDIR}/netinet; \ 265169689Skan done 266169689Skan.endif 267169689Skan cd ${.CURDIR}/../sys/crypto; \ 268169689Skan for h in rijndael/rijndael.h; do \ 269169689Skan ln -fs ../../../sys/crypto/$$h \ 270169689Skan ${DESTDIR}${INCLUDEDIR}/crypto; \ 271169689Skan done 272169689Skan cd ${.CURDIR}/../sys/opencrypto; \ 273169689Skan for h in *.h; do \ 274169689Skan ln -fs ../../../sys/opencrypto/$$h \ 275169689Skan ${DESTDIR}${INCLUDEDIR}/crypto; \ 276169689Skan done 277169689Skan cd ${.CURDIR}/../sys/${MACHINE}/include; \ 278169689Skan for h in *.h; do \ 279169689Skan ln -fs ../../../sys/${MACHINE}/include/$$h \ 280169689Skan ${DESTDIR}${INCLUDEDIR}/machine; \ 281169689Skan done 282169689Skan.if exists(${.CURDIR}/../sys/${MACHINE}/include/pc) 283169689Skan cd ${.CURDIR}/../sys/${MACHINE}/include/pc; \ 284169689Skan for h in *.h; do \ 285169689Skan ln -fs ../../../../sys/${MACHINE}/include/pc/$$h \ 286169689Skan ${DESTDIR}${INCLUDEDIR}/machine/pc; \ 287169689Skan done 288169689Skan.endif 289169689Skan.for _MARCH in ${_MARCHS} 290169689Skan.if exists(${.CURDIR}/../sys/${_MARCH}/include) 291169689Skan ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \ 292169689Skan ${DESTDIR}${INCLUDEDIR}/${_MARCH}; \ 293169689Skan cd ${.CURDIR}/../sys/${_MARCH}/include; \ 294169689Skan for h in *.h; do \ 295169689Skan ln -fs ../../../sys/${_MARCH}/include/$$h \ 296169689Skan ${DESTDIR}${INCLUDEDIR}/${_MARCH}; \ 297169689Skan done 298169689Skan.if exists(${.CURDIR}/../sys/${_MARCH}/include/pc) 299169689Skan ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \ 300169689Skan ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc; \ 301169689Skan cd ${.CURDIR}/../sys/${_MARCH}/include/pc; \ 302169689Skan for h in *.h; do \ 303169689Skan ln -fs ../../../../sys/${_MARCH}/include/pc/$$h \ 304169689Skan ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc; \ 305169689Skan done 306169689Skan.endif 307169689Skan.endif 308169689Skan.endfor 309169689Skan cd ${.CURDIR}/../sys/fs/cd9660; \ 310169689Skan for h in *.h; do \ 311169689Skan ln -fs ../../../../sys/fs/cd9660/$$h \ 312169689Skan ${DESTDIR}${INCLUDEDIR}/isofs/cd9660; \ 313169689Skan done 314169689Skan cd ${.CURDIR}/../sys/rpc; \ 315169689Skan for h in types.h; do \ 316169689Skan ln -fs ../../../sys/rpc/$$h \ 317169689Skan ${DESTDIR}${INCLUDEDIR}/rpc; \ 318169689Skan done 319169689Skan