-# Copyright (C) 2001 Cluster File Systems, Inc.
#
-# This code is issued under the GNU General Public License.
-# See the file COPYING in this distribution
-
-AUTOMAKE_OPTIONS = foreign
-
-SUBDIRS = . include portals ldiskfs lvfs obdclass lov ldlm ptlrpc \
- obdecho osc mdc mds obdfilter ost llite cobd ptlbd snapfs smfs cmobd \
- liblustre doc utils tests conf scripts
+# GPL HEADER START
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2 only,
+# as published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License version 2 for more details (a copy is included
+# in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU General Public License
+# version 2 along with this program; If not, see
+# http://www.sun.com/software/products/lustre/docs/GPLv2.pdf
+#
+# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+# GPL HEADER END
+#
-EXTRA_DIST = BUGS FDL Rules.in kernel_patches kernel-tests/Makefile \
- README.kernel-source
+#
+# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
+# Use is subject to license terms.
+#
+# Copyright (c) 2011, Whamcloud, Inc.
+#
-# these empty rules are needed so that automake doesn't add its own
-# recursive rules
-etags-recursive:
+#
+# This file is part of Lustre, http://www.lustre.org/
+# Lustre is a trademark of Sun Microsystems, Inc.
+#
-ctags-recursive:
+AUTOMAKE_OPTIONS = foreign
-tags-recursive:
+# also update lustre/autoconf/lustre-core.m4 AC_CONFIG_FILES
+ALWAYS_SUBDIRS := include lvfs obdclass ldlm ptlrpc osc lov obdecho \
+ mgc fid fld doc utils tests scripts autoconf contrib conf
-TAGS:
+SERVER_SUBDIRS := obdfilter ost mds mgs mdt cmm mdd osd-ldiskfs
-tags:
- rm -f $(top_srcdir)/TAGS
- ETAGSF=`etags --version | grep -iq exuberant && \
- echo "-I __initdata,__exitdata,EXPORT_SYMBOL"`; \
- find $(top_srcdir) -name '*.[hc]' | xargs etags $$ETAGSF -a
+CLIENT_SUBDIRS := mdc lmv llite lclient
- rm -f $(top_srcdir)/tags
- CTAGSF=`ctags --version | grep -iq exuberant && \
- echo "-I __initdata,__exitdata,EXPORT_SYMBOL"`; \
- find $(top_srcdir) -name '*.[hc]' | xargs ctags $$CTAGSF -a
+QUOTA_SUBDIRS := quota
-if MODULES
-all-am: modules
+LIBLUSTRE_SUBDIRS := liblustre
-if !LINUX25
-DEP = dep
-dep: .depend
+SUBDIRS := $(ALWAYS_SUBDIRS)
-.depend:
- $(MAKE) $(ARCH_UM) -C $(LINUX) -f $(PWD)/kernel-tests/Makefile LUSTRE_LINUX_CONFIG=$(LINUX_CONFIG) -o scripts -o include/config/MARKER _sfdep_$(PWD) _FASTDEP_ALL_SUB_DIRS="$(PWD)"
+if SERVER
+SUBDIRS += $(SERVER_SUBDIRS)
endif
-if LDISKFS
-LDISKFS = ldiskfs-sources
-ldiskfs-sources:
- $(MAKE) sources -C ldiskfs
+if CLIENT
+SUBDIRS += $(CLIENT_SUBDIRS)
endif
-lvfs-sources:
- $(MAKE) sources -C lvfs
+SUBDIRS += $(QUOTA_SUBDIRS)
-modules: lustre_build_version $(DEP) $(LDISKFS) lvfs-sources
- $(MAKE) $(ARCH_UM) -C $(LINUX) -f $(PWD)/kernel-tests/Makefile LUSTRE_LINUX_CONFIG=$(LINUX_CONFIG) SUBDIRS=$(PWD) -o tmp_include_depends -o scripts -o include/config/MARKER $@
-
-lustre_build_version:
- perl $(top_builddir)/scripts/version_tag.pl $(top_srcdir) $(top_builddir) > tmpver
- echo "#define LUSTRE_RELEASE @RELEASE@" >> tmpver
- cmp -s $(top_builddir)/include/linux/lustre_build_version.h tmpver \
- 2> /dev/null && \
- $(RM) tmpver || \
- mv tmpver $(top_builddir)/include/linux/lustre_build_version.h
+# this needs to be after the client subdirs
+if LIBLUSTRE
+if !CLIENT
+SUBDIRS += $(CLIENT_SUBDIRS)
+endif
+SUBDIRS += $(LIBLUSTRE_SUBDIRS)
+endif
-endif # MODULES
+DIST_SUBDIRS := $(ALWAYS_SUBDIRS) $(SERVER_SUBDIRS) $(CLIENT_SUBDIRS) \
+ $(LIBLUSTRE_SUBDIRS) $(QUOTA_SUBDIRS)
-dist-hook:
- find $(distdir) -name .deps | xargs rm -rf
- find $(distdir) -name CVS | xargs rm -rf
+EXTRA_DIST = BUGS FDL kernel_patches BUILDING
-rpms: dist Makefile
- rpmbuild -ta $(distdir).tar.gz
+lvfs-sources:
+ $(MAKE) sources -C lvfs
+obdclass-sources:
+ $(MAKE) sources -C obdclass
-CSTK=/tmp/checkstack
-CSTKO=/tmp/checkstack.orig
+sources: $(LDISKFS) lvfs-sources obdclass-sources lustre_build_version
-checkstack:
- [ -f ${CSTK} -a ! -s ${CSTKO} ] && mv ${CSTK} ${CSTKO} || true
- for i in ${SUBDIRS} portals/knals/*; do \
- MOD=$$i/`basename $$i`.o; \
- [ -f $$MOD ] && objdump -d $$MOD | perl tests/checkstack.pl; \
- done | sort -nr > ${CSTK}
- [ -f ${CSTKO} ] && ! diff -u ${CSTKO} ${CSTK} || head -30 ${CSTK}
+all-recursive: lustre_build_version
-checkstack-update:
- [ -f ${CSTK} ] && mv ${CSTK} ${CSTKO}
+BUILD_VER_H=$(top_builddir)/lustre/include/lustre/lustre_build_version.h
-checkstack-clean:
- rm -f ${CSTK} ${CSTKO}
+lustre_build_version:
+ perl $(top_builddir)/lustre/scripts/version_tag.pl $(top_srcdir) $(top_builddir) > tmpver
+ echo "#define LUSTRE_RELEASE @RELEASE@" >> tmpver
+ cmp -s $(BUILD_VER_H) tmpver > tmpdiff 2> /dev/null && \
+ $(RM) tmpver tmpdiff || \
+ mv -f tmpver $(BUILD_VER_H)