xref: /freebsd/sys/conf/config.mk (revision eec0e91e0546eedb839084ce254b34fcf0f2bd49)
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)
1135c4406dSWarner Loshopt_bpf.h:
1235c4406dSWarner Losh	echo "#define DEV_BPF 1" > ${.TARGET}
1335c4406dSWarner Losh.if ${MK_INET_SUPPORT} != "no"
1435c4406dSWarner Loshopt_inet.h:
1535c4406dSWarner Losh	@echo "#define INET 1" > ${.TARGET}
1635c4406dSWarner Losh	@echo "#define TCP_OFFLOAD 1" >> ${.TARGET}
1735c4406dSWarner Losh.endif
1835c4406dSWarner Losh.if ${MK_INET6_SUPPORT} != "no"
1935c4406dSWarner Loshopt_inet6.h:
2035c4406dSWarner Losh	@echo "#define INET6 1" > ${.TARGET}
2135c4406dSWarner Losh.endif
22f3e7afe2SHans Petter Selasky.if ${MK_RATELIMIT} != "no"
23f3e7afe2SHans Petter Selaskyopt_ratelimit.h:
24f3e7afe2SHans Petter Selasky	@echo "#define RATELIMIT 1" > ${.TARGET}
25f3e7afe2SHans Petter Selasky.endif
2635c4406dSWarner Loshopt_mrouting.h:
2735c4406dSWarner Losh	echo "#define MROUTING 1" > ${.TARGET}
282379d1d6SWarner Loshopt_printf.h:
292379d1d6SWarner Losh	echo "#define PRINTF_BUFR_SIZE 128" > ${.TARGET}
3035c4406dSWarner Loshopt_scsi.h:
3135c4406dSWarner Losh	echo "#define SCSI_DELAY 15000" > ${.TARGET}
3235c4406dSWarner Loshopt_wlan.h:
3335c4406dSWarner Losh	echo "#define IEEE80211_DEBUG 1" > ${.TARGET}
3435c4406dSWarner Losh	echo "#define IEEE80211_SUPPORT_MESH 1" >> ${.TARGET}
3535c4406dSWarner LoshKERN_OPTS.i386=NEW_PCIB DEV_PCI
3635c4406dSWarner LoshKERN_OPTS.amd64=NEW_PCIB DEV_PCI
3735c4406dSWarner LoshKERN_OPTS.powerpc=NEW_PCIB DEV_PCI
38a7dc3128SBrooks DavisKERN_OPTS=MROUTING IEEE80211_DEBUG \
394945f79aSAndriy Voskoboinyk	IEEE80211_SUPPORT_MESH DEV_BPF \
4035c4406dSWarner Losh	${KERN_OPTS.${MACHINE}} ${KERN_OPTS_EXTRA}
4135c4406dSWarner Losh.if ${MK_INET_SUPPORT} != "no"
4235c4406dSWarner LoshKERN_OPTS+= INET TCP_OFFLOAD
4335c4406dSWarner Losh.endif
4435c4406dSWarner Losh.if ${MK_INET6_SUPPORT} != "no"
4535c4406dSWarner LoshKERN_OPTS+= INET6
4635c4406dSWarner Losh.endif
47ebf5587eSBryan Drewery.elif !defined(KERN_OPTS)
48*eec0e91eSWarner Losh# Add all the options that are mentioned in any opt_*.h file when we
49*eec0e91eSWarner Losh# have a kernel build directory to pull them from.
5035c4406dSWarner LoshKERN_OPTS!=cat ${KERNBUILDDIR}/opt*.h | awk '{print $$2;}' | sort -u
51ebf5587eSBryan Drewery.export KERN_OPTS
5235c4406dSWarner Losh.endif
53ec4047adSBryan Drewery
54d395e093SBryan Drewery.if !defined(NO_MODULES) && !defined(__MPATH) && !make(install) && \
55d395e093SBryan Drewery    (empty(.MAKEFLAGS:M-V) || defined(NO_SKIP_MPATH))
56ec4047adSBryan Drewery__MPATH!=find ${SYSDIR:tA}/ -name \*_if.m
57ec4047adSBryan Drewery.export __MPATH
58ec4047adSBryan Drewery.endif
59