Whamcloud - gitweb
- landing of b_hd_cleanup_merge to HEAD.
[fs/lustre-release.git] / lustre / autoMakefile.am
1 # Copyright (C) 2001  Cluster File Systems, Inc.
2 #
3 # This code is issued under the GNU General Public License.
4 # See the file COPYING in this distribution
5
6 AUTOMAKE_OPTIONS = foreign
7
8 SUBDIRS = . include portals ldiskfs lvfs obdclass lov ldlm ptlrpc      \
9         obdecho osc mdc lmv  mds obdfilter ost llite cobd ptlbd smfs cmobd \
10         liblustre doc utils tests conf scripts
11
12 EXTRA_DIST = BUGS FDL Rules.in kernel_patches kernel-tests/Makefile    \
13         README.kernel-source
14
15 # these empty rules are needed so that automake doesn't add its own
16 # recursive rules
17 etags-recursive:
18
19 ctags-recursive:
20
21 tags-recursive:
22
23 TAGS:
24
25 tags:
26         rm -f $(top_srcdir)/TAGS
27         ETAGSF=`etags --version | grep -iq exuberant && \
28                 echo "-I __initdata,__exitdata,EXPORT_SYMBOL"`; \
29         find $(top_srcdir) -name '*.[hc]' | xargs etags $$ETAGSF -a
30
31         rm -f $(top_srcdir)/tags
32         CTAGSF=`ctags --version | grep -iq exuberant && \
33                 echo "-I __initdata,__exitdata,EXPORT_SYMBOL"`; \
34         find $(top_srcdir) -name '*.[hc]' | xargs ctags $$CTAGSF -a
35
36 if MODULES
37 all-am: modules
38
39 if !LINUX25
40 DEP = dep
41 dep: .depend
42
43 .depend:
44         $(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)"
45
46 CLEANFILES = .depend
47 endif
48
49 if LDISKFS
50 LDISKFS = ldiskfs-sources
51 ldiskfs-sources:
52         $(MAKE) sources -C ldiskfs
53 endif
54
55 lvfs-sources:
56         $(MAKE) sources -C lvfs
57
58 modules: lustre_build_version $(DEP) $(LDISKFS) lvfs-sources
59         $(MAKE) $(ARCH_UM) -C $(LINUX) -f $(PWD)/kernel-tests/Makefile LUSTRE_LINUX_CONFIG=$(LINUX_CONFIG) $(MODULE_TARGET)=$(PWD) -o tmp_include_depends -o scripts -o include/config/MARKER $@
60
61 endif # MODULES
62
63 all-recursive: lustre_build_version
64
65 lustre_build_version:
66         perl $(top_builddir)/scripts/version_tag.pl $(top_srcdir) $(top_builddir) > tmpver
67         echo "#define LUSTRE_RELEASE @RELEASE@" >> tmpver
68         cmp -s $(top_builddir)/include/linux/lustre_build_version.h tmpver \
69                 2> /dev/null &&                                            \
70                 $(RM) tmpver ||                                            \
71                 mv tmpver $(top_builddir)/include/linux/lustre_build_version.h
72
73 dist-hook:
74         find $(distdir) -name .deps | xargs rm -rf
75         find $(distdir) -name CVS | xargs rm -rf
76
77 rpms: dist Makefile
78         rpmbuild -ta $(distdir).tar.gz
79
80 CSTK=/tmp/checkstack
81 CSTKO=/tmp/checkstack.orig
82
83 checkstack:
84         [ -f ${CSTK} -a ! -s ${CSTKO} ] && mv ${CSTK} ${CSTKO} || true
85         for i in ${SUBDIRS} portals/knals/*; do                              \
86                 MOD=$$i/`basename $$i`.o;                                    \
87                 [ -f $$MOD ] && objdump -d $$MOD | perl tests/checkstack.pl; \
88         done | sort -nr > ${CSTK}
89         [ -f ${CSTKO} ] && ! diff -u ${CSTKO} ${CSTK} || head -30 ${CSTK}
90
91 checkstack-update:
92         [ -f ${CSTK} ] && mv ${CSTK} ${CSTKO}
93
94 checkstack-clean:
95         rm -f ${CSTK} ${CSTKO}