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