Add build system
[zfs.git] / module / Makefile.in
diff --git a/module/Makefile.in b/module/Makefile.in
new file mode 100644 (file)
index 0000000..489119a
--- /dev/null
@@ -0,0 +1,54 @@
+subdir-m += avl
+subdir-m += nvpair
+subdir-m += unicode
+subdir-m += zcommon
+subdir-m += zfs
+
+modules:
+       # Make the exported SPL symbols available to these modules.
+       cp @SPL_OBJ@/@SPL_SYMBOLS@ .
+       $(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` @KERNELMAKE_PARAMS@ $@
+
+clean:
+       $(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` @KERNELMAKE_PARAMS@ $@
+       if [ -f @SPL_SYMBOLS@ ]; then $(RM) @SPL_SYMBOLS@; fi
+       if [ -f @LINUX_SYMBOLS@ ]; then $(RM) @LINUX_SYMBOLS@; fi
+       if [ -f Module.markers ]; then $(RM) Module.markers; fi
+
+modules_install:
+       # 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@; \
+       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
+
+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
+uninstall: modules_uninstall
+all: modules
+check: