From 47a4a6fd5fa1f1f60bcf6af19e453ecf0292f7d1 Mon Sep 17 00:00:00 2001 From: Turbo Fredriksson Date: Mon, 9 Jun 2014 23:55:31 +0200 Subject: 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 Signed-off-by: Brian Behlendorf Closes #1082 --- lib/libavl/Makefile.am | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'lib/libavl') diff --git a/lib/libavl/Makefile.am b/lib/libavl/Makefile.am index b5e68fdb5..6a42649b8 100644 --- a/lib/libavl/Makefile.am +++ b/lib/libavl/Makefile.am @@ -1,5 +1,7 @@ include $(top_srcdir)/config/Rules.am +VPATH = $(top_srcdir)/module/avl/ + AM_CFLAGS += $(DEBUG_STACKFLAGS) $(FRAME_LARGER_THAN) DEFAULT_INCLUDES += \ @@ -8,5 +10,13 @@ DEFAULT_INCLUDES += \ noinst_LTLIBRARIES = libavl.la -libavl_la_SOURCES = \ - $(top_srcdir)/module/avl/avl.c +USER_C = + +KERNEL_C = \ + avl.c + +nodist_libavl_la_SOURCES = \ + $(USER_C) \ + $(KERNEL_C) + +EXTRA_DIST = $(USER_C) -- cgit v1.2.3