Whamcloud - gitweb
LU-1905 build: Always create libcfs.a
[fs/lustre-release.git] / autoMakefile.am
index 8438cdb..45c2f77 100644 (file)
@@ -1,15 +1,15 @@
 SUBDIRS := @LDISKFS_SUBDIR@ @SPL_SUBDIR@ @ZFS_SUBDIR@ . @LIBSYSIO_SUBDIR@ @SNMP_SUBDIR@ @LUSTREIOKIT_SUBDIR@ @LIBCFS_SUBDIR@ lnet lustre
-DIST_SUBDIRS := @SNMP_DIST_SUBDIR@ libsysio ldiskfs lustre-iokit @LIBCFS_SUBDIR@ lnet lustre 
+DIST_SUBDIRS := @LDISKFS_DIST_SUBDIR@ @SNMP_DIST_SUBDIR@ libsysio lustre-iokit @LIBCFS_SUBDIR@ lnet lustre
 SOURCES_SUBDIRS := @LDISKFS_SUBDIR@ @LIBCFS_SUBDIR@ lnet lustre
 RPM_SUBDIRS := @LDISKFS_SUBDIR@ @LUSTREIOKIT_SUBDIR@
-if LDISKFS_ENABLED
-if !LDISKFS_IN_KERNEL
-EXTRA_SOURCES := @SYMVERFILE@
-endif
-endif
+MODULE_SYMVERS_DEPS = module-symvers
 
 @TESTS_TRUE@BUILD_TESTS = true
 @TESTS_FALSE@BUILD_TESTS = false
+@SERVER_TRUE@BUILD_SERVER = true
+@SERVER_FALSE@BUILD_SERVER = false
+@CLIENT_TRUE@BUILD_CLIENT = true
+@CLIENT_FALSE@BUILD_CLIENT = false
 
 include build/autoMakefile.am.toplevel
 
@@ -19,14 +19,45 @@ if USES_DPKG
 EXTRA_DIST += debian/*
 endif
 
+module-symvers-ldiskfs:
 if LDISKFS_ENABLED
-if !LDISKFS_IN_KERNEL
-@SYMVERFILE@: @LDISKFS_DIR@/@SYMVERFILE@
-       touch @SYMVERFILE@
-       -grep -v ldiskfs @SYMVERFILE@ > @SYMVERFILE@.old
-       cat @SYMVERFILE@.old @LDISKFS_DIR@/@SYMVERFILE@ > @SYMVERFILE@
-endif
-endif
+       @if [ -f @LDISKFS_DIR@/@SYMVERFILE@ ]; then \
+               cat @LDISKFS_DIR@/@SYMVERFILE@ >>@SYMVERFILE@; \
+       elif [ -f @LDISKFS_DIR@/ldiskfs/@SYMVERFILE@ ]; then \
+               cat @LDISKFS_DIR@/ldiskfs/@SYMVERFILE@ >>@SYMVERFILE@; \
+       else \
+               echo -e "\n" \
+               "*** Missing ldiskfs symbols. Ensure you have built ldiskfs:\n"\
+               "*** - @LDISKFS_OBJ@/ldiskfs/@SYMVERFILE@\n"; \
+               exit 1; \
+       fi
+endif # LDISKFS_ENABLED
+
+module-symvers-zfs:
+if ZFS_ENABLED
+       @if [ -f @SPL_OBJ@/@SPL_SYMBOLS@ ]; then \
+               cat @SPL_OBJ@/@SPL_SYMBOLS@ >>@SYMVERFILE@; \
+       elif [ -f @SPL_OBJ@/module/@SPL_SYMBOLS@ ]; then \
+               cat @SPL_OBJ@/module/@SPL_SYMBOLS@ >>@SYMVERFILE@; \
+       else \
+               echo -e "\n" \
+               "*** Missing spl symbols. Ensure you have built spl:\n" \
+               "*** - @SPL_OBJ@/@SYMVERFILE@\n"; \
+               exit 1; \
+       fi
+       @if [ -f @ZFS_OBJ@/@ZFS_SYMBOLS@ ]; then \
+               cat @ZFS_OBJ@/@ZFS_SYMBOLS@ >>@SYMVERFILE@; \
+       elif [ -f @ZFS_OBJ@/module/@ZFS_SYMBOLS@ ]; then \
+               cat @ZFS_OBJ@/module/@ZFS_SYMBOLS@ >>@SYMVERFILE@; \
+       else \
+               echo -e "\n" \
+               "*** Missing zfs symbols. Ensure you have built zfs:\n" \
+               "*** - @ZFS_OBJ@/@SYMVERFILE@\n"; \
+               exit 1; \
+       fi
+endif # ZFS_ENABLED
+
+module-symvers: module-symvers-ldiskfs module-symvers-zfs
 
 CSTK=/tmp/checkstack
 CSTKO=/tmp/checkstack.orig