Makefile revision 129476
1169691Skan# @(#)Makefile 8.2 (Berkeley) 1/4/94 2169691Skan# $FreeBSD: head/include/Makefile 129476 2004-05-20 10:29:26Z pjd $ 3169691Skan# 4169691Skan# Doing a "make install" builds /usr/include. 5169691Skan 6169691SkanCLEANFILES= osreldate.h version vers.c 7169691SkanSUBDIR= arpa protocols rpcsvc rpc 8169691SkanINCS= a.out.h ar.h assert.h bitstring.h complex.h cpio.h ctype.h db.h \ 9169691Skan dirent.h dlfcn.h elf.h elf-hints.h err.h fmtmsg.h fnmatch.h fstab.h \ 10169691Skan fts.h getopt.h glob.h grp.h hesiod.h histedit.h ieeefp.h ifaddrs.h \ 11169691Skan inttypes.h iso646.h kenv.h langinfo.h libgen.h limits.h link.h \ 12169691Skan locale.h malloc.h memory.h monetary.h mpool.h ndbm.h netconfig.h \ 13169691Skan netdb.h nl_types.h nlist.h nss.h nsswitch.h objformat.h paths.h \ 14169691Skan pthread.h \ 15169691Skan pthread_np.h pwd.h ranlib.h readpassphrase.h regex.h regexp.h \ 16169691Skan resolv.h rune.h runetype.h search.h setjmp.h sgtty.h signal.h stab.h \ 17169691Skan stdbool.h stddef.h stdio.h stdlib.h string.h stringlist.h \ 18169691Skan strings.h sysexits.h tar.h time.h timeconv.h timers.h ttyent.h \ 19169691Skan ulimit.h unistd.h utime.h utmp.h uuid.h varargs.h vis.h wchar.h \ 20169691Skan wctype.h wordexp.h 21169691Skan 22169691SkanMHDRS= float.h floatingpoint.h stdarg.h 23169691Skan 24169691Skan# posix4/mqueue.h is useless without an implementation and isn't installed: 25169691SkanPHDRS= sched.h semaphore.h _semaphore.h # mqueue.h 26169691Skan 27169691SkanLHDRS= aio.h errno.h fcntl.h linker_set.h poll.h stdint.h syslog.h \ 28169691Skan termios.h ucontext.h 29169691Skan 30169691SkanLDIRS= cam geom net net80211 netatalk netatm netgraph netinet netinet6 \ 31169691Skan netipsec netipx netkey netnatm netncp netsmb nfs nfsclient nfsserver \ 32169691Skan pccard posix4 sys vm 33169691Skan 34169691SkanLSUBDIRS= cam/scsi dev/an dev/bktr dev/firewire dev/ic dev/iicbus \ 35169691Skan dev/ofw dev/ppbus dev/smbus dev/usb dev/wi dev/utopia fs/devfs \ 36169691Skan fs/fdescfs fs/fifofs fs/msdosfs fs/ntfs fs/nullfs fs/nwfs fs/portalfs \ 37169691Skan fs/procfs fs/smbfs fs/udf fs/umapfs fs/unionfs \ 38169691Skan geom/concat geom/gate geom/nop geom/stripe \ 39169691Skan isofs/cd9660 netatm/ipatm netatm/sigpvc netatm/spans netatm/uni \ 40169691Skan netgraph/atm security/mac_biba security/mac_bsdextended \ 41169691Skan security/mac_lomac security/mac_mls security/mac_partition \ 42169691Skan ufs/ffs ufs/ufs 43169691Skan 44169691Skan.if !defined(NO_BLUETOOTH) 45169691SkanLSUBSUBDIRS= netgraph/bluetooth/include 46169691Skan.endif 47169691Skan 48169691Skan# Define SHARED to indicate whether you want symbolic links to the system 49169691Skan# source (``symlinks''), or a separate copy (``copies''). ``symlinks'' is 50169691Skan# probably only useful for developers and should be avoided if you do not 51169691Skan# wish to tie your /usr/include and /usr/src together. 52169691Skan#SHARED= symlinks 53169691SkanSHARED?= copies 54169691Skan 55169691SkanINCS+= osreldate.h 56169691Skan 57169691Skanosreldate.h: ${.CURDIR}/../sys/conf/newvers.sh \ 58169691Skan ${.CURDIR}/../sys/sys/param.h \ 59169691Skan ${.CURDIR}/Makefile 60169691Skan @${ECHO} creating osreldate.h from newvers.sh 61169691Skan @setvar PARAMFILE ${.CURDIR}/../sys/sys/param.h; \ 62169691Skan . ${.CURDIR}/../sys/conf/newvers.sh; \ 63169691Skan echo "$$COPYRIGHT" > osreldate.h; \ 64169691Skan echo "#ifdef _KERNEL" >> osreldate.h; \ 65169691Skan echo '#error "<osreldate.h> cannot be used in the kernel, use <sys/param.h>"' >> osreldate.h; \ 66169691Skan echo "#else" >> osreldate.h; \ 67169691Skan echo \#'undef __FreeBSD_version' >> osreldate.h; \ 68169691Skan echo \#'define __FreeBSD_version' $$RELDATE >> osreldate.h; \ 69169691Skan echo "#endif" >> osreldate.h 70169691Skan 71169691Skan.for i in ${LHDRS} 72169691SkanINCSLINKS+= sys/$i ${INCLUDEDIR}/$i 73169691Skan.endfor 74169691Skan.for i in ${MHDRS} 75169691SkanINCSLINKS+= machine/$i ${INCLUDEDIR}/$i 76169691Skan.endfor 77169691Skan.for i in ${PHDRS} 78169691SkanINCSLINKS+= posix4/$i ${INCLUDEDIR}/$i 79169691Skan.endfor 80169691Skan 81169691Skan.include <bsd.prog.mk> 82169691Skan 83169691Skaninstallincludes: ${SHARED} 84169691Skan${SHARED}: compat 85169691Skan 86169691Skan# Take care of stale directory-level symlinks. 87169691Skancompat: 88169691Skan.for i in ${LDIRS} ${LSUBDIRS} machine crypto 89169691Skan if [ -L ${DESTDIR}${INCLUDEDIR}/$i ]; then \ 90169691Skan rm -f ${DESTDIR}${INCLUDEDIR}/$i; \ 91169691Skan fi 92169691Skan.endfor 93169691Skan mtree -deU ${MTREE_FOLLOWS_SYMLINKS} \ 94169691Skan -f ${.CURDIR}/../etc/mtree/BSD.include.dist \ 95169691Skan -p ${DESTDIR}${INCLUDEDIR} 96169691Skan 97169691Skancopies: 98169691Skan.for i in ${LDIRS} ${LSUBDIRS} crypto machine machine/pc 99169691Skan.if exists(${DESTDIR}${INCLUDEDIR}/$i) 100169691Skan cd ${DESTDIR}${INCLUDEDIR}/$i; \ 101169691Skan for h in *.h; do \ 102169691Skan if [ -L $$h ]; then rm -f $$h; fi; \ 103169691Skan done 104169691Skan.endif 105169691Skan.endfor 106169691Skan.for i in ${LDIRS} ${LSUBDIRS:Ndev/bktr} ${LSUBSUBDIRS} 107169691Skan cd ${.CURDIR}/../sys; \ 108169691Skan ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 $i/*.h \ 109169691Skan ${DESTDIR}${INCLUDEDIR}/$i 110169691Skan.endfor 111169691Skan cd ${.CURDIR}/../sys/dev/bktr; \ 112169691Skan ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 ioctl_*.h \ 113169691Skan ${DESTDIR}${INCLUDEDIR}/dev/bktr 114169691Skan cd ${.CURDIR}/../sys/contrib/ipfilter/netinet; \ 115169691Skan ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \ 116169691Skan ${DESTDIR}${INCLUDEDIR}/netinet 117169691Skan cd ${.CURDIR}/../sys/contrib/pf/net; \ 118169691Skan ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \ 119169691Skan ${DESTDIR}${INCLUDEDIR}/net 120169691Skan cd ${.CURDIR}/../sys/opencrypto; \ 121169691Skan ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \ 122169691Skan ${DESTDIR}${INCLUDEDIR}/crypto 123169691Skan cd ${.CURDIR}/../sys/${MACHINE_ARCH}/include; \ 124169691Skan ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \ 125169691Skan ${DESTDIR}${INCLUDEDIR}/machine 126169691Skan.if exists(${.CURDIR}/../sys/${MACHINE_ARCH}/include/pc) 127169691Skan cd ${.CURDIR}/../sys/${MACHINE_ARCH}/include/pc; \ 128169691Skan ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \ 129169691Skan ${DESTDIR}${INCLUDEDIR}/machine/pc 130169691Skan.endif 131169691Skan 132169691Skansymlinks: 133169691Skan @${ECHO} "Setting up symlinks to kernel source tree..." 134169691Skan.for i in ${LDIRS} 135169691Skan cd ${.CURDIR}/../sys/$i; \ 136169691Skan for h in *.h; do \ 137169691Skan ln -fs ../../../sys/$i/$$h ${DESTDIR}${INCLUDEDIR}/$i; \ 138169691Skan done 139169691Skan.endfor 140169691Skan.for i in ${LSUBDIRS} 141169691Skan cd ${.CURDIR}/../sys/$i; \ 142169691Skan for h in *.h; do \ 143169691Skan ln -fs ../../../../sys/$i/$$h ${DESTDIR}${INCLUDEDIR}/$i; \ 144169691Skan done 145169691Skan.endfor 146169691Skan.for i in ${LSUBSUBDIRS} 147169691Skan cd ${.CURDIR}/../sys/$i; \ 148169691Skan for h in *.h; do \ 149169691Skan ln -fs ../../../../../sys/$i/$$h ${DESTDIR}${INCLUDEDIR}/$i; \ 150169691Skan done 151169691Skan.endfor 152169691Skan cd ${.CURDIR}/../sys/contrib/ipfilter/netinet; \ 153169691Skan for h in *.h; do \ 154169691Skan ln -fs ../../../sys/contrib/ipfilter/netinet/$$h \ 155169691Skan ${DESTDIR}${INCLUDEDIR}/netinet; \ 156169691Skan done 157169691Skan cd ${.CURDIR}/../sys/contrib/pf/net; \ 158169691Skan for h in *.h; do \ 159169691Skan ln -fs ../../../sys/contrib/pf/net/$$h \ 160169691Skan ${DESTDIR}${INCLUDEDIR}/net; \ 161169691Skan done 162169691Skan cd ${.CURDIR}/../sys/opencrypto; \ 163169691Skan for h in *.h; do \ 164169691Skan ln -fs ../../../sys/opencrypto/$$h \ 165169691Skan ${DESTDIR}${INCLUDEDIR}/crypto; \ 166 done 167 cd ${.CURDIR}/../sys/${MACHINE_ARCH}/include; \ 168 for h in *.h; do \ 169 ln -fs ../../../sys/${MACHINE_ARCH}/include/$$h \ 170 ${DESTDIR}${INCLUDEDIR}/machine; \ 171 done 172.if exists(${.CURDIR}/../sys/${MACHINE_ARCH}/include/pc) 173 cd ${.CURDIR}/../sys/${MACHINE_ARCH}/include/pc; \ 174 for h in *.h; do \ 175 ln -fs ../../../../sys/${MACHINE_ARCH}/include/pc/$$h \ 176 ${DESTDIR}${INCLUDEDIR}/machine/pc; \ 177 done 178.endif 179