Merge remote-tracking branch 'allan/working-split/vcs'
[pacman-ng.git] / scripts / Makefile.am
blob29c81aa529963dfa92e75c7e21ff330689e11139
1 # enforce that all scripts have a --help and --version option
2 AUTOMAKE_OPTIONS = std-options
4 SUBDIRS = po
6 bin_SCRIPTS = \
7         $(OURSCRIPTS) \
8         repo-remove \
9         repo-elephant
11 OURSCRIPTS = \
12         makepkg \
13         pacman-db-upgrade \
14         pacman-key \
15         pacman-optimize \
16         pkgdelta \
17         repo-add
19 EXTRA_DIST = \
20         makepkg.sh.in \
21         pacman-db-upgrade.sh.in \
22         pacman-key.sh.in \
23         pacman-optimize.sh.in \
24         pkgdelta.sh.in \
25         repo-add.sh.in \
26         $(LIBRARY)
28 LIBRARY = \
29         library/output_format.sh \
30         library/parseopts.sh \
31         library/human_to_size.sh \
32         library/size_to_human.sh
34 # Files that should be removed, but which Automake does not know.
35 MOSTLYCLEANFILES = $(bin_SCRIPTS)
37 if USE_GIT_VERSION
38 GIT_VERSION := $(shell sh -c 'git describe --abbrev=4 --dirty | sed s/^v//')
39 REAL_PACKAGE_VERSION = $(GIT_VERSION)
40 else
41 REAL_PACKAGE_VERSION = $(PACKAGE_VERSION)
42 endif
44 #### Taken from the autoconf scripts Makefile.am ####
45 edit = sed \
46         -e 's|@localedir[@]|$(localedir)|g' \
47         -e 's|@sysconfdir[@]|$(sysconfdir)|g' \
48         -e 's|@localstatedir[@]|$(localstatedir)|g' \
49         -e 's|@pkgdatadir[@]|$(pkgdatadir)|g' \
50         -e 's|@prefix[@]|$(prefix)|g' \
51         -e '1s|!/bin/bash|!$(BASH_SHELL)|g' \
52         -e 's|@PACKAGE_VERSION[@]|$(REAL_PACKAGE_VERSION)|g' \
53         -e 's|@PACKAGE_BUGREPORT[@]|$(PACKAGE_BUGREPORT)|g' \
54         -e 's|@PACKAGE_NAME[@]|$(PACKAGE_NAME)|g' \
55         -e 's|@BUILDSCRIPT[@]|$(BUILDSCRIPT)|g' \
56         -e "s|@INODECMD[@]|$(INODECMD)|g" \
57         -e 's|@SIZECMD[@]|$(SIZECMD)|g' \
58         -e 's|@SEDINPLACE[@]|$(SEDINPLACE)|g' \
59         -e 's|@DUPATH[@]|$(DUPATH)|g' \
60         -e 's|@SCRIPTNAME[@]|$@|g' \
61         -e 's|@configure_input[@]|Generated from $@.sh.in; do not edit by hand.|g'
63 ## All the scripts depend on Makefile so that they are rebuilt when the
64 ## prefix etc. changes. Use chmod -w to prevent people from editing the
65 ## wrong file by accident.
66 $(OURSCRIPTS): Makefile
67         $(AM_V_at)$(RM) $@
68         $(AM_V_GEN)test -f $(srcdir)/$@.sh.in && m4 -P -I $(srcdir) $(srcdir)/$@.sh.in | $(edit) >$@
69         $(AM_V_at)chmod +x,a-w $@
70         @$(BASH_SHELL) -O extglob -n $@
72 makepkg: \
73         $(srcdir)/makepkg.sh.in \
74         $(srcdir)/library/parseopts.sh
76 pacman-db-upgrade: \
77         $(srcdir)/pacman-db-upgrade.sh.in \
78         $(srcdir)/library/output_format.sh
80 pacman-key: \
81         $(srcdir)/pacman-key.sh.in \
82         $(srcdir)/library/output_format.sh \
83         $(srcdir)/library/parseopts.sh
85 pacman-optimize: \
86         $(srcdir)/pacman-optimize.sh.in \
87         $(srcdir)/library/output_format.sh
89 pkgdelta: \
90         $(srcdir)/pkgdelta.sh.in \
91         $(srcdir)/library/output_format.sh \
92         $(srcdir)/library/parseopts.sh
94 repo-add: \
95         $(srcdir)/repo-add.sh.in \
96         $(srcdir)/library/output_format.sh
98 repo-remove: $(srcdir)/repo-add.sh.in
99         $(AM_V_at)$(RM) repo-remove
100         $(AM_V_at)$(LN_S) repo-add repo-remove
102 repo-elephant: $(srcdir)/repo-add.sh.in
103         $(AM_V_at)$(RM) repo-elephant
104         $(AM_V_at)$(LN_S) repo-add repo-elephant
106 install-data-hook:
107         cd $(DESTDIR)$(bindir) && \
108                 $(RM) repo-elephant && \
109                 ( $(LN_S) repo-add repo-elephant || \
110                 ln repo-add repo-elephant || \
111                 cp repo-add repo-elephant )
112         cd $(DESTDIR)$(bindir) && \
113                 $(RM) repo-remove && \
114                 ( $(LN_S) repo-add repo-remove || \
115                 ln repo-add repo-remove || \
116                 cp repo-add repo-remove )
118 uninstall-hook:
119         cd $(DESTDIR)$(bindir) && \
120                 $(RM) repo-remove repo-elephant
122 # vim:set ts=2 sw=2 noet: