Support custom build directories and move includes
[zfs.git] / module / Makefile.in
index f59f044..78e4814 100644 (file)
@@ -6,8 +6,21 @@ subdir-m += zfs
 subdir-m += zpios
 
 modules:
-       # Make the exported SPL symbols available to these modules.
-       cp @SPL_OBJ@/@SPL_SYMBOLS@ .
+       @# Make the exported SPL symbols available to these modules.
+       @# They may be in the root of SPL_OBJ when building against
+       @# installed devel headers, or they may be in the module
+       @# subdirectory when building against the spl source tree.
+       @if [ -f @SPL_OBJ@/@SPL_SYMBOLS@ ]; then \
+               /bin/cp @SPL_OBJ@/@SPL_SYMBOLS@ .; \
+       elif [ -f @SPL_OBJ@/module/@SPL_SYMBOLS@ ]; then \
+               /bin/cp @SPL_OBJ@/module/@SPL_SYMBOLS@ .; \
+       else \
+               echo -e "\n" \
+               "*** Missing spl symbols ensure you have built the spl:\n" \
+               "*** - @SPL_OBJ@/@SPL_SYMBOLS@, or\n" \
+               "*** - @SPL_OBJ@/module/@SPL_SYMBOLS@\n"; \
+               exit 1; \
+       fi
        $(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` @KERNELMAKE_PARAMS@ $@
 
 clean:
@@ -17,36 +30,21 @@ clean:
        if [ -f Module.markers ]; then $(RM) Module.markers; fi
 
 modules_install:
-       # Install the kernel modules
+       @# Install the kernel modules
        $(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` \
                INSTALL_MOD_PATH=$(DESTDIR) \
                INSTALL_MOD_DIR=addon/zfs $@
-       find ${DESTDIR}/lib/modules/ -name 'modules.*' | xargs ${RM}
-       sysmap=${DESTDIR}/boot/System.map-@LINUX_VERSION@; \
+       find $(DESTDIR)/lib/modules/ -name 'modules.*' | xargs $(RM)
+       sysmap=$(DESTDIR)/boot/System.map-@LINUX_VERSION@; \
        if [ -f $$sysmap ]; then \
                depmod -ae -F $$sysmap @LINUX_VERSION@; \
        fi
-       # Install the required headers in to the kernel source
-       destname=zfs-@ZFS_META_VERSION@/@LINUX_VERSION@; \
-       instdest=$(DESTDIR)/usr/src/$$destname; \
-       (find . -mindepth 3 -name '*.h' | xargs -Ihdr sh -c \
-        "DEST=hdr && install -D hdr $$instdest/\$${DEST#*/*/*/}") || exit 1
 
 modules_uninstall:
-       # Uninstall the kernel modules
-       $(RM) -R ${DESTDIR}/lib/modules/@LINUX_VERSION@/addon/zfs
-       # Uninstall the required headers from the kernel source
-       destname=zfs-@ZFS_META_VERSION@/@LINUX_VERSION@; \
-       instdest=$(DESTDIR)/usr/src/$$destname; \
-       $(RM) -R $$instdest
+       @# Uninstall the kernel modules
+       $(RM) -R $(DESTDIR)/lib/modules/@LINUX_VERSION@/addon/zfs
 
 distdir:
-       distfiles=`find . -name '*.c' -o -name '*.h'`; \
-       for distfile in $$distfiles; do \
-               distpath=`dirname $$distdir/$$distfile`; \
-               (/bin/mkdir -p $$distpath && \
-                /bin/cp $$distfile $$distdir/$$distfile) || exit 1; \
-       done
 
 distclean maintainer-clean: clean
 install: modules_install