# Simplified Makefile for devscripts

PL_FILES = bts.pl debchange.pl debdiff.pl debpkg.pl debuild.pl \
	dpkg-depcheck.pl dscverify.pl grep-excuses.pl plotchangelog.pl

SH_FILES = build.sh debclean.sh debi.sh debrelease.sh debrsign.sh \
	debsign.sh dpkg-genbuilddeps.sh mergechanges.sh release.sh \
	signchanges.sh uscan.sh uupdate.sh

LIBS = libvfork.so.0

PERL_MODULES = Devscripts

SCRIPTS = $(PL_FILES:.pl=) $(SH_FILES:.sh=)
EXAMPLES = conf.default

MANS = $(SCRIPTS:=.1) debc.1 devscripts.1
GEN_MANS = bts.1

BINDIR = /usr/bin
LIBDIR = /usr/lib/devscripts
EXAMPLES_DIR = /usr/share/devscripts
PERLMOD_DIR = /usr/share/devscripts
BIN_LIBDIR = /usr/lib/devscripts
MANDIR = /usr/share/man/man1

all: $(SCRIPTS) $(GEN_MANS) $(EXAMPLES) $(LIBS)

version:
	rm -f version
	dpkg-parsechangelog | perl -ne '/^Version: (.*)/ && print $$1' \
	    > version

%: %.sh version
	rm -f $@ $@.tmp
	VERSION=`cat version` && sed -e "s/###VERSION###/$$VERSION/" $< \
	    > $@.tmp && chmod +x $@.tmp && mv $@.tmp $@

%: %.pl version
	rm -f $@ $@.tmp
	VERSION=`cat version` && sed -e "s/###VERSION###/$$VERSION/" $< \
	    > $@.tmp && chmod +x $@.tmp && mv $@.tmp $@

conf.default: conf.default.in version
	rm -f $@ $@.tmp
	VERSION=`cat version` && sed -e "s/###VERSION###/$$VERSION/" $< \
	    > $@.tmp && mv $@.tmp $@

bts.1: bts.pl
	pod2man --center=" " --release="Debian Utilities" $< > $@

libvfork.o: libvfork.c
	$(CC) -fPIC -D_REENTRANT $(CFLAGS) -c $<

libvfork.so.0: libvfork.o
	$(CC) -shared $< -ldl -lc -Wl,-soname -Wl,libvfork.so.0 -o $@

clean:
	rm -f version conf.default $(SCRIPTS) $(GEN_MANS) $(SCRIPT_LIBS) \
	    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 debit
	cd $(DESTDIR)$(BINDIR) && ln -s debi debc
	mkdir -p $(DESTDIR)$(LIBDIR)
	cp $(LIBS) $(DESTDIR)$(LIBDIR)
	mkdir -p $(DESTDIR)$(PERLMOD_DIR)
	cp -a $(PERL_MODULES) $(DESTDIR)$(PERLMOD_DIR)
	mkdir -p $(DESTDIR)$(MANDIR)
	cp $(MANS) $(DESTDIR)$(MANDIR)
	cd $(DESTDIR)$(MANDIR) && ln -s debchange.1 dch.1
	cd $(DESTDIR)$(MANDIR) && ln -s debi.1 debit.1
	mkdir -p $(DESTDIR)$(EXAMPLES_DIR)
	cp $(EXAMPLES) $(DESTDIR)$(EXAMPLES_DIR)

