1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 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 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
|
# Simplified Makefile for devscripts
PL_FILES = bts.pl checkbashisms.pl cvs-debuild.pl dd-list.pl debchange.pl \
debcommit.pl debdiff.pl debi.pl debpkg.pl debuild.pl dget.pl \
dpkg-depcheck.pl dscverify.pl grep-excuses.pl mass-bug.pl \
plotchangelog.pl rc-alert.pl rmadison.pl svnpath.pl
SH_FILES = annotate-output.sh archpath.sh cvs-debi.sh cvs-debrelease.sh \
deb-reversion.sh debclean.sh debrelease.sh debrsign.sh debsign.sh \
dpkg-genbuilddeps.sh mergechanges.sh nmudiff.sh pts-subscribe.sh \
tagpending.sh uscan.sh uupdate.sh whodepends.sh who-uploads.sh \
wnpp-alert.sh
LIBS = libvfork.so.0
PERL_MODULES = Devscripts
CWRAPPERS = debpkg-wrapper
SCRIPTS = $(PL_FILES:.pl=) $(SH_FILES:.sh=)
EXAMPLES = conf.default
MAN1S = $(SCRIPTS:=.1) debc.1 cvs-debc.1 devscripts.1
GEN_MAN1S = bts.1 debcommit.1 deb-reversion.1 dget.1 mass-bug.1 \
rmadison.1 svnpath.1
MAN5S = devscripts.conf.5
MANS_fr_DIR = po4a/fr
GEN_MAN1S_fr = $(patsubst %,$(MANS_fr_DIR)/%,$(GEN_MAN1S))
MAN1S_fr = $(subst $(MANS_fr_DIR)/,,$(wildcard $(MANS_fr_DIR)/*.1))
MAN5S_fr = $(subst $(MANS_fr_DIR)/,,$(wildcard $(MANS_fr_DIR)/*.5))
BINDIR = /usr/bin
LIBDIR = /usr/lib/devscripts
EXAMPLES_DIR = /usr/share/devscripts
PERLMOD_DIR = /usr/share/devscripts
BIN_LIBDIR = /usr/lib/devscripts
MAN1DIR = /usr/share/man/man1
MAN5DIR = /usr/share/man/man5
MAN1DIR_fr = /usr/share/man/fr/man1
MAN5DIR_fr = /usr/share/man/fr/man5
all: $(SCRIPTS) $(GEN_MAN1S) $(EXAMPLES) $(LIBS) $(CWRAPPERS) translated_manpages
version:
rm -f version
dpkg-parsechangelog | perl -ne '/^Version: (.*)/ && print $$1' \
> version
%: %.sh version
if grep -q '^#! */bin/sh' $<; then \
echo "$< is a /bin/sh script, not a bash script!" >&2; \
exit 1; \
fi
rm -f $@ $@.tmp
VERSION=`cat version` && sed -e "s/###VERSION###/$$VERSION/" $< \
> $@.tmp && chmod +x $@.tmp && mv $@.tmp $@
bash -n $@
%: %.pl version
rm -f $@ $@.tmp
VERSION=`cat version` && sed -e "s/###VERSION###/$$VERSION/" $< \
> $@.tmp && chmod +x $@.tmp && mv $@.tmp $@
perl -c $@
conf.default: conf.default.in version
rm -f $@ $@.tmp
VERSION=`cat version` && sed -e "s/###VERSION###/$$VERSION/" $< \
> $@.tmp && mv $@.tmp $@
%.1: %.pl
pod2man --center=" " --release="Debian Utilities" $< > $@
%.1: %.dbk
xsltproc --nonet -o $@ \
/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl $<
translated_manpages:
cd po4a && po4a --no-backups devscripts-po4a.conf
# These may or may not have been successfully made; we don't stop
# building the rest of the package in such a case
for i in $(GEN_MAN1S_fr); do \
$(MAKE) $$i || true; \
done
touch translated_manpages
clean_translated_manpages:
# Update the POT/POs and remove the translated man pages
cd po4a && po4a --rm-translations --no-backups devscripts-po4a.conf
rm -f translated_manpages
libvfork.o: libvfork.c
$(CC) -fPIC -D_REENTRANT $(CFLAGS) -c $<
libvfork.so.0: libvfork.o
$(CC) -shared $< -lc -Wl,-soname -Wl,libvfork.so.0 -o $@
clean: clean_translated_manpages
rm -f version conf.default $(SCRIPTS) $(GEN_MAN1S) $(SCRIPT_LIBS) \
$(GEN_MAN1S_fr) $(CWRAPPERS) libvfork.o libvfork.so.0
install: all
mkdir -p $(DESTDIR)$(BINDIR)
cp $(SCRIPTS) $(DESTDIR)$(BINDIR)
cd $(DESTDIR)$(BINDIR) && ln -s debchange dch
cd $(DESTDIR)$(BINDIR) && ln -s debi debc
cd $(DESTDIR)$(BINDIR) && ln -s cvs-debi cvs-debc
mkdir -p $(DESTDIR)$(LIBDIR)
cp $(LIBS) $(DESTDIR)$(LIBDIR)
mkdir -p $(DESTDIR)$(PERLMOD_DIR)
cp -a $(PERL_MODULES) $(DESTDIR)$(PERLMOD_DIR)
# Special treatment for debpkg
mv $(DESTDIR)$(BINDIR)/debpkg $(DESTDIR)$(PERLMOD_DIR)
cp debpkg-wrapper $(DESTDIR)$(BINDIR)/debpkg
mkdir -p $(DESTDIR)$(MAN1DIR)
cp $(MAN1S) $(DESTDIR)$(MAN1DIR)
mkdir -p $(DESTDIR)$(MAN5DIR)
cp $(MAN5S) $(DESTDIR)$(MAN5DIR)
cd $(DESTDIR)$(MAN1DIR) && ln -s debchange.1 dch.1
mkdir -p $(DESTDIR)$(MAN1DIR_fr)
-cd $(MANS_fr_DIR) && cp $(MAN1S_fr) $(DESTDIR)$(MAN1DIR_fr)
-cp $(GEN_MAN1S_fr) $(DESTDIR)$(MAN1DIR_fr)
mkdir -p $(DESTDIR)$(MAN5DIR_fr)
-cd $(MANS_fr_DIR) && cp $(MAN5S_fr) $(DESTDIR)$(MAN5DIR_fr)
cd $(DESTDIR)$(MAN1DIR_fr) && \
if [ -f debchange.1 ]; then ln -s debchange.1 dch.1; fi
mkdir -p $(DESTDIR)$(EXAMPLES_DIR)
cp $(EXAMPLES) $(DESTDIR)$(EXAMPLES_DIR)
# -find $(DESTDIR) -type d -name '.svn' -exec rm -r \{\} \;
# -find $(DESTDIR) -type d -name 'CVS' -exec rm -r \{\} \;
|