xref: /freebsd/sys/conf/config.mk (revision ff8d9d9c56185d38f507ffe2659cfd13633b9a12)
135c4406dSWarner Losh# $FreeBSD$
235c4406dSWarner Losh#
335c4406dSWarner Losh# Common code to marry kernel config(8) goo and module building goo.
435c4406dSWarner Losh#
535c4406dSWarner Losh
635c4406dSWarner Losh# Generate options files that otherwise would be built
735c4406dSWarner Losh# in substantially similar ways through the tree. Move
835c4406dSWarner Losh# the code here when they all produce identical results
935c4406dSWarner Losh# (or should)
1035c4406dSWarner Losh.if !defined(KERNBUILDDIR)
110c4c5948SKyle Evansopt_global.h:
12861526b5SKyle Evans	touch ${.TARGET}
13a4b3b535SMark Johnston	@echo "#define SMP 1" >> ${.TARGET}
147df58aa8SKyle Evans	@echo "#define MAC 1" >> ${.TARGET}
15a4b3b535SMark Johnston	@echo "#define VIMAGE 1" >> ${.TARGET}
16483d953aSJohn Baldwin.if ${MK_BHYVE_SNAPSHOT} != "no"
17483d953aSJohn Baldwinopt_bhyve_snapshot.h:
18483d953aSJohn Baldwin	@echo "#define BHYVE_SNAPSHOT 1" > ${.TARGET}
19483d953aSJohn Baldwin.endif
2035c4406dSWarner Loshopt_bpf.h:
2135c4406dSWarner Losh	echo "#define DEV_BPF 1" > ${.TARGET}
2235c4406dSWarner Losh.if ${MK_INET_SUPPORT} != "no"
2335c4406dSWarner Loshopt_inet.h:
2435c4406dSWarner Losh	@echo "#define INET 1" > ${.TARGET}
2535c4406dSWarner Losh	@echo "#define TCP_OFFLOAD 1" >> ${.TARGET}
2635c4406dSWarner Losh.endif
2735c4406dSWarner Losh.if ${MK_INET6_SUPPORT} != "no"
2835c4406dSWarner Loshopt_inet6.h:
2935c4406dSWarner Losh	@echo "#define INET6 1" > ${.TARGET}
3035c4406dSWarner Losh.endif
311319a761SJohn Baldwin.if ${MK_IPSEC_SUPPORT} != "no"
324bcbd26fSJohn Baldwinopt_ipsec.h:
334bcbd26fSJohn Baldwin	@echo "#define IPSEC_SUPPORT 1" > ${.TARGET}
341319a761SJohn Baldwin.endif
35f3e7afe2SHans Petter Selasky.if ${MK_RATELIMIT} != "no"
36f3e7afe2SHans Petter Selaskyopt_ratelimit.h:
37f3e7afe2SHans Petter Selasky	@echo "#define RATELIMIT 1" > ${.TARGET}
38f3e7afe2SHans Petter Selasky.endif
3935c4406dSWarner Loshopt_mrouting.h:
40*ff8d9d9cSWarner Losh	@echo "#define MROUTING 1" > ${.TARGET}
41*ff8d9d9cSWarner Losh.if ${MK_FDT} != "no"
42*ff8d9d9cSWarner Loshopt_platform.h:
43*ff8d9d9cSWarner Losh	@echo "#define FDT 1" > ${.TARGET}
44*ff8d9d9cSWarner Losh.endif
452379d1d6SWarner Loshopt_printf.h:
462379d1d6SWarner Losh	echo "#define PRINTF_BUFR_SIZE 128" > ${.TARGET}
4735c4406dSWarner Loshopt_scsi.h:
4835c4406dSWarner Losh	echo "#define SCSI_DELAY 15000" > ${.TARGET}
4979ddb55cSMark Johnston.if ${MK_SCTP_SUPPORT} != "no"
5079ddb55cSMark Johnstonopt_sctp.h:
5179ddb55cSMark Johnston	@echo "#define SCTP_SUPPORT 1" > ${.TARGET}
5279ddb55cSMark Johnston.endif
5335c4406dSWarner Loshopt_wlan.h:
5435c4406dSWarner Losh	echo "#define IEEE80211_DEBUG 1" > ${.TARGET}
5535c4406dSWarner Losh	echo "#define IEEE80211_SUPPORT_MESH 1" >> ${.TARGET}
5635c4406dSWarner LoshKERN_OPTS.i386=NEW_PCIB DEV_PCI
5735c4406dSWarner LoshKERN_OPTS.amd64=NEW_PCIB DEV_PCI
5835c4406dSWarner LoshKERN_OPTS.powerpc=NEW_PCIB DEV_PCI
59a7dc3128SBrooks DavisKERN_OPTS=MROUTING IEEE80211_DEBUG \
604945f79aSAndriy Voskoboinyk	IEEE80211_SUPPORT_MESH DEV_BPF \
6135c4406dSWarner Losh	${KERN_OPTS.${MACHINE}} ${KERN_OPTS_EXTRA}
62483d953aSJohn Baldwin.if ${MK_BHYVE_SNAPSHOT} != "no"
63483d953aSJohn BaldwinKERN_OPTS+= BHYVE_SNAPSHOT
64483d953aSJohn Baldwin.endif
6535c4406dSWarner Losh.if ${MK_INET_SUPPORT} != "no"
6635c4406dSWarner LoshKERN_OPTS+= INET TCP_OFFLOAD
6735c4406dSWarner Losh.endif
6835c4406dSWarner Losh.if ${MK_INET6_SUPPORT} != "no"
6935c4406dSWarner LoshKERN_OPTS+= INET6
7035c4406dSWarner Losh.endif
711319a761SJohn Baldwin.if ${MK_IPSEC_SUPPORT} != "no"
721319a761SJohn BaldwinKERN_OPTS+= IPSEC_SUPPORT
731319a761SJohn Baldwin.endif
7479ddb55cSMark Johnston.if ${MK_SCTP_SUPPORT} != "no"
7579ddb55cSMark JohnstonKERN_OPTS+= SCTP_SUPPORT
7679ddb55cSMark Johnston.endif
77ebf5587eSBryan Drewery.elif !defined(KERN_OPTS)
78eec0e91eSWarner Losh# Add all the options that are mentioned in any opt_*.h file when we
79eec0e91eSWarner Losh# have a kernel build directory to pull them from.
8035c4406dSWarner LoshKERN_OPTS!=cat ${KERNBUILDDIR}/opt*.h | awk '{print $$2;}' | sort -u
81ebf5587eSBryan Drewery.export KERN_OPTS
8235c4406dSWarner Losh.endif
83ec4047adSBryan Drewery
84d395e093SBryan Drewery.if !defined(NO_MODULES) && !defined(__MPATH) && !make(install) && \
85d395e093SBryan Drewery    (empty(.MAKEFLAGS:M-V) || defined(NO_SKIP_MPATH))
86ec4047adSBryan Drewery__MPATH!=find ${SYSDIR:tA}/ -name \*_if.m
87ec4047adSBryan Drewery.export __MPATH
88ec4047adSBryan Drewery.endif
89