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 <turbo@bayour.com> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Issue zfsonlinux/zfs#1082
This commit is contained in:
parent
77ab5dd33a
commit
37d7cd94f3
10
Makefile.am
10
Makefile.am
|
@ -1,9 +1,9 @@
|
|||
|
||||
ACLOCAL_AMFLAGS = -I config
|
||||
|
||||
include $(top_srcdir)/config/rpm.am
|
||||
include $(top_srcdir)/config/deb.am
|
||||
include $(top_srcdir)/config/tgz.am
|
||||
include config/rpm.am
|
||||
include config/deb.am
|
||||
include config/tgz.am
|
||||
|
||||
SUBDIRS = include rpm
|
||||
if CONFIG_USER
|
||||
|
@ -40,11 +40,11 @@ dist-hook:
|
|||
$(distdir)/META
|
||||
|
||||
ctags:
|
||||
$(RM) $(top_srcdir)/tags
|
||||
$(RM) tags
|
||||
find $(top_srcdir) -name .git -prune -o -name '*.[hc]' | xargs ctags
|
||||
|
||||
etags:
|
||||
$(RM) $(top_srcdir)/TAGS
|
||||
$(RM) TAGS
|
||||
find $(top_srcdir) -name .pc -prune -o -name '*.[hc]' | xargs etags -a
|
||||
|
||||
tags: ctags etags
|
||||
|
|
|
@ -51,7 +51,7 @@ rpm-local:
|
|||
mkdir -p $(rpmbuild)/SPECS && \
|
||||
cp ${RPM_SPEC_DIR}/$(rpmspec) $(rpmbuild)/SPECS && \
|
||||
mkdir -p $(rpmbuild)/SOURCES && \
|
||||
cp scripts/kmodtool $(rpmbuild)/SOURCES && \
|
||||
cp $(top_srcdir)/scripts/kmodtool $(rpmbuild)/SOURCES && \
|
||||
cp $(distdir).tar.gz $(rpmbuild)/SOURCES)
|
||||
|
||||
srpm-common: dist
|
||||
|
|
|
@ -2,7 +2,7 @@ COMMON_H =
|
|||
|
||||
KERNEL_H = \
|
||||
$(top_srcdir)/include/util/qsort.h \
|
||||
$(top_srcdir)/include/util/sscanf.h
|
||||
$(top_srcdir)/include/util/sscanf.h
|
||||
|
||||
USER_H =
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
EXTRA_DIST = check.sh dkms.mkconf dkms.postbuild kmodtool
|
||||
|
||||
check:
|
||||
$(top_srcdir)/scripts/check.sh
|
||||
scripts/check.sh
|
||||
|
|
Loading…
Reference in New Issue