Newer
Older
SUBDIRS := @LDISKFS_SUBDIR@ \
. \
@LUSTREIOKIT_SUBDIR@ \
@LIBCFS_SUBDIR@ \
@SNMP_SUBDIR@ \
lnet \
lustre
DIST_SUBDIRS := ldiskfs \
lustre-iokit \
@LIBCFS_SUBDIR@ \
@SNMP_DIST_SUBDIR@ \
lnet \
lustre \
config
AUTOMAKE_OPTIONS = foreign
FIND_TAG_FILES_CMD = find $(top_srcdir) \
-path $(top_srcdir)/ldiskfs/linux-stage \
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
-prune -false -o -type f -name '*.[hc]'
# these empty rules are needed so that automake doesn't add its own
# recursive rules
etags-recursive:
ctags-recursive:
tags-recursive:
TAGS: etags
tags: ctags etags
etags:
$(RM) $(top_srcdir)/TAGS
ETAGSF=`etags --version | grep -iq exuberant && \
echo "-I __initdata,__exitdata,EXPORT_SYMBOL"`; \
$(FIND_TAG_FILES_CMD) | xargs etags $$ETAGSF -a
ctags:
$(RM) $(top_srcdir)/tags
CTAGSF=`ctags --version | grep -iq exuberant && \
echo "-I __initdata,__exitdata,EXPORT_SYMBOL"`; \
$(FIND_TAG_FILES_CMD) | xargs ctags $$CTAGSF -a
cscope-recursive:
cscope:
$(RM) $(top_srcdir)/cscope*.out $(top_srcdir)/cscope.files
$(FIND_TAG_FILES_CMD) > cscope.files
cscope -bRq
mkid:
$(FIND_TAG_FILES_CMD) | xargs mkid
doxygen: doxygen-api doxygen-ref
doxygen-%: build/doxyfile.%
.PHONY: ldiskfs-sources
ldiskfs-sources:
if LDISKFS_ENABLED
$(MAKE) sources -C @LDISKFS_SUBDIR@ || exit $$?
endif
if LINUX
all-am: modules
modules: undef.h ldiskfs-sources
$(MAKE) LDFLAGS= CC="$(CC)" -C $(LINUX_OBJ) \
-f $(PWD)/build/Makefile LUSTRE_LINUX_CONFIG=$(LINUX_CONFIG) \
LINUXINCLUDE='-I$$(srctree)/arch/$$(SRCARCH)/include -Iarch/$$(SRCARCH)/include/generated -Iinclude $$(if $$(KBUILD_SRC),-Iinclude2 -I$$(srctree)/include) -I$$(srctree)/arch/$$(SRCARCH)/include/uapi -Iarch/$$(SRCARCH)/include/generated/uapi -I$$(srctree)/include/uapi -Iinclude/generated/uapi -include $(CONFIG_INCLUDE)' \
$(MODULE_TARGET)=$(PWD) -o tmp_include_depends -o scripts -o \
include/config/MARKER $@
endif # LINUX
endif # MODULES
all: undef.h
undef.h: config.h.in
grep -v config.h.in config.h.in > $@
dist-hook: undef.h
find $(distdir) -name .deps -o \
-name CVS -o \
-name .svn -o \
-name .git -o \
EXTRA_DIST = @PACKAGE_TARNAME@.spec \
build/Makefile \
build/Rules.in \
lustre-dkms_pre-build.sh \
lustre-dkms_post-build.sh \
LUSTRE-VERSION-GEN \
LUSTRE-VERSION-FILE \
undef.h
# contrib is a directory. Putting a directory in EXTRA_DIST
# recursively includes the entire directory contents in the
# distribution tarball (the tarball created with "make dist").
EXTRA_DIST += contrib
EXTRA_DIST += rpm
rpm-local:
@(if test -z "$(RPMBUILD)"; then \
echo -e "\n" \
"*** Required util 'rpmbuild' missing. Please install the\n" \
"*** package for your distribution which provides 'rpmbuild',\n" \
"*** re-run configure, and try again.\n"; \
exit 1; \
fi; \
$(MKDIR_P) $(rpmbuilddir)/TMP && \
$(MKDIR_P) $(rpmbuilddir)/BUILD && \
$(MKDIR_P) $(rpmbuilddir)/RPMS && \
$(MKDIR_P) $(rpmbuilddir)/SRPMS && \
$(MKDIR_P) $(rpmbuilddir)/SPECS && \
$(MKDIR_P) $(rpmbuilddir)/SOURCES)
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
dkms-srpm: $(PACKAGE)-dkms.spec dist Makefile
rpmbuilddir=`mktemp -t -d rpmbuild-@PACKAGE@-$$USER-XXXXXXXX`; \
$(MAKE) $(AM_MAKEFLAGS) \
rpmbuilddir="$$rpmbuilddir" rpm-local || exit 1; \
$(RPMBUILD) \
--define "_tmppath $$rpmbuilddir/TMP" \
--define "_topdir $$rpmbuilddir" \
--define "_sourcedir $(top_srcdir)" \
--with servers --with zfs -without ldiskfs \
--bs $(PACKAGE)-dkms.spec || exit 1; \
$(RPMBUILD) \
--define "_tmppath $$rpmbuilddir/TMP" \
--define "_topdir $$rpmbuilddir" \
--define "_sourcedir $(top_srcdir)" \
--with servers --without zfs --with ldiskfs \
--bs $(PACKAGE)-dkms.spec || exit 1; \
$(RPMBUILD) \
--define "_tmppath $$rpmbuilddir/TMP" \
--define "_topdir $$rpmbuilddir" \
--define "_sourcedir $(top_srcdir)" \
--with servers --with zfs --with ldiskfs \
--bs $(PACKAGE)-dkms.spec || exit 1; \
cp $$rpmbuilddir/SRPMS/*.src.rpm $(top_srcdir) || exit 1; \
rm -rf $$rpmbuilddir
dkms-rpm: dkms-srpm
rpmbuilddir=`mktemp -t -d rpmbuild-@PACKAGE@-$$USER-XXXXXXXX`; \
$(RPMBUILD) \
--define "_tmppath $$rpmbuilddir/TMP" \
--define "_topdir $$rpmbuilddir" \
@RPMBUILD_BINARY_ARGS@ \
--with servers --with zfs --without ldiskfs \
--rebuild $(PACKAGE)-zfs-dkms-*.src.rpm || exit 1; \
$(RPMBUILD) \
--define "_tmppath $$rpmbuilddir/TMP" \
--define "_topdir $$rpmbuilddir" \
@RPMBUILD_BINARY_ARGS@ \
--with servers --without zfs --with ldiskfs \
--rebuild $(PACKAGE)-ldiskfs-dkms-*.src.rpm || exit 1; \
$(RPMBUILD) \
--define "_tmppath $$rpmbuilddir/TMP" \
--define "_topdir $$rpmbuilddir" \
@RPMBUILD_BINARY_ARGS@ \
--with servers --with zfs --with ldiskfs \
--rebuild $(PACKAGE)-all-dkms-*.src.rpm || exit 1; \
cp $$rpmbuilddir/RPMS/*/*.rpm $(top_srcdir) || exit 1; \
rm -rf $$rpmbuilddir
else
dkms-srpm: $(PACKAGE)-dkms.spec dist Makefile
rpmbuilddir=`mktemp -t -d rpmbuild-@PACKAGE@-$$USER-XXXXXXXX`; \
$(MAKE) $(AM_MAKEFLAGS) \
rpmbuilddir="$$rpmbuilddir" rpm-local || exit 1; \
$(RPMBUILD) \
--define "_tmppath $$rpmbuilddir/TMP" \
--define "_topdir $$rpmbuilddir" \
--define "_sourcedir $(top_srcdir)" \
--bs $(PACKAGE)-dkms.spec || exit 1; \
cp $$rpmbuilddir/SRPMS/*.src.rpm $(top_srcdir) || exit 1; \
rm -rf $$rpmbuilddir
dkms-rpm: dkms-srpm
rpmbuilddir=`mktemp -t -d rpmbuild-@PACKAGE@-$$USER-XXXXXXXX`; \
$(RPMBUILD) \
--define "_tmppath $$rpmbuilddir/TMP" \
--define "_topdir $$rpmbuilddir" \
@RPMBUILD_BINARY_ARGS@ \
--without servers \
--rebuild $(PACKAGE)-client-dkms-*.src.rpm || exit 1; \
cp $$rpmbuilddir/RPMS/*/*.rpm $(top_srcdir) || exit 1; \
rm -rf $$rpmbuilddir
endif
dkms-srpms: dkms-srpm
dkms-rpms: dkms-rpm
rpms: srpm
rpmbuilddir=`mktemp -t -d rpmbuild-@PACKAGE@-$$USER-XXXXXXXX`; \
$(MAKE) $(AM_MAKEFLAGS) \
rpmbuilddir="$$rpmbuilddir" rpm-local || exit 1; \
$(RPMBUILD) \
--define "_tmppath $$rpmbuilddir/TMP" \
--define "_topdir $$rpmbuilddir" \
@RPMBUILD_BINARY_ARGS@ \
--rebuild $(distdir)-*.src.rpm || exit 1; \
cp $$rpmbuilddir/RPMS/*/*.rpm $(top_srcdir) || exit 1; \
rm -rf $$rpmbuilddir
srpm: @PACKAGE_TARNAME@.spec dist Makefile
rpmbuilddir=`mktemp -t -d rpmbuild-@PACKAGE@-$$USER-XXXXXXXX`; \
$(MAKE) $(AM_MAKEFLAGS) \
rpmbuilddir="$$rpmbuilddir" rpm-local || exit 1; \
cp $(top_srcdir)/rpm/* $(top_srcdir); \
$(RPMBUILD) \
--define "_tmppath $$rpmbuilddir/TMP" \
--define "_topdir $$rpmbuilddir" \
--define "dist %{nil}" \
-ts $(distdir).tar.gz || exit 1; \
cp $$rpmbuilddir/SRPMS/$(distdir)-*.src.rpm $(top_srcdir) || exit 1; \
rm -rf $$rpmbuilddir
# In the debs target, first make sure what's in the changelog reflects
# the software version.
lversion=$$(echo @VERSION@ | tr '_' '-'); \
cversion=$$(sed -ne '1s/^lustre (\(.*\)-[0-9][0-9]*).*$$/\1/p' debian/changelog); \
if [ "$$lversion" != "$$cversion" ]; then \
echo -e "1i\nlustre ($$lversion-1) unstable; urgency=low\n\n * Automated changelog entry update\n\n -- Brian J. Murrell <brian@interlinx.bc.ca> $$(date -R)\n\n.\nwq" | ed debian/changelog; \
fi; \
rm -rf debs; \
if test "x@ENABLE_SERVER@" = "xyes"; then \
DEB_BUILD_PROFILES="server"; \
else \
DEB_BUILD_PROFILES="client"; \
fi; \
if test "x@ENABLE_LDISKFS@" = "xyes"; then \
export DEB_BUILD_PROFILES="$${DEB_BUILD_PROFILES} ldiskfs"; \
fi; \
if test "x@ENABLE_ZFS@" = "xyes"; then \
export DEB_BUILD_PROFILES="$${DEB_BUILD_PROFILES} zfs"; \
export SPL_SRC="@SPL@"; \
export ZFS_SRC="@ZFS@"; \
echo "ZFS support is enabled. Will expect pre-compiled SPL and ZFS sources in:"; \
echo "SPL: $${SPL_SRC}"; \
echo "ZFS: $${ZFS_SRC}"; \
fi; \
export KERNEL_CFG="$(LINUX_CONFIG)"; \
export KERNEL_SRC="$(LINUX)"; \
echo "Enabled Build Profiles: $${DEB_BUILD_PROFILES}"; \
echo "Kernel Source: $${KERNEL_SRC}"; \
echo "Kernel Config: $${KERNEL_CFG}"; \
dpkg-buildpackage -us -uc -I.git -I\*.out[0-9]\* -I\*.swp || { \
rc=$${PIPESTATUS[0]}; \
[ $${rc} -gt 1 ] && exit $${rc}; \
exit 0; \
export KPKG_DEST_DIR="$$(pwd)/.." && \
version=$$(sed -ne '1s/^lustre (\(.*\)).*$$/\1/p' debian/changelog) && \
rm -rf debian/tmp/modules-deb && \
mkdir debian/tmp/modules-deb && \
pushd debian/tmp/modules-deb && \
dpkg -x ../../../../lustre-source_$${version}_all.deb $$(pwd) && \
mkdir usr_src/ && \
tar -C usr_src/ -xjf usr/src/lustre.tar.bz2 && \
chmod 755 usr_src/modules/lustre/debian/rules && \
mkdir -p usr_share_modass && \
ln -s /usr/share/modass/include/ usr_share_modass/ && \
ln -s /usr/share/modass/packages/ usr_share_modass/ && \
echo "lustre" > usr_share_modass/compliant.list && \
export MA_DIR=$$(pwd)/usr_share_modass && \
KVERS=$${KVERS:-$(LINUXRELEASE)} && \
if test "x@ENABLEO2IB@" = "xno"; then \
export IB_OPTIONS="--with-o2ib=no"; \
else \
if test -n "@O2IBPATH@"; then \
export IB_OPTIONS="--with-o2ib=@O2IBPATH@"; \
fi; \
fi; \
export KSRC_TREE=$(LINUX) && \
KSRC=$${KSRC:-$(LINUX_OBJ)} && \
m-a build $${KSRC:+-k $$KSRC} $${KVERS:+-l $$KVERS} -i -u $$(pwd) lustre && \
VER=$$(sed -ne '1s/^lustre (\(.*-[0-9][0-9]*\)).*$$/\1/p' debian/changelog) && \
mkdir -p debs && \
mv ../linux-patch-lustre_$${VER}_all.deb ../lustre-dev_$${VER}_*.deb \
../lustre-source_$${VER}_all.deb ../lustre-tests_$${VER}_*.deb \
../lustre-*-utils_$${VER}_*.deb ../lustre_$${VER}.dsc \
../lustre_$${VER}_*.changes ../lustre_$${VER}.tar.gz \
../lustre-*-modules-$${KVERS}_$${VER}_*.deb \
debs/
if USES_DPKG
EXTRA_DIST += debian/*
endif
CSTK=/tmp/checkstack
CSTKO=/tmp/checkstack.orig
checkstack:
[ -f ${CSTK} -a ! -s ${CSTKO} ] && mv -f ${CSTK} ${CSTKO} || true
objdump -d $$MOD | perl contrib/scripts/checkstack.pl; \
[ -f ${CSTKO} ] && ! diff -u ${CSTKO} ${CSTK} || head -n 30 ${CSTK}
checkstack-update:
[ -f ${CSTK} ] && mv -f ${CSTK} ${CSTKO}
checkstack-clean:
rm -f ${CSTK} ${CSTKO}