| Commit | Line | Data |
|---|---|---|
| 984263bc MD |
1 | # @(#)Makefile 8.2 (Berkeley) 1/4/94 |
| 2 | # $FreeBSD: src/include/Makefile,v 1.109.2.27 2003/01/24 05:12:29 sam Exp $ | |
| 3 | # | |
| 4 | # Doing a make install builds /usr/include | |
| 5 | # | |
| 6 | # The ``rm -rf''s used below are safe because rm doesn't follow symbolic | |
| 7 | # links. | |
| 8 | ||
| 03c841b8 | 9 | CLEANFILES= osreldate.h version vers.c vers.txt |
| 984263bc | 10 | SUBDIR= arpa protocols rpc rpcsvc |
| 3639f033 | 11 | INCS= a.out.h ar.h assert.h bitstring.h complex.h cpio.h ctype.h db.h \ |
| 984263bc | 12 | dirent.h disktab.h \ |
| c6ddf9d0 | 13 | dlfcn.h elf.h elf-hints.h err.h fmtmsg.h fnmatch.h fstab.h \ |
| 176bf03b SW |
14 | fts.h ftw.h getopt.h glob.h grp.h histedit.h \ |
| 15 | iconv.h ieeefp.h ifaddrs.h iso646.h inttypes.h \ | |
| b34b60bc | 16 | langinfo.h libgen.h limits.h link.h locale.h malloc.h math.h memory.h \ |
| 2184c93c | 17 | mpool.h mqueue.h monetary.h ndbm.h netconfig.h \ |
| ed5d5720 | 18 | netdb.h nl_types.h nlist.h nss.h nsswitch.h objformat.h \ |
| e0f95098 | 19 | paths.h printf.h pthread.h pthread_np.h pwd.h \ |
| 21fcee4d PA |
20 | ranlib.h readpassphrase.h regex.h regexp.h \ |
| 21 | res_update.h resolv.h re_comp.h rmd160.h \ | |
| 32a7b49a | 22 | search.h setjmp.h sgtty.h \ |
| c4dd129b PA |
23 | signal.h spawn.h stab.h stdarg.h stdbool.h \ |
| 24 | stddef.h stdint.h stdio.h stdlib.h \ | |
| 984263bc | 25 | string.h stringlist.h strings.h struct.h sysexits.h tar.h time.h \ |
| f4228790 | 26 | timeconv.h \ |
| 59a92d18 AH |
27 | timers.h ttyent.h tzfile.h unistd.h ulimit.h utime.h utmp.h utmpx.h \ |
| 28 | uuid.h vis.h \ | |
| c6ddf9d0 | 29 | wchar.h wctype.h wordexp.h |
| 984263bc | 30 | |
| ed5d5720 PA |
31 | .if defined(WANT_HESIOD) |
| 32 | INCS+= hesiod.h | |
| 33 | .endif | |
| 34 | ||
| e2565a42 | 35 | MHDRS= float.h floatingpoint.h varargs.h |
| 984263bc | 36 | |
| 984263bc MD |
37 | # Only for default SHARED=copies case |
| 38 | SHDRS= soundcard.h joystick.h | |
| 39 | ||
| 2184c93c | 40 | LHDRS= aio.h errno.h fcntl.h linker_set.h poll.h sched.h \ |
| 0796697b | 41 | semaphore.h syslog.h termios.h ucontext.h |
| 984263bc | 42 | |
| 300b182b | 43 | # directories which also contain header files that need to be copied. |
| 38a690d7 MD |
44 | # Other directories, like 'bus' and 'netproto', are created using mtree. |
| 45 | # | |
| 46 | # XXX allow these directories to not contain header files. | |
| 0147868e | 47 | LDIRS= net netbt netgraph netgraph7 netinet netinet6 sys vm |
| 984263bc | 48 | |
| 38a690d7 MD |
49 | # Subdirectories containing header files to copy. In symlink mode |
| 50 | # the subdirectory will be symlinked. Care must be taken to adjust | |
| 51 | # LSYMSUBDIRS below to remove subdirectories whos parent directories. | |
| 52 | # If you make a mistake, part of your source tree might get overwritten | |
| 53 | # when buildworld is run. | |
| 54 | # | |
| 435d74a4 | 55 | LSUBDIRS= bus/cam bus/cam/scsi \ |
| 38a690d7 | 56 | emulation/linux \ |
| b993bb87 SW |
57 | gnu/vfs/ext2fs \ |
| 58 | vfs/msdosfs vfs/nfs vfs/ntfs vfs/nwfs \ | |
| 20a0b7b2 | 59 | vfs/smbfs vfs/udf vfs/ufs vfs/hammer \ |
| 38a690d7 | 60 | net/vlan net/ipfw net/ip6fw net/dummynet net/sppp net/ip_mroute \ |
| 72806dc7 | 61 | net/bridge net/tap net/tun net/ppp net/ppp_layer net/sl \ |
| 3f0e6cb5 | 62 | net/pf net/altq \ |
| 38a690d7 MD |
63 | netgraph/UI netgraph/async netgraph/bpf netgraph/bridge \ |
| 64 | netgraph/cisco netgraph/echo netgraph/eiface netgraph/etf \ | |
| 65 | netgraph/ether netgraph/fec netgraph/frame_relay netgraph/hole \ | |
| 66 | netgraph/iface netgraph/ksocket netgraph/l2tp netgraph/lmi \ | |
| 67 | netgraph/mppc netgraph/one2many netgraph/ppp \ | |
| 68 | netgraph/pppoe netgraph/pptpgre netgraph/rfc1490 netgraph/socket \ | |
| 69 | netgraph/tee netgraph/tty netgraph/vjc \ | |
| 512a0173 | 70 | netgraph7/UI netgraph7/async netgraph7/atmllc netgraph7/bpf \ |
| 9278355d | 71 | netgraph7/bridge netgraph7/cisco netgraph7/deflate netgraph7/echo \ |
| 9a8e6225 | 72 | netgraph7/etf netgraph7/ether netgraph7/frame_relay netgraph7/hole \ |
| c9e5d413 | 73 | netgraph7/iface netgraph7/ksocket netgraph7/l2tp netgraph7/lmi \ |
| 119de7c2 | 74 | netgraph7/mppc netgraph7/one2many netgraph7/ppp \ |
| c9e5d413 | 75 | netgraph7/pptpgre netgraph7/socket netgraph7/tee netgraph7/vjc \ |
| 1912e72f | 76 | bus/cam bus/usb bus/pccard bus/pci bus/isa bus/ppbus bus/smbus \ |
| d22a69a4 | 77 | netproto/atm netproto/ipsec netproto/ipx \ |
| 62b5ec1d | 78 | netproto/key netproto/natm netproto/ncp netproto/smb \ |
| 435d74a4 | 79 | netproto/atm/ipatm netproto/atm/sigpvc netproto/atm/spans \ |
| 57b00d10 YT |
80 | netproto/atm/uni netproto/802_11 netproto/mpls \ |
| 81 | vfs/isofs/cd9660 net/i4b/include \ | |
| de92dc51 | 82 | dev/disk/mpt/mpilib \ |
| 4467d1a7 | 83 | dev/disk/dm \ |
| d2cd83ff SW |
84 | dev/misc/lpt dev/misc/ppi \ |
| 85 | dev/netif/wi \ | |
| 249d29c8 | 86 | dev/raid/ciss dev/raid/mfi \ |
| 9f95f3e0 | 87 | dev/video/bktr dev/video/meteor libprop |
| 38a690d7 MD |
88 | |
| 89 | # For SHARED=symlinks, bus/cam and netproto/atm are symlinks, so cam/scsi | |
| 90 | # and netproto/atm/* are taken care of | |
| 0147868e | 91 | LSYMSUBDIRS= ${LSUBDIRS:Nbus/cam/scsi:Nnetproto/atm/*:Nnet/*:Nnetgraph/*:Nnetgraph7/*} |
| 984263bc | 92 | |
| b326e0b1 MD |
93 | # For obsolete headers which need to be removed |
| 94 | RMHEADERS= machine/ansi.h sys/inttypes.h | |
| 95 | ||
| 984263bc MD |
96 | # Define SHARED to indicate whether you want symbolic links to the system |
| 97 | # source (``symlinks''), or a separate copy (``copies''). ``symlinks'' is | |
| 98 | # probably only useful for developers and should be avoided if you do not | |
| 99 | # wish to tie your /usr/include and /usr/src together. | |
| 100 | #SHARED= symlinks | |
| 101 | SHARED?= copies | |
| 102 | ||
| 103 | INCS+= osreldate.h | |
| 104 | ||
| 105 | osreldate.h: ${.CURDIR}/../sys/conf/newvers.sh \ | |
| 106 | ${.CURDIR}/../sys/sys/param.h | |
| 107 | @${ECHO} creating osreldate.h from newvers.sh | |
| 108 | setvar PARAMFILE ${.CURDIR}/../sys/sys/param.h; \ | |
| 109 | . ${.CURDIR}/../sys/conf/newvers.sh; \ | |
| 110 | echo "$$COPYRIGHT" > osreldate.h; \ | |
| 111 | echo "#ifdef _KERNEL" >> osreldate.h; \ | |
| 112 | echo '#error "osreldate.h must not be used in the kernel, use sys/param.h"' >> osreldate.h; \ | |
| 113 | echo "#else" >> osreldate.h; \ | |
| 667ad1b9 MD |
114 | echo "#undef __DragonFly_version" >> osreldate.h; \ |
| 115 | echo "#define __DragonFly_version $$RELDATE" >> osreldate.h; \ | |
| 984263bc MD |
116 | echo "#endif" >> osreldate.h |
| 117 | ||
| 118 | .for i in ${LHDRS} | |
| 119 | INCSLINKS+= sys/$i ${INCLUDEDIR}/$i | |
| 120 | .endfor | |
| 121 | .for i in ${MHDRS} | |
| 122 | INCSLINKS+= machine/$i ${INCLUDEDIR}/$i | |
| 123 | .endfor | |
| 435d74a4 MD |
124 | INCSLINKS+= bus/cam ${INCLUDEDIR}/cam |
| 125 | INCSLINKS+= vfs/msdosfs ${INCLUDEDIR}/msdosfs | |
| 38a690d7 MD |
126 | INCSLINKS+= vfs/isofs ${INCLUDEDIR}/isofs |
| 127 | INCSLINKS+= vfs/mfs ${INCLUDEDIR}/mfs | |
| 435d74a4 MD |
128 | INCSLINKS+= vfs/nfs ${INCLUDEDIR}/nfs |
| 129 | INCSLINKS+= vfs/ntfs ${INCLUDEDIR}/ntfs | |
| 130 | INCSLINKS+= vfs/nwfs ${INCLUDEDIR}/nwfs | |
| 131 | INCSLINKS+= vfs ${INCLUDEDIR}/fs | |
| 03e15c12 MD |
132 | # this is for <ufs/ufs/...> and <ufs/ffs/...> paths used by ports |
| 133 | # It is hopefully a temporary hack until we have environments working. | |
| 134 | INCSLINKS+= vfs ${INCLUDEDIR}/ufs | |
| 135 | INCSLINKS+= ufs ${INCLUDEDIR}/vfs/ffs | |
| 38a690d7 | 136 | INCSLINKS+= emulation ${INCLUDEDIR}/compat |
| 435d74a4 MD |
137 | INCSLINKS+= netproto/atm ${INCLUDEDIR}/netatm |
| 138 | INCSLINKS+= netproto/ipsec ${INCLUDEDIR}/netipsec | |
| 139 | INCSLINKS+= netproto/ipx ${INCLUDEDIR}/netipx | |
| 140 | INCSLINKS+= netproto/key ${INCLUDEDIR}/netkey | |
| 141 | INCSLINKS+= netproto/natm ${INCLUDEDIR}/netnatm | |
| 142 | INCSLINKS+= netproto/ncp ${INCLUDEDIR}/netncp | |
| 435d74a4 MD |
143 | INCSLINKS+= netproto/smb ${INCLUDEDIR}/netsmb |
| 144 | INCSLINKS+= bus/pccard ${INCLUDEDIR}/pccard | |
| e2ea6619 MD |
145 | |
| 146 | # NOTE! | |
| 147 | # | |
| 148 | # machine/ header files come from the platform architecture and | |
| 149 | # cpu/ header files come from the cpu architecture. All code outside | |
| 150 | # of the machine header files ALWAYS #include's <machine/blah.h>. So | |
| 151 | # if the platform architecture is missing a header file we have to | |
| 152 | # copy it in from the cpu architecture. This way we do not have to | |
| 153 | # create dozens of pure forwarding headers for files that platform | |
| 154 | # architecture does not need to enhance. | |
| 984263bc | 155 | |
| 38a690d7 | 156 | mtree_setup: |
| 57b00d10 | 157 | .for i in ${LDIRS} ${LSYMSUBDIRS} machine cpu crypto dev/acpica |
| 984263bc MD |
158 | if [ -h ${DESTDIR}/usr/include/$i ]; then \ |
| 159 | rm -f ${DESTDIR}/usr/include/$i; \ | |
| 160 | fi | |
| 161 | .endfor | |
| 162 | mtree -deU -f ${.CURDIR}/../etc/mtree/BSD.include.dist \ | |
| 163 | -p ${DESTDIR}/usr/include | |
| 38a690d7 MD |
164 | |
| 165 | copies: mtree_setup | |
| 57b00d10 | 166 | .for i in ${LDIRS} ${LSUBDIRS} |
| 984263bc MD |
167 | cd ${.CURDIR}/../sys; \ |
| 168 | ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 $i/*.h \ | |
| 169 | ${DESTDIR}/usr/include/$i | |
| 170 | .endfor | |
| 171 | cd ${.CURDIR}/../sys; \ | |
| a3b8978d SW |
172 | ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 crypto/rijndael/rijndael.h \ |
| 173 | ${DESTDIR}/usr/include/crypto; \ | |
| 984263bc MD |
174 | ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 opencrypto/*.h \ |
| 175 | ${DESTDIR}/usr/include/crypto | |
| 8af27eca HT |
176 | cd ${.CURDIR}/../sys/dev/acpica5; \ |
| 177 | ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 acpiio.h \ | |
| 178 | ${DESTDIR}/usr/include/dev/acpica | |
| e2ea6619 MD |
179 | .if exists(${.CURDIR}/../sys/cpu/${MACHINE_ARCH}/include) |
| 180 | cd ${.CURDIR}/../sys/cpu/${MACHINE_ARCH}/include; \ | |
| 181 | ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \ | |
| 182 | ${DESTDIR}/usr/include/cpu | |
| 183 | # XXX this will cause quickworld to rebuild more junk | |
| 184 | # then it needs to. | |
| 185 | cpdup -o ${DESTDIR}/usr/include/cpu ${DESTDIR}/usr/include/machine | |
| 186 | .endif | |
| 0955fd91 MD |
187 | .if exists(${.CURDIR}/../sys/platform/${MACHINE_PLATFORM}/include) |
| 188 | cd ${.CURDIR}/../sys/platform/${MACHINE_PLATFORM}/include; \ | |
| 984263bc MD |
189 | ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \ |
| 190 | ${DESTDIR}/usr/include/machine | |
| 0955fd91 MD |
191 | .if exists(${.CURDIR}/../sys/platform/${MACHINE_PLATFORM}/include/pc) |
| 192 | cd ${.CURDIR}/../sys/platform/${MACHINE_PLATFORM}/include/pc; \ | |
| 984263bc MD |
193 | ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \ |
| 194 | ${DESTDIR}/usr/include/machine/pc | |
| 195 | .endif | |
| 196 | .endif | |
| 38a690d7 MD |
197 | .if exists(${.CURDIR}/../sys/net/i4b/include/${MACHINE_ARCH}) |
| 198 | cd ${.CURDIR}/../sys/net/i4b/include/${MACHINE_ARCH}; \ | |
| 199 | ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \ | |
| 200 | ${DESTDIR}/usr/include/i4b_machine | |
| 201 | .endif | |
| 984263bc | 202 | .for i in ${SHDRS} |
| 062db326 | 203 | ${LN} -sf ../sys/$i ${DESTDIR}/usr/include/machine/$i |
| 984263bc | 204 | .endfor |
| b326e0b1 MD |
205 | .for i in ${RMHEADERS} |
| 206 | rm -f ${DESTDIR}/usr/include/$i | |
| 207 | .endfor | |
| 984263bc | 208 | |
| 38a690d7 | 209 | symlinks: mtree_setup |
| 984263bc MD |
210 | @${ECHO} "Setting up symlinks to kernel source tree..." |
| 211 | .for i in ${LDIRS} | |
| 212 | rm -rf ${DESTDIR}/usr/include/$i | |
| 062db326 | 213 | ${LN} -s ../../sys/$i ${DESTDIR}/usr/include/$i |
| 984263bc MD |
214 | .endfor |
| 215 | rm -rf ${DESTDIR}/usr/include/crypto | |
| 062db326 | 216 | ${LN} -s ../../sys/opencrypto ${DESTDIR}/usr/include/crypto |
| 984263bc MD |
217 | .for i in ${LSYMSUBDIRS} |
| 218 | rm -rf ${DESTDIR}/usr/include/$i | |
| 57b00d10 | 219 | ${LN} -s ${i:C;[^/]+/?;../;g}../sys/$i ${DESTDIR}/usr/include/$i |
| 38a690d7 | 220 | .endfor |
| e2ea6619 MD |
221 | rm -rf ${DESTDIR}/usr/include/cpu |
| 222 | ${LN} -s ../../sys/cpu/${MACHINE_ARCH}/include ${DESTDIR}/usr/include/cpu | |
| 984263bc | 223 | rm -rf ${DESTDIR}/usr/include/machine |
| e2ea6619 MD |
224 | cpdup ${.CURDIR}/../sys/cpu/${MACHINE_ARCH}/include \ |
| 225 | ${DESTDIR}/usr/include/machine | |
| 0955fd91 | 226 | cpdup -o ${.CURDIR}/../sys/platform/${MACHINE_PLATFORM}/include \ |
| e2ea6619 | 227 | ${DESTDIR}/usr/include/machine |
| 38a690d7 | 228 | rm -rf ${DESTDIR}/usr/include/i4b_machine |
| 062db326 | 229 | ${LN} -s ../../sys/net/i4b/include/${MACHINE_ARCH} ${DESTDIR}/usr/include/i4b_machine |
| 984263bc MD |
230 | |
| 231 | .include <bsd.prog.mk> | |
| 232 | ||
| 233 | installincludes: ${SHARED} |