summaryrefslogtreecommitdiff
path: root/contrib/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/Makefile.am')
-rw-r--r--contrib/Makefile.am98
1 files changed, 69 insertions, 29 deletions
diff --git a/contrib/Makefile.am b/contrib/Makefile.am
index a7dee54f..3641a085 100644
--- a/contrib/Makefile.am
+++ b/contrib/Makefile.am
@@ -1,12 +1,26 @@
-OURSCRIPTS = \
+# enforce that all scripts have a --help and --version option
+AUTOMAKE_OPTIONS = std-options
+
+bin_SCRIPTS = \
+ $(OURSCRIPTS)
+
+BASHSCRIPTS = \
bacman \
paccache \
pacdiff \
paclist \
paclog-pkglist \
pacscripts \
- pacsearch \
- pacsysclean
+ pacsysclean \
+ rankmirrors \
+ updpkgsums
+
+OTHERSCRIPTS = \
+ pacsearch
+
+OURSCRIPTS = \
+ $(BASHSCRIPTS) \
+ $(OTHERSCRIPTS)
OURFILES = \
bash_completion \
@@ -14,15 +28,17 @@ OURFILES = \
EXTRA_DIST = \
PKGBUILD.vim \
- bacman.in \
+ bacman.sh.in \
bash_completion.in \
- paccache.in \
- paclog-pkglist.in \
- pacdiff.in \
- paclist.in \
- pacscripts.in \
+ paccache.sh.in \
+ paclog-pkglist.sh.in \
+ pacdiff.sh.in \
+ paclist.sh.in \
+ pacscripts.sh.in \
pacsearch.in \
- pacsysclean.in \
+ pacsysclean.sh.in \
+ rankmirrors.sh.in
+ updpkgsums.sh.in \
vimprojects \
zsh_completion.in \
README
@@ -30,38 +46,62 @@ EXTRA_DIST = \
# Files that should be removed, but which Automake does not know.
MOSTLYCLEANFILES = $(OURSCRIPTS) $(OURFILES) *.tmp
+if USE_GIT_VERSION
+GIT_VERSION := $(shell sh -c 'git describe --abbrev=4 --dirty | sed s/^v//')
+REAL_PACKAGE_VERSION = $(GIT_VERSION)
+else
+REAL_PACKAGE_VERSION = $(PACKAGE_VERSION)
+endif
+
edit = sed \
-e 's|@sysconfdir[@]|$(sysconfdir)|g' \
-e 's|@localstatedir[@]|$(localstatedir)|g' \
+ -e 's|@PACKAGE_VERSION[@]|$(REAL_PACKAGE_VERSION)|g' \
-e 's|@SIZECMD[@]|$(SIZECMD)|g' \
+ -e 's|@SCRIPTNAME[@]|$@|g' \
-e '1s|!/bin/bash|!$(BASH_SHELL)|g'
-$(OURSCRIPTS): Makefile
- @echo ' ' GEN $@;
- @$(RM) $@ $@.tmp
- @$(edit) $(srcdir)/$@.in >$@.tmp
- @chmod +x $@.tmp
- @chmod a-w $@.tmp
- @mv $@.tmp $@
+$(OTHERSCRIPTS): Makefile
+ $(AM_V_at)$(RM) $@ $@.tmp
+ $(AM_V_GEN)$(edit) $(srcdir)/$@.in >$@.tmp
+ $(AM_V_at)chmod +x,a-w $@.tmp
+ $(AM_V_at)mv $@.tmp $@
+
+$(BASHSCRIPTS): Makefile
+ $(AM_V_at)$(RM) $@
+ $(AM_V_GEN)test -f $(srcdir)/$@.sh.in && m4 -P -I $(srcdir) $(srcdir)/$@.sh.in | $(edit) >$@
+ $(AM_V_at)chmod +x,a-w $@
+ @$(BASH_SHELL) -O extglob -n $@
$(OURFILES): Makefile
- @echo ' ' GEN $@;
- @$(RM) $@ $@.tmp
- @$(edit) $(srcdir)/$@.in >$@.tmp
- @chmod a-w $@.tmp
- @mv $@.tmp $@
+ $(AM_V_at)$(RM) $@ $@.tmp
+ $(AM_V_GEN)$(edit) $(srcdir)/$@.in >$@.tmp
+ $(AM_V_at)chmod a-w $@.tmp
+ $(AM_V_at)mv $@.tmp $@
all-am: $(OURSCRIPTS) $(OURFILES)
-bacman: $(srcdir)/bacman.in
+install-data-local:
+ $(MKDIR_P) $(DESTDIR)$(sysconfdir)/bash_completion.d/
+ $(INSTALL_DATA) bash_completion $(DESTDIR)$(sysconfdir)/bash_completion.d/pacman
+ $(MKDIR_P) $(DESTDIR)$(datarootdir)/zsh/site-functions/
+ $(INSTALL_DATA) zsh_completion $(DESTDIR)$(datarootdir)/zsh/site-functions/_pacman
+
+uninstall-local:
+ $(RM) $(DESTDIR)$(sysconfdir)/bash_completion.d/pacman
+ $(RM) $(DESTDIR)$(datarootdir)/zsh/site-functions/_pacman
+
+bacman: $(srcdir)/bacman.sh.in
bash_completion: $(srcdir)/bash_completion.in
-paccache: $(srcdir)/paccache.in
-pacdiff: $(srcdir)/pacdiff.in
-paclist: $(srcdir)/paclist.in
-paclog-pkglist: $(srcdir)/paclog-pkglist.in
-pacscripts: $(srcdir)/pacscripts.in
+paccache: $(srcdir)/paccache.sh.in $(top_srcdir)/scripts/library/parseopts.sh $(top_srcdir)/scripts/library/size_to_human.sh
+pacdiff: $(srcdir)/pacdiff.sh.in
+paclist: $(srcdir)/paclist.sh.in
+paclog-pkglist: $(srcdir)/paclog-pkglist.sh.in
+pacscripts: $(srcdir)/pacscripts.sh.in
pacsearch: $(srcdir)/pacsearch.in
-pacsysclean: $(srcdir)/pacsysclean.in
+pacsysclean: $(srcdir)/pacsysclean.sh.in
+rankmirrors: $(srcdir)/rankmirrors.sh.in
+updpkgsums: $(srcdir)/updpkgsums.sh.in
zsh_completion: $(srcdir)/zsh_completion.in
# vim:set ts=2 sw=2 noet: