Subversion Repositories pub

Compare Revisions

Ignore whitespace Rev 564 → Rev 565

/video-contact-sheet/trunk/Makefile
1,43 → 1,77
#!/usr/bin/make -f
#
# $Id$
#
 
srcdir=pkg
VER=$(shell grep VERSION $(srcdir)/vcs | head -n1 | sed 's/\#.*//' | sed -r 's/.*"(.*)".*/\1/g')
srcdir=dist
#VER=$(shell grep VERSION= $(srcdir)/vcs | sed 's/.*"\([^"]*\)".*/\1/')
VER=$(shell sed -n '/VERSION=/s/.*"\([^"]*\)".*/\1/p' $(srcdir)/vcs | head -n1)
 
all:
@echo "Use $(MAKE) dist"
@echo "-------------------------------------------------------------------------------"
@echo " Use: "
@echo " $$ $(MAKE) dist # to create the actual v$(VER) distribution files"
@echo " $$ $(MAKE) manpages # to create only the manpages (in $(srcdir)/docs)"
@echo " $$ $(MAKE) docs # to create all documentation formats (in $(srcdir)/docs)"
@echo
@echo " $$ $(MAKE) lint # to validate documentation sources"
@echo " $$ $(MAKE) clean # to clean generated files"
@echo " $$ $(MAKE) distclean # to clean generated and distribution files"
@echo " $$ $(MAKE) uploadclean # to clean non-distribution files"
@echo "------------------------------------------------------------------------------"
 
pkg/vcs.1: manpage.xml
xmlto -o pkg man $<
docs: lint
$(MAKE) -C $(srcdir)/docs all
 
manpages: lint
$(MAKE) -C $(srcdir)/docs vcs.1 vcs.conf.5
 
lint:
$(MAKE) -C $(srcdir)/docs lint
 
tgz: vcs-$(VER).tar.gz
 
vcs-$(VER).tar.gz:
cp -rvpP pkg/ vcs-$(VER)
cd vcs-$(VER) && make dist
tar zcvf vcs-$(VER).tar.gz --exclude '.svn' --exclude '*.swp' --exclude '*.swo' vcs-$(VER)
$(RM) -r vcs-$(VER)
vcs-$(VER).tar.gz: $(srcdir)/vcs-$(VER).tar.gz
mv $< $@
 
$(srcdir)/vcs-$(VER).tar.gz:
make -C $(srcdir) distclean `basename $@`
 
check-no-svn:
#@if [ -d .svn ]; then echo "Don't release from SVN working copy" ; false ; fi
@if [ -d .svn ]; then \
echo '*************************************************' ; \
echo '*************************************************' ; \
echo "** Don't release from SVN working copy **" ; \
echo '*************************************************' ; \
echo '*************************************************' ; \
echo ; \
fi
 
check-rel:
@if head -n50 vcs | grep -q 'RELEASE=0' ; then \
echo 'RELEASE is set to 0!' ; false ; fi
echo '*************************************************' ; \
echo '*************************************************' ; \
echo '** RELEASE is set to 0! **' ; \
echo '*************************************************' ; \
echo '*************************************************' ; \
echo ; \
fi
 
dist: check-rel check-no-svn \
pkg/vcs.1 \
vcs-$(VER).tar.gz \
PKGBUILD-$(VER) \
vcs-$(VER).gz vcs-$(VER).bz2 vcs-$(VER).bash \
$(addprefix vcs-$(VER), .gz .bz2 .bash) \
CHANGELOG.gz CHANGELOG \
rpm deb
 
# This shouldn't be re-built
devel_tools/mansrc/settings.man.inc.xml:
cd `dirname $@` && $(MAKE)
 
PKGBUILD-$(VER): vcs-$(VER).tar.gz
cd pkg && ln -s ../vcs-$(VER).tar.gz ./
cd pkg && make PKGBUILD
$(RM) pkg/vcs-$(VER).tar.gz
mv pkg/PKGBUILD $@
cd $(srcdir) && ln -s ../vcs-$(VER).tar.gz ./
make -C $(srcdir) PKGBUILD
$(RM) $(srcdir)/vcs-$(VER).tar.gz
mv $(srcdir)/PKGBUILD $@
 
vcs-$(VER).gz: $(srcdir)/vcs
gzip -c9 < vcs > $@
54,12 → 88,17
CHANGELOG: $(srcdir)/CHANGELOG
cp $< $@
 
distclean:
$(RM) -ri vcs Makefile *.changes pkg
distclean: clean
$(RM) PKGBUILD-$(VER) vcs-$(VER).tar.gz $(addprefix vcs-$(VER), .gz .bz2 .bash) \
CHANGELOG.gz CHANGELOG *.deb *.rpm
 
# That's the old distclean
uploadclean:
$(RM) -ri vcs Makefile *.changes dist
 
deb:
cd pkg && debuild -us -uc -b && debclean
$(RM) vcs_*.changes vcs_*.build
cd dist && debuild -k0x5812006E -us -uc && debclean
#$(RM) vcs_*.changes vcs_*.build
 
rpm: vcs-$(VER).tar.gz
rpmbuild --clean -tb vcs-$(VER).tar.gz
68,5 → 107,8
 
clean:
-$(RM) vcs[-_]$(VER)* CHANGELOG*
make -C $(srcdir)/docs clean
 
.PHONY: dist
.PHONY: all docs manpages lint clean dist distclean uploadclean \
check-no-svn check-rel \
deb rpm tgz