aboutsummaryrefslogtreecommitdiffstats
path: root/module
diff options
context:
space:
mode:
authorEtienne Dechamps <[email protected]>2012-07-09 11:23:00 +0200
committerBrian Behlendorf <[email protected]>2012-07-26 13:45:09 -0700
commit2ee4a18b2ac9c155e099db06cec320bd8cee3150 (patch)
tree42add2d10f2756abb57225f56b582371dc8beb77 /module
parent705741827ab55e7d92c3eb74f332a5ddd24971b5 (diff)
Add script for builtin module building.
This commit introduces a "copy-builtin" script designed to prepare a kernel source tree for building ZFS as a builtin module. The script makes a full copy of all needed files, thus making the kernel source tree fully independent of the zfs source package. To achieve that, some compilation flags (-include, -I) have been moved to module/Makefile. This Makefile is only used when compiling external modules; when compiling builtin modules, a Kbuild file generated by the configure-builtin script is used instead. This makes sure Makefiles inside the kernel source tree does not contain references to the zfs source package. Signed-off-by: Brian Behlendorf <[email protected]> Issue #851
Diffstat (limited to 'module')
-rw-r--r--module/Makefile.in7
-rw-r--r--module/avl/Makefile.in7
-rw-r--r--module/nvpair/Makefile.in7
-rw-r--r--module/unicode/Makefile.in7
-rw-r--r--module/zcommon/Makefile.in7
-rw-r--r--module/zfs/Makefile.in7
-rw-r--r--module/zpios/Makefile.in7
7 files changed, 18 insertions, 31 deletions
diff --git a/module/Makefile.in b/module/Makefile.in
index 50cbb5891..c69b8a355 100644
--- a/module/Makefile.in
+++ b/module/Makefile.in
@@ -5,6 +5,11 @@ subdir-m += zcommon
subdir-m += zfs
subdir-m += zpios
+ZFS_MODULE_CFLAGS += -include @SPL_OBJ@/spl_config.h
+ZFS_MODULE_CFLAGS += -include @abs_top_builddir@/zfs_config.h
+ZFS_MODULE_CFLAGS += -I@abs_top_srcdir@/include -I@SPL@/include -I@SPL@
+export ZFS_MODULE_CFLAGS
+
modules:
@# Make the exported SPL symbols available to these modules.
@# They may be in the root of SPL_OBJ when building against
@@ -21,7 +26,7 @@ modules:
"*** - @SPL_OBJ@/module/@SPL_SYMBOLS@\n"; \
exit 1; \
fi
- $(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` @KERNELMAKE_PARAMS@ $@
+ $(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` @KERNELMAKE_PARAMS@ CONFIG_ZFS=m $@
clean:
@# Only cleanup the kernel build directories when CONFIG_KERNEL
diff --git a/module/avl/Makefile.in b/module/avl/Makefile.in
index efa414883..27f9e4af4 100644
--- a/module/avl/Makefile.in
+++ b/module/avl/Makefile.in
@@ -1,10 +1,7 @@
MODULE := zavl
-EXTRA_CFLAGS = @KERNELCPPFLAGS@
-EXTRA_CFLAGS += -include @SPL_OBJ@/spl_config.h
-EXTRA_CFLAGS += -include @abs_top_builddir@/zfs_config.h
-EXTRA_CFLAGS += -I@abs_top_srcdir@/include -I@SPL@/include -I@SPL@
+EXTRA_CFLAGS = $(ZFS_MODULE_CFLAGS) @KERNELCPPFLAGS@
-obj-m := $(MODULE).o
+obj-$(CONFIG_ZFS) := $(MODULE).o
$(MODULE)-objs += @top_srcdir@/module/avl/avl.o
diff --git a/module/nvpair/Makefile.in b/module/nvpair/Makefile.in
index 71c748e5f..b53381f6a 100644
--- a/module/nvpair/Makefile.in
+++ b/module/nvpair/Makefile.in
@@ -1,11 +1,8 @@
MODULE := znvpair
-EXTRA_CFLAGS = @KERNELCPPFLAGS@
-EXTRA_CFLAGS += -include @SPL_OBJ@/spl_config.h
-EXTRA_CFLAGS += -include @abs_top_builddir@/zfs_config.h
-EXTRA_CFLAGS += -I@abs_top_srcdir@/include -I@SPL@/include -I@SPL@
+EXTRA_CFLAGS = $(ZFS_MODULE_CFLAGS) @KERNELCPPFLAGS@
-obj-m := $(MODULE).o
+obj-$(CONFIG_ZFS) := $(MODULE).o
$(MODULE)-objs += @top_srcdir@/module/nvpair/nvpair.o
$(MODULE)-objs += @top_srcdir@/module/nvpair/nvpair_alloc_spl.o
diff --git a/module/unicode/Makefile.in b/module/unicode/Makefile.in
index 14a46b270..226e23baa 100644
--- a/module/unicode/Makefile.in
+++ b/module/unicode/Makefile.in
@@ -1,11 +1,8 @@
MODULE := zunicode
-EXTRA_CFLAGS = @KERNELCPPFLAGS@
-EXTRA_CFLAGS += -include @SPL_OBJ@/spl_config.h
-EXTRA_CFLAGS += -include @abs_top_builddir@/zfs_config.h
-EXTRA_CFLAGS += -I@abs_top_srcdir@/include -I@SPL@/include -I@SPL@
+EXTRA_CFLAGS = $(ZFS_MODULE_CFLAGS) @KERNELCPPFLAGS@
-obj-m := $(MODULE).o
+obj-$(CONFIG_ZFS) := $(MODULE).o
$(MODULE)-objs += @top_srcdir@/module/unicode/u8_textprep.o
$(MODULE)-objs += @top_srcdir@/module/unicode/uconv.o
diff --git a/module/zcommon/Makefile.in b/module/zcommon/Makefile.in
index e564b77b4..d4f5ba7ec 100644
--- a/module/zcommon/Makefile.in
+++ b/module/zcommon/Makefile.in
@@ -1,11 +1,8 @@
MODULE := zcommon
-EXTRA_CFLAGS = @KERNELCPPFLAGS@
-EXTRA_CFLAGS += -include @SPL_OBJ@/spl_config.h
-EXTRA_CFLAGS += -include @abs_top_builddir@/zfs_config.h
-EXTRA_CFLAGS += -I@abs_top_srcdir@/include -I@SPL@/include -I@SPL@
+EXTRA_CFLAGS = $(ZFS_MODULE_CFLAGS) @KERNELCPPFLAGS@
-obj-m := $(MODULE).o
+obj-$(CONFIG_ZFS) := $(MODULE).o
$(MODULE)-objs += @top_srcdir@/module/zcommon/zfs_deleg.o
$(MODULE)-objs += @top_srcdir@/module/zcommon/zfs_prop.o
diff --git a/module/zfs/Makefile.in b/module/zfs/Makefile.in
index 5ec75a03a..98576d1d2 100644
--- a/module/zfs/Makefile.in
+++ b/module/zfs/Makefile.in
@@ -1,11 +1,8 @@
MODULE := zfs
-EXTRA_CFLAGS += @KERNELCPPFLAGS@
-EXTRA_CFLAGS += -include @SPL_OBJ@/spl_config.h
-EXTRA_CFLAGS += -include @abs_top_builddir@/zfs_config.h
-EXTRA_CFLAGS += -I@abs_top_srcdir@/include -I@SPL@/include -I@SPL@
+EXTRA_CFLAGS = $(ZFS_MODULE_CFLAGS) @KERNELCPPFLAGS@
-obj-m := $(MODULE).o
+obj-$(CONFIG_ZFS) := $(MODULE).o
$(MODULE)-objs += @top_srcdir@/module/zfs/arc.o
$(MODULE)-objs += @top_srcdir@/module/zfs/bplist.o
diff --git a/module/zpios/Makefile.in b/module/zpios/Makefile.in
index 93a89a914..437bf2287 100644
--- a/module/zpios/Makefile.in
+++ b/module/zpios/Makefile.in
@@ -1,10 +1,7 @@
MODULE := zpios
-EXTRA_CFLAGS = @KERNELCPPFLAGS@
-EXTRA_CFLAGS += -include @SPL_OBJ@/spl_config.h
-EXTRA_CFLAGS += -include @abs_top_builddir@/zfs_config.h
-EXTRA_CFLAGS += -I@abs_top_srcdir@/include -I@SPL@/include -I@SPL@
+EXTRA_CFLAGS = $(ZFS_MODULE_CFLAGS) @KERNELCPPFLAGS@
-obj-m := $(MODULE).o
+obj-$(CONFIG_ZFS) := $(MODULE).o
$(MODULE)-objs += @top_srcdir@/module/zpios/pios.o