autoMakefile.am 2.70 KiB
# 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 lmv mds obdfilter ost llite cobd ptlbd smfs cmobd \
liblustre doc utils tests conf scripts
EXTRA_DIST = BUGS FDL Rules.in kernel_patches kernel-tests/Makefile \
README.kernel-source
# these empty rules are needed so that automake doesn't add its own
# recursive rules
etags-recursive:
ctags-recursive:
tags-recursive:
TAGS:
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
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
if MODULES
all-am: modules
if !LINUX25
DEP = dep
dep: .depend
.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)"
endif
if LDISKFS
LDISKFS = ldiskfs-sources
ldiskfs-sources:
$(MAKE) sources -C ldiskfs
endif
lvfs-sources:
$(MAKE) sources -C lvfs
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 $@
endif # MODULES
all-recursive: lustre_build_version
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
dist-hook:
find $(distdir) -name .deps | xargs rm -rf
find $(distdir) -name CVS | xargs rm -rf
rpms: dist Makefile
rpmbuild -ta $(distdir).tar.gz
CSTK=/tmp/checkstack
CSTKO=/tmp/checkstack.orig
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}
checkstack-update:
[ -f ${CSTK} ] && mv ${CSTK} ${CSTKO}
checkstack-clean:
rm -f ${CSTK} ${CSTKO}