diff options
author | Turbo Fredriksson <[email protected]> | 2014-06-11 03:57:48 +0200 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2015-07-17 12:53:11 -0700 |
commit | 37d7cd94f326896ffbd3f7609a20562c000cd4c8 (patch) | |
tree | 794913403abb6775188c9ee302c8e7fc2f73bd1f /module | |
parent | 77ab5dd33a99bdf7fb062f0ea327582236a225b3 (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
$ 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]>
Issue zfsonlinux/zfs#1082
Diffstat (limited to 'module')
-rw-r--r-- | module/spl/Makefile.in | 41 | ||||
-rw-r--r-- | module/splat/Makefile.in | 37 |
2 files changed, 42 insertions, 36 deletions
diff --git a/module/spl/Makefile.in b/module/spl/Makefile.in index d1742448d..a1f1ab823 100644 --- a/module/spl/Makefile.in +++ b/module/spl/Makefile.in @@ -1,27 +1,30 @@ # Makefile.in for spl kernel module +src = @abs_top_srcdir@/module/spl +obj = @abs_builddir@ + MODULE := spl EXTRA_CFLAGS = $(SPL_MODULE_CFLAGS) @KERNELCPPFLAGS@ # Solaris porting layer module obj-$(CONFIG_SPL) := $(MODULE).o -$(MODULE)-objs += @top_srcdir@/module/spl/spl-proc.o -$(MODULE)-objs += @top_srcdir@/module/spl/spl-kmem.o -$(MODULE)-objs += @top_srcdir@/module/spl/spl-kmem-cache.o -$(MODULE)-objs += @top_srcdir@/module/spl/spl-vmem.o -$(MODULE)-objs += @top_srcdir@/module/spl/spl-thread.o -$(MODULE)-objs += @top_srcdir@/module/spl/spl-taskq.o -$(MODULE)-objs += @top_srcdir@/module/spl/spl-rwlock.o -$(MODULE)-objs += @top_srcdir@/module/spl/spl-vnode.o -$(MODULE)-objs += @top_srcdir@/module/spl/spl-err.o -$(MODULE)-objs += @top_srcdir@/module/spl/spl-kobj.o -$(MODULE)-objs += @top_srcdir@/module/spl/spl-generic.o -$(MODULE)-objs += @top_srcdir@/module/spl/spl-atomic.o -$(MODULE)-objs += @top_srcdir@/module/spl/spl-mutex.o -$(MODULE)-objs += @top_srcdir@/module/spl/spl-kstat.o -$(MODULE)-objs += @top_srcdir@/module/spl/spl-condvar.o -$(MODULE)-objs += @top_srcdir@/module/spl/spl-xdr.o -$(MODULE)-objs += @top_srcdir@/module/spl/spl-cred.o -$(MODULE)-objs += @top_srcdir@/module/spl/spl-tsd.o -$(MODULE)-objs += @top_srcdir@/module/spl/spl-zlib.o +$(MODULE)-objs += spl-proc.o +$(MODULE)-objs += spl-kmem.o +$(MODULE)-objs += spl-kmem-cache.o +$(MODULE)-objs += spl-vmem.o +$(MODULE)-objs += spl-thread.o +$(MODULE)-objs += spl-taskq.o +$(MODULE)-objs += spl-rwlock.o +$(MODULE)-objs += spl-vnode.o +$(MODULE)-objs += spl-err.o +$(MODULE)-objs += spl-kobj.o +$(MODULE)-objs += spl-generic.o +$(MODULE)-objs += spl-atomic.o +$(MODULE)-objs += spl-mutex.o +$(MODULE)-objs += spl-kstat.o +$(MODULE)-objs += spl-condvar.o +$(MODULE)-objs += spl-xdr.o +$(MODULE)-objs += spl-cred.o +$(MODULE)-objs += spl-tsd.o +$(MODULE)-objs += spl-zlib.o diff --git a/module/splat/Makefile.in b/module/splat/Makefile.in index f4065196b..680f28492 100644 --- a/module/splat/Makefile.in +++ b/module/splat/Makefile.in @@ -1,25 +1,28 @@ # Makefile.in for splat kernel module +src = @abs_top_srcdir@/module/splat +obj = @abs_builddir@ + MODULE := splat EXTRA_CFLAGS = $(SPL_MODULE_CFLAGS) @KERNELCPPFLAGS@ # Solaris Porting LAyer Tests obj-$(CONFIG_SPL) := $(MODULE).o -$(MODULE)-objs += @top_srcdir@/module/splat/splat-ctl.o -$(MODULE)-objs += @top_srcdir@/module/splat/splat-kmem.o -$(MODULE)-objs += @top_srcdir@/module/splat/splat-taskq.o -$(MODULE)-objs += @top_srcdir@/module/splat/splat-random.o -$(MODULE)-objs += @top_srcdir@/module/splat/splat-mutex.o -$(MODULE)-objs += @top_srcdir@/module/splat/splat-condvar.o -$(MODULE)-objs += @top_srcdir@/module/splat/splat-thread.o -$(MODULE)-objs += @top_srcdir@/module/splat/splat-rwlock.o -$(MODULE)-objs += @top_srcdir@/module/splat/splat-time.o -$(MODULE)-objs += @top_srcdir@/module/splat/splat-vnode.o -$(MODULE)-objs += @top_srcdir@/module/splat/splat-kobj.o -$(MODULE)-objs += @top_srcdir@/module/splat/splat-atomic.o -$(MODULE)-objs += @top_srcdir@/module/splat/splat-list.o -$(MODULE)-objs += @top_srcdir@/module/splat/splat-generic.o -$(MODULE)-objs += @top_srcdir@/module/splat/splat-cred.o -$(MODULE)-objs += @top_srcdir@/module/splat/splat-zlib.o -$(MODULE)-objs += @top_srcdir@/module/splat/splat-linux.o +$(MODULE)-objs += splat-ctl.o +$(MODULE)-objs += splat-kmem.o +$(MODULE)-objs += splat-taskq.o +$(MODULE)-objs += splat-random.o +$(MODULE)-objs += splat-mutex.o +$(MODULE)-objs += splat-condvar.o +$(MODULE)-objs += splat-thread.o +$(MODULE)-objs += splat-rwlock.o +$(MODULE)-objs += splat-time.o +$(MODULE)-objs += splat-vnode.o +$(MODULE)-objs += splat-kobj.o +$(MODULE)-objs += splat-atomic.o +$(MODULE)-objs += splat-list.o +$(MODULE)-objs += splat-generic.o +$(MODULE)-objs += splat-cred.o +$(MODULE)-objs += splat-zlib.o +$(MODULE)-objs += splat-linux.o |