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:
+8
View File
@@ -0,0 +1,8 @@
MODULE := zavl
EXTRA_CFLAGS = -I@MODDIR@/avl/include
EXTRA_CFLAGS += @KERNELCPPFLAGS@
obj-m := ${MODULE}.o
${MODULE}-objs += avl.o
+10
View File
@@ -0,0 +1,10 @@
MODULE := znvpair
EXTRA_CFLAGS = -I@MODDIR@/nvpair/include
EXTRA_CFLAGS += @KERNELCPPFLAGS@
obj-m := ${MODULE}.o
${MODULE}-objs += nvpair.o
${MODULE}-objs += nvpair_alloc_spl.o
${MODULE}-objs += nvpair_alloc_fixed.o
+9
View File
@@ -0,0 +1,9 @@
MODULE := zunicode
EXTRA_CFLAGS = -I@MODDIR@/unicode/include
EXTRA_CFLAGS += @KERNELCPPFLAGS@
obj-m := ${MODULE}.o
${MODULE}-objs += u8_textprep.o
${MODULE}-objs += uconv.o
+18
View File
@@ -0,0 +1,18 @@
MODULE := zcommon
EXTRA_CFLAGS = -I@MODDIR@/avl/include
EXTRA_CFLAGS += -I@MODDIR@/nvpair/include
EXTRA_CFLAGS += -I@MODDIR@/unicode/include
EXTRA_CFLAGS += -I@MODDIR@/zcommon/include
EXTRA_CFLAGS += -I@MODDIR@/zfs/include
EXTRA_CFLAGS += @KERNELCPPFLAGS@
obj-m := ${MODULE}.o
${MODULE}-objs += zfs_deleg.o
${MODULE}-objs += zfs_prop.o
${MODULE}-objs += zprop_common.o
${MODULE}-objs += zfs_namecheck.o
${MODULE}-objs += zfs_comutil.o
${MODULE}-objs += zfs_fletcher.o
${MODULE}-objs += zpool_prop.o
+89
View File
@@ -0,0 +1,89 @@
MODULE := zfs
EXTRA_CFLAGS = -I@MODDIR@/zfs/include
EXTRA_CFLAGS += -I@MODDIR@/zcommon/include
EXTRA_CFLAGS += -I@MODDIR@/avl/include
EXTRA_CFLAGS += -I@MODDIR@/nvpair/include
EXTRA_CFLAGS += -I@MODDIR@/unicode/include
EXTRA_CFLAGS += @KERNELCPPFLAGS@
obj-m := ${MODULE}.o
${MODULE}-objs += arc.o
${MODULE}-objs += bplist.o
${MODULE}-objs += bpobj.o
${MODULE}-objs += dbuf.o
${MODULE}-objs += ddt.o
${MODULE}-objs += ddt_zap.o
${MODULE}-objs += dmu.o
${MODULE}-objs += dmu_diff.o
${MODULE}-objs += dmu_object.o
${MODULE}-objs += dmu_objset.o
${MODULE}-objs += dmu_send.o
${MODULE}-objs += dmu_traverse.o
${MODULE}-objs += dmu_tx.o
${MODULE}-objs += dmu_zfetch.o
${MODULE}-objs += dnode.o
${MODULE}-objs += dnode_sync.o
${MODULE}-objs += dsl_dataset.o
${MODULE}-objs += dsl_deadlist.o
${MODULE}-objs += dsl_deleg.o
${MODULE}-objs += dsl_dir.o
${MODULE}-objs += dsl_pool.o
${MODULE}-objs += dsl_prop.o
${MODULE}-objs += dsl_scan.o
${MODULE}-objs += dsl_synctask.o
${MODULE}-objs += fm.o
${MODULE}-objs += gzip.o
${MODULE}-objs += lzjb.o
${MODULE}-objs += metaslab.o
${MODULE}-objs += refcount.o
${MODULE}-objs += rrwlock.o
${MODULE}-objs += sa.o
${MODULE}-objs += sha256.o
${MODULE}-objs += spa.o
${MODULE}-objs += spa_boot.o
${MODULE}-objs += spa_config.o
${MODULE}-objs += spa_errlog.o
${MODULE}-objs += spa_history.o
${MODULE}-objs += spa_misc.o
${MODULE}-objs += space_map.o
${MODULE}-objs += txg.o
${MODULE}-objs += uberblock.o
${MODULE}-objs += unique.o
${MODULE}-objs += vdev.o
${MODULE}-objs += vdev_cache.o
${MODULE}-objs += vdev_file.o
${MODULE}-objs += vdev_label.o
${MODULE}-objs += vdev_mirror.o
${MODULE}-objs += vdev_missing.o
${MODULE}-objs += vdev_queue.o
${MODULE}-objs += vdev_raidz.o
${MODULE}-objs += vdev_root.o
${MODULE}-objs += zap.o
${MODULE}-objs += zap_leaf.o
${MODULE}-objs += zap_micro.o
${MODULE}-objs += zfs_acl.o
${MODULE}-objs += zfs_byteswap.o
${MODULE}-objs += zfs_ctldir.o
${MODULE}-objs += zfs_debug.o
${MODULE}-objs += zfs_dir.o
${MODULE}-objs += zfs_fm.o
${MODULE}-objs += zfs_fuid.o
${MODULE}-objs += zfs_ioctl.o
${MODULE}-objs += zfs_log.o
${MODULE}-objs += zfs_onexit.o
${MODULE}-objs += zfs_replay.o
${MODULE}-objs += zfs_rlock.o
${MODULE}-objs += zfs_sa.o
${MODULE}-objs += zfs_vfsops.o
${MODULE}-objs += zfs_vnops.o
${MODULE}-objs += zfs_znode.o
${MODULE}-objs += zil.o
${MODULE}-objs += zio.o
${MODULE}-objs += zio_checksum.o
${MODULE}-objs += zio_compress.o
${MODULE}-objs += zio_inject.o
${MODULE}-objs += zle.o
${MODULE}-objs += zrlock.o
${MODULE}-objs += zvol.o