-SUBDIRS := . build portals lustre
-
-# 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
-
-all-sources:
- $(MAKE) sources -C portals
- $(MAKE) sources -C lustre
-
-if !LINUX25
-DEP = dep
-dep: .depend
-
-.depend: all-sources
- $(MAKE) $(ARCH_UM) CC="$(CC)" -C $(LINUX_OBJ) \
- -f $(PWD)/build/Makefile LUSTRE_LINUX_CONFIG=$(LINUX_CONFIG) \
- -o scripts -o include/config/MARKER _sfdep_$(PWD) \
- _FASTDEP_ALL_SUB_DIRS="$(PWD)"
-
-CLEANFILES = .depend
+SUBDIRS := @LDISKFS_SUBDIR@ . @LIBSYSIO_SUBDIR@ @SNMP_SUBDIR@ @LUSTREIOKIT_SUBDIR@ @LIBCFS_SUBDIR@ lnet lustre
+DIST_SUBDIRS := @SNMP_DIST_SUBDIR@ libsysio ldiskfs @LUSTREIOKIT_SUBDIR@ @LIBCFS_SUBDIR@ lnet lustre
+SOURCES_SUBDIRS := @LDISKFS_SUBDIR@ @LIBCFS_SUBDIR@ lnet lustre
+RPM_SUBDIRS := @LDISKFS_SUBDIR@ @LUSTREIOKIT_SUBDIR@
+if LDISKFS_ENABLED
+EXTRA_SOURCES := @SYMVERFILE@
endif
-modules: $(DEP) all-sources
- $(MAKE) $(ARCH_UM) CC="$(CC)" -C $(LINUX_OBJ) \
- -f $(PWD)/build/Makefile LUSTRE_LINUX_CONFIG=$(LINUX_CONFIG) \
- $(MODULE_TARGET)=$(PWD) -o tmp_include_depends -o scripts -o \
- include/config/MARKER $@
+include build/autoMakefile.am.toplevel
-endif # MODULES
+EXTRA_DIST += config.h.in
-dist-hook:
- find $(distdir) -name .deps | xargs rm -rf
- find $(distdir) -name CVS | xargs rm -rf
+if LDISKFS_ENABLED
+@SYMVERFILE@: @LDISKFS_DIR@/@SYMVERFILE@
+ touch @SYMVERFILE@
+ -grep -v ldiskfs @SYMVERFILE@ > @SYMVERFILE@.old
+ cat @SYMVERFILE@.old @LDISKFS_DIR@/@SYMVERFILE@ > @SYMVERFILE@
+endif
-rpms: dist Makefile
- rpmbuild -ta $(distdir).tar.gz
+CSTK=/tmp/checkstack
+CSTKO=/tmp/checkstack.orig
+
+checkstack:
+ [ -f ${CSTK} -a ! -s ${CSTKO} ] && mv -f ${CSTK} ${CSTKO} || true
+ { for i in lustre/* lnet/* libcfs/*; do \
+ MOD=$$i/`basename $$i`; \
+ if [ $$i = "lustre/llite" ]; then MOD=$$i/lustre; fi; \
+ [ -f $$MOD.ko ] && MOD=$$MOD.ko || MOD=$$MOD.o; \
+ [ -f $$MOD ] && objdump -d $$MOD | perl build/checkstack.pl; \
+ done; \
+ for i in lnet/klnds/*; do \
+ MOD=$$i/k`basename $$i`; \
+ [ -f $$MOD.ko ] && MOD=$$MOD.ko || MOD=$$MOD.o; \
+ [ -f $$MOD ] && objdump -d $$MOD | perl build/checkstack.pl; \
+ done } | sort -nr > ${CSTK}
+ [ -f ${CSTKO} ] && ! diff -u ${CSTKO} ${CSTK} || head -30 ${CSTK}
+
+checkstack-update:
+ [ -f ${CSTK} ] && mv -f ${CSTK} ${CSTKO}
+
+checkstack-clean:
+ rm -f ${CSTK} ${CSTKO}