diff options
Diffstat (limited to 'sys/conf/kmod.mk')
| -rw-r--r-- | sys/conf/kmod.mk | 53 |
1 files changed, 18 insertions, 35 deletions
diff --git a/sys/conf/kmod.mk b/sys/conf/kmod.mk index 284fe3f745be7..87451df3f915f 100644 --- a/sys/conf/kmod.mk +++ b/sys/conf/kmod.mk @@ -28,9 +28,6 @@ # # KMODUNLOAD Command to unload a kernel module [/sbin/kldunload] # -# MFILES Optionally a list of interfaces used by the module. -# This file contains a default list of interfaces. -# # PROG The name of the kernel module to build. # If not supplied, ${KMOD}.ko is used. # @@ -72,7 +69,7 @@ OBJCOPY?= objcopy .include <bsd.compiler.mk> .include "config.mk" -.SUFFIXES: .out .o .c .cc .cxx .C .y .l .s .S +.SUFFIXES: .out .o .c .cc .cxx .C .y .l .s .S .m # amd64 and mips use direct linking for kmod, all others use shared binaries .if ${MACHINE_CPUARCH} != amd64 && ${MACHINE_CPUARCH} != mips @@ -339,37 +336,6 @@ ${_src}: # Respect configuration-specific C flags. CFLAGS+= ${CONF_CFLAGS} -MFILES?= dev/acpica/acpi_if.m dev/acpi_support/acpi_wmi_if.m \ - dev/agp/agp_if.m dev/ata/ata_if.m dev/eisa/eisa_if.m \ - dev/fb/fb_if.m dev/gpio/gpio_if.m dev/gpio/gpiobus_if.m \ - dev/iicbus/iicbb_if.m dev/iicbus/iicbus_if.m \ - dev/mbox/mbox_if.m dev/mmc/mmcbr_if.m dev/mmc/mmcbus_if.m \ - dev/mii/miibus_if.m dev/mvs/mvs_if.m dev/ofw/ofw_bus_if.m \ - dev/pccard/card_if.m dev/pccard/power_if.m dev/pci/pci_if.m \ - dev/pci/pci_iov_if.m dev/pci/pcib_if.m dev/ppbus/ppbus_if.m \ - dev/sdhci/sdhci_if.m dev/smbus/smbus_if.m dev/spibus/spibus_if.m \ - dev/sound/pci/hda/hdac_if.m \ - dev/sound/pcm/ac97_if.m dev/sound/pcm/channel_if.m \ - dev/sound/pcm/feeder_if.m dev/sound/pcm/mixer_if.m \ - dev/sound/midi/mpu_if.m dev/sound/midi/mpufoi_if.m \ - dev/sound/midi/synth_if.m dev/usb/usb_if.m isa/isa_if.m \ - kern/bus_if.m kern/clock_if.m \ - kern/cpufreq_if.m kern/device_if.m kern/serdev_if.m \ - libkern/iconv_converter_if.m opencrypto/cryptodev_if.m \ - pc98/pc98/canbus_if.m dev/etherswitch/mdio_if.m - -.for _srcsrc in ${MFILES} -.for _ext in c h -.for _src in ${SRCS:M${_srcsrc:T:R}.${_ext}} -CLEANFILES+= ${_src} -.if !target(${_src}) -${_src}: ${SYSDIR}/tools/makeobjops.awk ${SYSDIR}/${_srcsrc} - ${AWK} -f ${SYSDIR}/tools/makeobjops.awk ${SYSDIR}/${_srcsrc} -${_ext} -.endif -.endfor # _src -.endfor # _ext -.endfor # _srcsrc - .if !empty(SRCS:Mvnode_if.c) CLEANFILES+= vnode_if.c vnode_if.c: ${SYSDIR}/tools/vnode_if.awk ${SYSDIR}/kern/vnode_if.src @@ -388,6 +354,23 @@ vnode_if_typedef.h: ${AWK} -f ${SYSDIR}/tools/vnode_if.awk ${SYSDIR}/kern/vnode_if.src -q .endif +# Build _if.[ch] from _if.m, and clean them when we're done. +.if !defined(_MPATH) +__MPATH!=find ${SYSDIR:tA}/ -name \*_if.m +_MPATH=${__MPATH:H:O:u} +.endif +.PATH.m: ${_MPATH} +.for _s in ${SRCS:M*_if.[ch]} +.if eixsts(${_s:R}.m}) +CLEANFILES+= ${_s} +.endif +.endfor # _s +.m.c: ${SYSDIR}/tools/makeobjops.awk + ${AWK} -f ${SYSDIR}/tools/makeobjops.awk ${.IMPSRC} -c + +.m.h: ${SYSDIR}/tools/makeobjops.awk + ${AWK} -f ${SYSDIR}/tools/makeobjops.awk ${.IMPSRC} -h + .for _i in mii pccard .if !empty(SRCS:M${_i}devs.h) CLEANFILES+= ${_i}devs.h |
