aboutsummaryrefslogtreecommitdiffstats
path: root/module
diff options
context:
space:
mode:
authorTurbo Fredriksson <[email protected]>2014-06-09 23:55:31 +0200
committerBrian Behlendorf <[email protected]>2015-07-17 13:42:51 -0700
commit47a4a6fd5fa1f1f60bcf6af19e453ecf0292f7d1 (patch)
tree00c149a4fc58c4a0467c3ef68fbc29628966aa2b /module
parent2a53e2dacc7a7c0a8c63ff2eef3aff95f6ac80b1 (diff)
Support parallel build trees (VPATH builds)
Build products from an out of tree build should be written relative to the build directory. Sources should be referred to by their locations in the source directory. This is accomplished by adding the 'src' and 'obj' variables for the module Makefile.am, using relative paths to reference source files, and by setting VPATH when source files are not co-located with the Makefile. This enables the following: $ mkdir build $ cd build $ ../configure \ --with-spl=$HOME/src/git/spl/ \ --with-spl-obj=$HOME/src/git/spl/build $ make -s This change also has the advantage of resolving the following warning which is generated by modern versions of automake. Makefile.am:00: warning: source file 'xxx' is in a subdirectory, Makefile.am:00: but option 'subdir-objects' is disabled Signed-off-by: Turbo Fredriksson <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes #1082
Diffstat (limited to 'module')
-rw-r--r--module/Makefile.in4
-rw-r--r--module/avl/Makefile.in5
-rw-r--r--module/nvpair/Makefile.in11
-rw-r--r--module/unicode/Makefile.in7
-rw-r--r--module/zcommon/Makefile.in19
-rw-r--r--module/zfs/Makefile.in201
-rw-r--r--module/zpios/Makefile.in5
7 files changed, 137 insertions, 115 deletions
diff --git a/module/Makefile.in b/module/Makefile.in
index 686402b1f..e8d34c894 100644
--- a/module/Makefile.in
+++ b/module/Makefile.in
@@ -63,6 +63,10 @@ modules_uninstall:
done
distdir:
+ list='$(subdir-m)'; for subdir in $$list; do \
+ (find @top_srcdir@/module/$$subdir -name '*.c' -o -name '*.h' |\
+ xargs /bin/cp -t $$distdir/$$subdir); \
+ done
distclean maintainer-clean: clean
install: modules_install
diff --git a/module/avl/Makefile.in b/module/avl/Makefile.in
index 27f9e4af4..98c011e8a 100644
--- a/module/avl/Makefile.in
+++ b/module/avl/Makefile.in
@@ -1,7 +1,10 @@
+src = @abs_top_srcdir@/module/avl
+obj = @abs_builddir@
+
MODULE := zavl
EXTRA_CFLAGS = $(ZFS_MODULE_CFLAGS) @KERNELCPPFLAGS@
obj-$(CONFIG_ZFS) := $(MODULE).o
-$(MODULE)-objs += @top_srcdir@/module/avl/avl.o
+$(MODULE)-objs += avl.o
diff --git a/module/nvpair/Makefile.in b/module/nvpair/Makefile.in
index 211fc726d..a8144452a 100644
--- a/module/nvpair/Makefile.in
+++ b/module/nvpair/Makefile.in
@@ -1,10 +1,13 @@
+src = @abs_top_srcdir@/module/nvpair
+obj = @abs_builddir@
+
MODULE := znvpair
EXTRA_CFLAGS = $(ZFS_MODULE_CFLAGS) @KERNELCPPFLAGS@
obj-$(CONFIG_ZFS) := $(MODULE).o
-$(MODULE)-objs += @top_srcdir@/module/nvpair/nvpair.o
-$(MODULE)-objs += @top_srcdir@/module/nvpair/fnvpair.o
-$(MODULE)-objs += @top_srcdir@/module/nvpair/nvpair_alloc_spl.o
-$(MODULE)-objs += @top_srcdir@/module/nvpair/nvpair_alloc_fixed.o
+$(MODULE)-objs += nvpair.o
+$(MODULE)-objs += fnvpair.o
+$(MODULE)-objs += nvpair_alloc_spl.o
+$(MODULE)-objs += nvpair_alloc_fixed.o
diff --git a/module/unicode/Makefile.in b/module/unicode/Makefile.in
index 226e23baa..b26e66927 100644
--- a/module/unicode/Makefile.in
+++ b/module/unicode/Makefile.in
@@ -1,8 +1,11 @@
+src = @abs_top_srcdir@/module/unicode
+obj = @abs_builddir@
+
MODULE := zunicode
EXTRA_CFLAGS = $(ZFS_MODULE_CFLAGS) @KERNELCPPFLAGS@
obj-$(CONFIG_ZFS) := $(MODULE).o
-$(MODULE)-objs += @top_srcdir@/module/unicode/u8_textprep.o
-$(MODULE)-objs += @top_srcdir@/module/unicode/uconv.o
+$(MODULE)-objs += u8_textprep.o
+$(MODULE)-objs += uconv.o
diff --git a/module/zcommon/Makefile.in b/module/zcommon/Makefile.in
index d4f5ba7ec..67e474ee0 100644
--- a/module/zcommon/Makefile.in
+++ b/module/zcommon/Makefile.in
@@ -1,14 +1,17 @@
+src = @abs_top_srcdir@/module/zcommon
+obj = @abs_builddir@
+
MODULE := zcommon
EXTRA_CFLAGS = $(ZFS_MODULE_CFLAGS) @KERNELCPPFLAGS@
obj-$(CONFIG_ZFS) := $(MODULE).o
-$(MODULE)-objs += @top_srcdir@/module/zcommon/zfs_deleg.o
-$(MODULE)-objs += @top_srcdir@/module/zcommon/zfs_prop.o
-$(MODULE)-objs += @top_srcdir@/module/zcommon/zprop_common.o
-$(MODULE)-objs += @top_srcdir@/module/zcommon/zfs_namecheck.o
-$(MODULE)-objs += @top_srcdir@/module/zcommon/zfs_comutil.o
-$(MODULE)-objs += @top_srcdir@/module/zcommon/zfs_fletcher.o
-$(MODULE)-objs += @top_srcdir@/module/zcommon/zfs_uio.o
-$(MODULE)-objs += @top_srcdir@/module/zcommon/zpool_prop.o
+$(MODULE)-objs += zfs_deleg.o
+$(MODULE)-objs += zfs_prop.o
+$(MODULE)-objs += zprop_common.o
+$(MODULE)-objs += zfs_namecheck.o
+$(MODULE)-objs += zfs_comutil.o
+$(MODULE)-objs += zfs_fletcher.o
+$(MODULE)-objs += zfs_uio.o
+$(MODULE)-objs += zpool_prop.o
diff --git a/module/zfs/Makefile.in b/module/zfs/Makefile.in
index e5753ae81..55f8cef16 100644
--- a/module/zfs/Makefile.in
+++ b/module/zfs/Makefile.in
@@ -1,105 +1,108 @@
+src = @abs_top_srcdir@/module/zfs
+obj = @abs_builddir@
+
MODULE := zfs
EXTRA_CFLAGS = $(ZFS_MODULE_CFLAGS) @KERNELCPPFLAGS@
obj-$(CONFIG_ZFS) := $(MODULE).o
-$(MODULE)-objs += @top_srcdir@/module/zfs/arc.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/blkptr.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/bplist.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/bpobj.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/dbuf.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/dbuf_stats.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/bptree.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/ddt.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/ddt_zap.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/dmu.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/dmu_diff.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/dmu_object.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/dmu_objset.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/dmu_send.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/dmu_traverse.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/dmu_tx.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/dmu_zfetch.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/dnode.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/dnode_sync.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/dsl_dataset.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/dsl_deadlist.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/dsl_deleg.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/dsl_bookmark.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/dsl_dir.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/dsl_pool.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/dsl_prop.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/dsl_scan.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/dsl_synctask.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/fm.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/gzip.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/lzjb.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/lz4.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/metaslab.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/multilist.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/range_tree.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/refcount.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/rrwlock.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/sa.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/sha256.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/spa.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/spa_boot.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/spa_config.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/spa_errlog.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/spa_history.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/spa_misc.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/spa_stats.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/space_map.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/space_reftree.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/txg.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/trace.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/uberblock.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/unique.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/vdev.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/vdev_cache.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/vdev_disk.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/vdev_file.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/vdev_label.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/vdev_mirror.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/vdev_missing.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/vdev_queue.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/vdev_raidz.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/vdev_root.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zap.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zap_leaf.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zap_micro.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zfeature.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zfeature_common.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zfs_acl.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zfs_byteswap.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zfs_ctldir.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zfs_debug.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zfs_dir.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zfs_fm.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zfs_fuid.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zfs_ioctl.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zfs_log.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zfs_onexit.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zfs_replay.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zfs_rlock.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zfs_sa.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zfs_vfsops.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zfs_vnops.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zfs_znode.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zil.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zio.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zio_checksum.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zio_compress.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zio_inject.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zle.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zpl_ctldir.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zpl_export.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zpl_file.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zpl_inode.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zpl_super.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zpl_xattr.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zrlock.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/zvol.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/dsl_destroy.o
-$(MODULE)-objs += @top_srcdir@/module/zfs/dsl_userhold.o
+$(MODULE)-objs += arc.o
+$(MODULE)-objs += blkptr.o
+$(MODULE)-objs += bplist.o
+$(MODULE)-objs += bpobj.o
+$(MODULE)-objs += dbuf.o
+$(MODULE)-objs += dbuf_stats.o
+$(MODULE)-objs += bptree.o
+$(MODULE)-objs += ddt.o
+$(MODULE)-objs += ddt_zap.o
+$(MODULE)-objs += dmu.o
+$(MODULE)-objs += dmu_diff.o
+$(MODULE)-objs += dmu_object.o
+$(MODULE)-objs += dmu_objset.o
+$(MODULE)-objs += dmu_send.o
+$(MODULE)-objs += dmu_traverse.o
+$(MODULE)-objs += dmu_tx.o
+$(MODULE)-objs += dmu_zfetch.o
+$(MODULE)-objs += dnode.o
+$(MODULE)-objs += dnode_sync.o
+$(MODULE)-objs += dsl_dataset.o
+$(MODULE)-objs += dsl_deadlist.o
+$(MODULE)-objs += dsl_deleg.o
+$(MODULE)-objs += dsl_bookmark.o
+$(MODULE)-objs += dsl_dir.o
+$(MODULE)-objs += dsl_pool.o
+$(MODULE)-objs += dsl_prop.o
+$(MODULE)-objs += dsl_scan.o
+$(MODULE)-objs += dsl_synctask.o
+$(MODULE)-objs += fm.o
+$(MODULE)-objs += gzip.o
+$(MODULE)-objs += lzjb.o
+$(MODULE)-objs += lz4.o
+$(MODULE)-objs += metaslab.o
+$(MODULE)-objs += multilist.o
+$(MODULE)-objs += range_tree.o
+$(MODULE)-objs += refcount.o
+$(MODULE)-objs += rrwlock.o
+$(MODULE)-objs += sa.o
+$(MODULE)-objs += sha256.o
+$(MODULE)-objs += spa.o
+$(MODULE)-objs += spa_boot.o
+$(MODULE)-objs += spa_config.o
+$(MODULE)-objs += spa_errlog.o
+$(MODULE)-objs += spa_history.o
+$(MODULE)-objs += spa_misc.o
+$(MODULE)-objs += spa_stats.o
+$(MODULE)-objs += space_map.o
+$(MODULE)-objs += space_reftree.o
+$(MODULE)-objs += txg.o
+$(MODULE)-objs += trace.o
+$(MODULE)-objs += uberblock.o
+$(MODULE)-objs += unique.o
+$(MODULE)-objs += vdev.o
+$(MODULE)-objs += vdev_cache.o
+$(MODULE)-objs += vdev_disk.o
+$(MODULE)-objs += vdev_file.o
+$(MODULE)-objs += vdev_label.o
+$(MODULE)-objs += vdev_mirror.o
+$(MODULE)-objs += vdev_missing.o
+$(MODULE)-objs += vdev_queue.o
+$(MODULE)-objs += vdev_raidz.o
+$(MODULE)-objs += vdev_root.o
+$(MODULE)-objs += zap.o
+$(MODULE)-objs += zap_leaf.o
+$(MODULE)-objs += zap_micro.o
+$(MODULE)-objs += zfeature.o
+$(MODULE)-objs += zfeature_common.o
+$(MODULE)-objs += zfs_acl.o
+$(MODULE)-objs += zfs_byteswap.o
+$(MODULE)-objs += zfs_ctldir.o
+$(MODULE)-objs += zfs_debug.o
+$(MODULE)-objs += zfs_dir.o
+$(MODULE)-objs += zfs_fm.o
+$(MODULE)-objs += zfs_fuid.o
+$(MODULE)-objs += zfs_ioctl.o
+$(MODULE)-objs += zfs_log.o
+$(MODULE)-objs += zfs_onexit.o
+$(MODULE)-objs += zfs_replay.o
+$(MODULE)-objs += zfs_rlock.o
+$(MODULE)-objs += zfs_sa.o
+$(MODULE)-objs += zfs_vfsops.o
+$(MODULE)-objs += zfs_vnops.o
+$(MODULE)-objs += zfs_znode.o
+$(MODULE)-objs += zil.o
+$(MODULE)-objs += zio.o
+$(MODULE)-objs += zio_checksum.o
+$(MODULE)-objs += zio_compress.o
+$(MODULE)-objs += zio_inject.o
+$(MODULE)-objs += zle.o
+$(MODULE)-objs += zpl_ctldir.o
+$(MODULE)-objs += zpl_export.o
+$(MODULE)-objs += zpl_file.o
+$(MODULE)-objs += zpl_inode.o
+$(MODULE)-objs += zpl_super.o
+$(MODULE)-objs += zpl_xattr.o
+$(MODULE)-objs += zrlock.o
+$(MODULE)-objs += zvol.o
+$(MODULE)-objs += dsl_destroy.o
+$(MODULE)-objs += dsl_userhold.o
diff --git a/module/zpios/Makefile.in b/module/zpios/Makefile.in
index 437bf2287..10a101da4 100644
--- a/module/zpios/Makefile.in
+++ b/module/zpios/Makefile.in
@@ -1,7 +1,10 @@
+src = @abs_top_srcdir@/module/zpios
+obj = @abs_builddir@
+
MODULE := zpios
EXTRA_CFLAGS = $(ZFS_MODULE_CFLAGS) @KERNELCPPFLAGS@
obj-$(CONFIG_ZFS) := $(MODULE).o
-$(MODULE)-objs += @top_srcdir@/module/zpios/pios.o
+$(MODULE)-objs += pios.o