FreeBSD/Linux Kernel Cross Reference
sys/conf/config.mk
1 # $FreeBSD$
2 #
3 # Common code to marry kernel config(8) goo and module building goo.
4 #
5
6 # Generate options files that otherwise would be built
7 # in substantially similar ways through the tree. Move
8 # the code here when they all produce identical results
9 # (or should)
10 .if !defined(KERNBUILDDIR)
11 opt_global.h:
12 touch ${.TARGET}
13 @echo "#define SMP 1" >> ${.TARGET}
14 @echo "#define MAC 1" >> ${.TARGET}
15 @echo "#define VIMAGE 1" >> ${.TARGET}
16 # Note: Define 'options' in DEFAULTS to 1. For simplicity, no check if the
17 # option is in opt_global.h. Nearly all the options in DEFAUlTS today are in
18 # opt_global.h with GEOM_* being the main exceptions. Move any options from
19 # GENERIC or std.* files to DEFAULTS to get this treatment for untied builds.
20 @awk '$$1 == "options" && $$2 !~ "GEOM_" { print "#define ", $$2, " 1"; }' \
21 < ${SYSDIR}/${MACHINE}/conf/DEFAULTS \
22 >> ${.TARGET}
23 .if ${MK_BHYVE_SNAPSHOT} != "no"
24 opt_bhyve_snapshot.h:
25 @echo "#define BHYVE_SNAPSHOT 1" > ${.TARGET}
26 .endif
27 opt_bpf.h:
28 echo "#define DEV_BPF 1" > ${.TARGET}
29 .if ${MK_INET_SUPPORT} != "no"
30 opt_inet.h:
31 @echo "#define INET 1" > ${.TARGET}
32 @echo "#define TCP_OFFLOAD 1" >> ${.TARGET}
33 .endif
34 .if ${MK_INET6_SUPPORT} != "no"
35 opt_inet6.h:
36 @echo "#define INET6 1" > ${.TARGET}
37 .endif
38 .if ${MK_IPSEC_SUPPORT} != "no"
39 opt_ipsec.h:
40 @echo "#define IPSEC_SUPPORT 1" > ${.TARGET}
41 .endif
42 .if ${MK_RATELIMIT} != "no"
43 opt_ratelimit.h:
44 @echo "#define RATELIMIT 1" > ${.TARGET}
45 .endif
46 opt_mrouting.h:
47 @echo "#define MROUTING 1" > ${.TARGET}
48 .if ${MK_FDT} != "no"
49 opt_platform.h:
50 @echo "#define FDT 1" > ${.TARGET}
51 .endif
52 opt_printf.h:
53 echo "#define PRINTF_BUFR_SIZE 128" > ${.TARGET}
54 opt_scsi.h:
55 echo "#define SCSI_DELAY 15000" > ${.TARGET}
56 .if ${MK_SCTP_SUPPORT} != "no"
57 opt_sctp.h:
58 @echo "#define SCTP_SUPPORT 1" > ${.TARGET}
59 .endif
60 opt_wlan.h:
61 echo "#define IEEE80211_DEBUG 1" > ${.TARGET}
62 echo "#define IEEE80211_SUPPORT_MESH 1" >> ${.TARGET}
63 KERN_OPTS.i386=NEW_PCIB DEV_PCI
64 KERN_OPTS.amd64=NEW_PCIB DEV_PCI
65 KERN_OPTS.powerpc=NEW_PCIB DEV_PCI
66 KERN_OPTS=MROUTING IEEE80211_DEBUG \
67 IEEE80211_SUPPORT_MESH DEV_BPF \
68 ${KERN_OPTS.${MACHINE}} ${KERN_OPTS_EXTRA}
69 .if ${MK_BHYVE_SNAPSHOT} != "no"
70 KERN_OPTS+= BHYVE_SNAPSHOT
71 .endif
72 .if ${MK_INET_SUPPORT} != "no"
73 KERN_OPTS+= INET TCP_OFFLOAD
74 .endif
75 .if ${MK_INET6_SUPPORT} != "no"
76 KERN_OPTS+= INET6
77 .endif
78 .if ${MK_IPSEC_SUPPORT} != "no"
79 KERN_OPTS+= IPSEC_SUPPORT
80 .endif
81 .if ${MK_SCTP_SUPPORT} != "no"
82 KERN_OPTS+= SCTP_SUPPORT
83 .endif
84 .elif !defined(KERN_OPTS)
85 # Add all the options that are mentioned in any opt_*.h file when we
86 # have a kernel build directory to pull them from.
87 KERN_OPTS!=cat ${KERNBUILDDIR}/opt*.h | awk '{print $$2;}' | sort -u
88 .export KERN_OPTS
89 .endif
90
91 .if !defined(NO_MODULES) && !defined(__MPATH) && !make(install) && \
92 (empty(.MAKEFLAGS:M-V) || defined(NO_SKIP_MPATH))
93 __MPATH!=find ${SYSDIR:tA}/ -name \*_if.m
94 .export __MPATH
95 .endif
Cache object: f6263762860ac5f979d64772d9e1d332
|