Add build system

Add autoconf style build infrastructure to the ZFS tree.  This
includes autogen.sh, configure.ac, m4 macros, some scripts/*,
and makefiles for all the core ZFS components.
This commit is contained in:
Brian Behlendorf
2010-08-26 11:22:58 -07:00
parent 40b84e7aec
commit c9c0d073da
108 changed files with 5853 additions and 0 deletions
+54
View File
@@ -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: