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
|
# Makefile
SHELL := sh -e
LANGUAGES = $(shell cd manpages/po && ls)
SCRIPTS = debian/*.config debian/*.postinst debian/*.postrm \
$(shell ls scripts/* | grep -v .pl | grep -v git-hook-notification-bts) # FIXME
all: build
test:
@echo -n "Checking for syntax errors"
@for SCRIPT in $(SCRIPTS); \
do \
if [ -f $${SCRIPT} ]; \
then \
sh -n $${SCRIPT}; \
echo -n "."; \
fi; \
done
@echo " done."
@if [ -x "$$(which checkbashisms 2>/dev/null)" ]; \
then \
echo -n "Checking for bashisms"; \
for SCRIPT in $(SCRIPTS); \
do \
if [ -f $${SCRIPT} ]; \
then \
checkbashisms -f -x $${SCRIPT}; \
echo -n "."; \
fi; \
done; \
echo " done."; \
else \
echo "W: checkbashisms - command not found"; \
echo "I: checkbashisms can be optained from: "; \
echo "I: http://git.debian.org/?p=devscripts/devscripts.git"; \
echo "I: On Debian systems, checkbashisms can be installed with:"; \
echo "I: apt-get install devscripts"; \
fi
build:
@echo "Nothing to build."
install:
# Installing scripts
mkdir -p $(DESTDIR)/usr/bin
cp -r scripts/* $(DESTDIR)/usr/bin
mkdir -p $(DESTDIR)/usr/share/git-stuff
mv $(DESTDIR)/usr/bin/git-stuff $(DESTDIR)/usr/bin/git-stuff_profile.sh $(DESTDIR)/usr/share/git-stuff
# Installing docs
mkdir -p $(DESTDIR)/usr/share/doc/git-stuff
cp -r COPYING docs/* $(DESTDIR)/usr/share/doc/git-stuff
# Installing manpages
for MANPAGE in manpages/en/*; \
do \
SECTION="$$(basename $${MANPAGE} | awk -F. '{ print $$2 }')"; \
install -D -m 0644 $${MANPAGE} $(DESTDIR)/usr/share/man/man$${SECTION}/$$(basename $${MANPAGE}); \
done
for LANGUAGE in $(LANGUAGES); \
do \
for MANPAGE in manpages/$${LANGUAGE}/*; \
do \
SECTION="$$(basename $${MANPAGE} | awk -F. '{ print $$3 }')"; \
install -D -m 0644 $${MANPAGE} $(DESTDIR)/usr/share/man/$${LANGUAGE}/man$${SECTION}/$$(basename $${MANPAGE} .$${LANGUAGE}.$${SECTION}).$${SECTION}; \
done; \
done
uninstall:
# Uninstalling scripts
for _SCRIPT in $${SCRIPTS}; \
do \
rm -f $(DESTDIR)/usr/bin/$$(basename $${_SCRIPT}); \
done
rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/bin > /dev/null 2>&1 || true
# Uninstalling docs
rm -rf $(DESTDIR)/usr/share/doc/git-stuff
rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/doc
# Uninstalling manpages
for MANPAGE in manpages/en/*; \
do \
SECTION="$$(basename $${MANPAGE} | awk -F. '{ print $$2 }')"; \
rm -f $(DESTDIR)/usr/share/man/man$${SECTION}/$$(basename $${MANPAGE} .en.$${SECTION}).$${SECTION}; \
done
for LANGUAGE in $(LANGUAGES); \
do \
for MANPAGE in manpages/$${LANGUAGE}/*; \
do \
SECTION="$$(basename $${MANPAGE} | awk -F. '{ print $$3 }')"; \
rm -f $(DESTDIR)/usr/share/man/$${LANGUAGE}/man$${SECTION}/$$(basename $${MANPAGE} .$${LANGUAGE}.$${SECTION}).$${SECTION}; \
done; \
done
for SECTION in $(ls manpages/en/* | awk -F. '{ print $2 }'); \
do \
rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/man/man$${SECTION} > /dev/null 2>&1 || true; \
rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/man/*/man$${SECTION} > /dev/null 2>&1 || true; \
done
rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/man > /dev/null 2>&1 || true
# Removing remaining directories
rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share > /dev/null 2>&1 || true
rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr > /dev/null 2>&1 || true
rmdir --ignore-fail-on-non-empty $(DESTDIR) > /dev/null 2>&1 || true
clean:
@echo "Nothing to clean."
distclean: clean
@echo "Nothing to distclean."
reinstall: uninstall install
|