mirror of
https://salsa.debian.org/ha-team/libqb
synced 2025-08-25 21:45:49 +00:00

Various "configure" commits by wferi recently introduced new compat/custom m4 macro files in m4 directory, which itself was, so far, assumed ephemeral (not strictly needed for reproducing the build successfully, i.e., bits that can be completely purged when cutting down the project files to the bone). Apparently, this assumption no longer holds so several places need to be adapted. Amonst others, m4 directory no longer needs to be reinsured in autogen.sh, and special care must be taken with .gitignore and maintainer-clean-local target of the main Makafile. Signed-off-by: Jan Pokorný <jpokorny@redhat.com>
140 lines
4.0 KiB
Makefile
140 lines
4.0 KiB
Makefile
# Copyright (C) 2010 Red Hat, Inc.
|
|
#
|
|
# Authors: Andrew Beekhof <abeekhof@redhat.com>
|
|
# Steven Dake <sdake@redhat.com>
|
|
# Angus Salkeld <asalkeld@redhat.com>
|
|
#
|
|
# This file is part of libqb.
|
|
#
|
|
# libqb is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU Lesser General Public License as published by
|
|
# the Free Software Foundation, either version 2.1 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# libqb 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 Lesser General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU Lesser General Public License
|
|
# along with libqb. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
SPEC = $(PACKAGE_NAME).spec
|
|
|
|
EXTRA_DIST = autogen.sh $(SPEC).in \
|
|
build-aux/git-version-gen \
|
|
build-aux/gitlog-to-changelog \
|
|
build-aux/release.mk \
|
|
.version
|
|
|
|
AUTOMAKE_OPTIONS = foreign
|
|
|
|
MAINTAINERCLEANFILES = Makefile.in aclocal.m4 configure depcomp \
|
|
config.guess config.sub missing install-sh \
|
|
autoheader automake autoconf libtool libtoolize \
|
|
ltmain.sh compile build-aux/test-driver
|
|
|
|
|
|
ACLOCAL_AMFLAGS = -I m4
|
|
|
|
dist_doc_DATA = COPYING INSTALL README.markdown
|
|
|
|
SUBDIRS = include lib docs tools tests examples
|
|
|
|
doxygen:
|
|
$(MAKE) -C docs doxygen
|
|
|
|
dist-clean-local:
|
|
rm -f autoconf automake autoheader
|
|
|
|
# this will also get rid of "libtoolized" m4 files
|
|
maintainer-clean-local:
|
|
rm -f .version .tarball-version
|
|
rm -f $(patsubst $(top_srcdir)/m4/ax_%,,$(wildcard $(top_srcdir)/m4/*.m4))
|
|
|
|
clean-local:
|
|
rm -rf $(SPEC) $(DIST_ARCHIVES)
|
|
|
|
## make rpm/srpm section.
|
|
|
|
$(SPEC): $(SPEC).in
|
|
@rm -f $@-t $@
|
|
@date="$(shell LC_ALL=C date "+%a %b %d %Y")" && \
|
|
if [ -f .tarball-version ]; then \
|
|
ver="$(shell cat .tarball-version)" && \
|
|
gitver=`echo $$ver | sed \
|
|
-e 's|^\(v[0-9][0-9]*\.[0-9][0-9]*\)\([^.].*\)\?$$|\1.0\2|'` && \
|
|
rpmver=$$gitver && \
|
|
alphatag="" && \
|
|
dirty="" && \
|
|
numcomm="0"; \
|
|
else \
|
|
ver="$(shell git describe --abbrev=4 --match='v*' --tags HEAD 2>/dev/null)" && \
|
|
gitver=`echo $$ver | sed \
|
|
-e 's|^\(v[0-9][0-9]*\.[0-9][0-9]*\)\([^.].*\)\?$$|\1.0\2|'` && \
|
|
rpmver=`echo $$gitver | sed -e "s/^v//" -e "s/-.*//g"` && \
|
|
alphatag=`echo $$gitver | sed -e "s/.*-//" -e "s/^g//"` && \
|
|
vtag=`echo $$ver | sed -e "s/-.*//g"` && \
|
|
numcomm=`git rev-list $$vtag..HEAD | wc -l` && \
|
|
git update-index --refresh > /dev/null 2>&1 || true && \
|
|
dirty=`git diff-index --name-only HEAD 2>/dev/null`; \
|
|
fi && \
|
|
if [ -n "$$dirty" ]; then dirty="dirty"; else dirty=""; fi && \
|
|
if [ "$$numcomm" = "0" ]; then \
|
|
sed \
|
|
-e "s#@version@#$$rpmver#g" \
|
|
-e "s#%glo.*alpha.*##g" \
|
|
-e "s#%glo.*numcomm.*##g" \
|
|
-e "s#@dirty@#$$dirty#g" \
|
|
-e "s#@date@#$$date#g" \
|
|
$< > $@-t; \
|
|
else \
|
|
sed \
|
|
-e "s#@version@#$$rpmver#g" \
|
|
-e "s#@alphatag@#$$alphatag#g" \
|
|
-e "s#@numcomm@#$$numcomm#g" \
|
|
-e "s#@dirty@#$$dirty#g" \
|
|
-e "s#@date@#$$date#g" \
|
|
$< > $@-t; \
|
|
fi; \
|
|
if [ -z "$$dirty" ]; then sed -i -e "s#%glo.*dirty.*##g" $@-t; fi
|
|
@chmod a-w $@-t
|
|
$(AM_V_GEN)mv $@-t $@
|
|
|
|
RPMBUILDOPTS = --define "_sourcedir $(abs_builddir)" \
|
|
--define "_specdir $(abs_builddir)" \
|
|
--define "_builddir $(abs_builddir)" \
|
|
--define "_srcrpmdir $(abs_builddir)" \
|
|
--define "_rpmdir $(abs_builddir)"
|
|
|
|
# generates both .tar.[gx]z (backward compatibility)
|
|
tarball: dist
|
|
|
|
srpm: clean
|
|
autoreconf -if
|
|
$(MAKE) $(SPEC) dist-xz
|
|
rpmbuild $(RPMBUILDOPTS) --nodeps -bs $(SPEC)
|
|
|
|
rpm: clean
|
|
autoreconf -if
|
|
$(MAKE) $(SPEC) dist-xz
|
|
rpmbuild $(RPMBUILDOPTS) -ba $(SPEC)
|
|
|
|
# release/versioning
|
|
BUILT_SOURCES = .version
|
|
.version:
|
|
echo $(VERSION) > $@-t && mv $@-t $@
|
|
|
|
dist-hook: gen-ChangeLog
|
|
echo $(VERSION) > $(distdir)/.tarball-version
|
|
|
|
gen_start_date = 2000-01-01
|
|
.PHONY: gen-ChangeLog
|
|
gen-ChangeLog:
|
|
if test -d .git; then \
|
|
$(top_srcdir)/build-aux/gitlog-to-changelog \
|
|
--since=$(gen_start_date) > $(distdir)/cl-t; \
|
|
rm -f $(distdir)/ChangeLog; \
|
|
mv $(distdir)/cl-t $(distdir)/ChangeLog; \
|
|
fi
|