Skip to content
Snippets Groups Projects
Rules.in 1.14 KiB
Newer Older
jacob's avatar
jacob committed
# Directories building kernel modules should have two files:
#
# Makefile.in:
#
# MODULES := <module-name>
# <module-name>-objs := file1.o file2.o file3.o
# @INCLUDE_RULES@
#
# and autoMakefile.am:
#
# if LIBLUSTRE
# <liblustre rules>
# endif
#
# if MODULES
# modulefs_DATA = <module-name>$(KMODEXT)
# endif
#
# DIST_SOURCES = $(<module-name>-objs:.o=.c) <other sources>
# MOSTLYCLEANFILES = *.o *.ko *.mod.c

ifeq ($(PATCHLEVEL),)

include autoMakefile

fix-kext-ownership:
	@if test -d $(DESTDIR)$(kextdir) ; then \
		echo chown -R root:wheel $(DESTDIR)$(kextdir) ; \
		chown -R root:wheel $(DESTDIR)$(kextdir) || \
			echo >&2 "*** WARNING: Could not fix kext ownership for $(DESTDIR)$(kextdir)" ; \
	fi

jacob's avatar
jacob committed
else

include @LINUX_CONFIG@

EXTRA_CFLAGS := $(EXTRA_PRE_CFLAGS)
EXTRA_CFLAGS += @EXTRA_KCFLAGS@ @UML_CFLAGS@
EXTRA_CFLAGS += $(EXTRA_POST_CFLAGS)

obj-m := $(patsubst %,%.o,$(MODULES))

ifeq ($(PATCHLEVEL),4)
# 2.4 rules
O_TARGET := $(firstword $(obj-m))
obj-y := $($(firstword $(MODULES))-objs)
export-objs := $(obj-y) $(filter-out $(O_TARGET),$(obj-m))
include $(TOPDIR)/Rules.make
$(MODINCL)/%.ver: %.c
	@true
endif # PATCHLEVEL

endif # KERNELRELEASE