1# enforce that all scripts have a --help and --version option 2AUTOMAKE_OPTIONS = std-options 3AM_INSTALLCHECK_STD_OPTIONS_EXEMPT = \ 4 makepkg-wrapper \ 5 pacman-db-upgrade-wrapper \ 6 pacman-key-wrapper \ 7 pkgdelta-wrapper 8 9SUBDIRS = po 10 11bin_SCRIPTS = \ 12 $(OURSCRIPTS) \ 13 makepkg-template \ 14 repo-remove \ 15 repo-elephant \ 16 $(WRAPPER) 17 18OURSCRIPTS = \ 19 makepkg \ 20 pacman-db-upgrade \ 21 pacman-key \ 22 pkgdelta \ 23 repo-add 24 25EXTRA_DIST = \ 26 makepkg.sh.in \ 27 makepkg-template.pl.in \ 28 pacman-db-upgrade.sh.in \ 29 pacman-key.sh.in \ 30 pkgdelta.sh.in \ 31 repo-add.sh.in \ 32 wrapper.sh.in \ 33 $(COMPLETION_DIST) \ 34 $(LIBRARY) \ 35 $(LIBMAKEPKG_DIST) 36 37LIBRARY = \ 38 library/output_format.sh \ 39 library/human_to_size.sh \ 40 library/size_to_human.sh \ 41 library/term_colors.sh 42 43libmakepkgdir = $(datarootdir)/makepkg 44 45LIBMAKEPKGDIRS = \ 46 integrity \ 47 lint_config \ 48 lint_package \ 49 lint_pkgbuild \ 50 source \ 51 tidy \ 52 util 53 54LIBMAKEPKG_IN = \ 55 libmakepkg/integrity.sh \ 56 libmakepkg/integrity/generate_checksum.sh \ 57 libmakepkg/integrity/generate_signature.sh \ 58 libmakepkg/integrity/verify_checksum.sh \ 59 libmakepkg/integrity/verify_signature.sh \ 60 libmakepkg/lint_config.sh \ 61 libmakepkg/lint_config/paths.sh \ 62 libmakepkg/lint_config/variable.sh \ 63 libmakepkg/lint_package.sh \ 64 libmakepkg/lint_package/build_references.sh \ 65 libmakepkg/lint_package/dotfiles.sh \ 66 libmakepkg/lint_package/file_names.sh \ 67 libmakepkg/lint_package/missing_backup.sh \ 68 libmakepkg/lint_pkgbuild.sh \ 69 libmakepkg/lint_pkgbuild/arch.sh \ 70 libmakepkg/lint_pkgbuild/backup.sh \ 71 libmakepkg/lint_pkgbuild/changelog.sh \ 72 libmakepkg/lint_pkgbuild/checkdepends.sh \ 73 libmakepkg/lint_pkgbuild/conflicts.sh \ 74 libmakepkg/lint_pkgbuild/depends.sh \ 75 libmakepkg/lint_pkgbuild/epoch.sh \ 76 libmakepkg/lint_pkgbuild/install.sh \ 77 libmakepkg/lint_pkgbuild/makedepends.sh \ 78 libmakepkg/lint_pkgbuild/optdepends.sh \ 79 libmakepkg/lint_pkgbuild/options.sh \ 80 libmakepkg/lint_pkgbuild/package_function.sh \ 81 libmakepkg/lint_pkgbuild/pkgbase.sh \ 82 libmakepkg/lint_pkgbuild/pkglist.sh \ 83 libmakepkg/lint_pkgbuild/pkgname.sh \ 84 libmakepkg/lint_pkgbuild/pkgrel.sh \ 85 libmakepkg/lint_pkgbuild/pkgver.sh \ 86 libmakepkg/lint_pkgbuild/provides.sh \ 87 libmakepkg/lint_pkgbuild/source.sh \ 88 libmakepkg/lint_pkgbuild/util.sh \ 89 libmakepkg/lint_pkgbuild/variable.sh \ 90 libmakepkg/source.sh \ 91 libmakepkg/source/bzr.sh \ 92 libmakepkg/source/file.sh \ 93 libmakepkg/source/git.sh \ 94 libmakepkg/source/hg.sh \ 95 libmakepkg/source/local.sh \ 96 libmakepkg/source/svn.sh \ 97 libmakepkg/srcinfo.sh \ 98 libmakepkg/tidy.sh \ 99 libmakepkg/tidy/docs.sh \ 100 libmakepkg/tidy/emptydirs.sh \ 101 libmakepkg/tidy/libtool.sh \ 102 libmakepkg/tidy/purge.sh \ 103 libmakepkg/tidy/staticlibs.sh \ 104 libmakepkg/tidy/strip.sh \ 105 libmakepkg/tidy/zipman.sh \ 106 libmakepkg/util.sh \ 107 libmakepkg/util/compress.sh \ 108 libmakepkg/util/error.sh \ 109 libmakepkg/util/message.sh \ 110 libmakepkg/util/option.sh \ 111 libmakepkg/util/parseopts.sh \ 112 libmakepkg/util/pkgbuild.sh \ 113 libmakepkg/util/source.sh \ 114 libmakepkg/util/util.sh 115 116LIBMAKEPKG_DIST = \ 117 $(addsuffix .in, $(LIBMAKEPKG_IN)) 118 119WRAPPER = \ 120 makepkg-wrapper \ 121 pacman-db-upgrade-wrapper \ 122 pacman-key-wrapper \ 123 pkgdelta-wrapper 124 125COMPLETION_IN = \ 126 completion/bash_completion \ 127 completion/zsh_completion 128 129COMPLETION_DIST = \ 130 $(addsuffix .in, $(COMPLETION_IN)) 131 132# Files that should be removed, but which Automake does not know. 133MOSTLYCLEANFILES = $(bin_SCRIPTS) $(LIBMAKEPKG_IN) $(COMPLETION_IN) 134 135clean-local: 136 $(AM_V_at)$(RM) -r .lib 137 138if USE_GIT_VERSION 139GIT_VERSION := $(shell sh -c 'git describe --abbrev=4 --dirty | sed s/^v//') 140REAL_PACKAGE_VERSION = $(GIT_VERSION) 141else 142REAL_PACKAGE_VERSION = $(PACKAGE_VERSION) 143endif 144 145#### Taken from the autoconf scripts Makefile.am #### 146edit = sed \ 147 -e 's|@rootdir[@]|$(ROOTDIR)|g' \ 148 -e 's|@localedir[@]|$(localedir)|g' \ 149 -e 's|@sysconfdir[@]|$(sysconfdir)|g' \ 150 -e 's|@localstatedir[@]|$(localstatedir)|g' \ 151 -e 's|@libmakepkgdir[@]|$(libmakepkgdir)|g' \ 152 -e 's|@pkgdatadir[@]|$(pkgdatadir)|g' \ 153 -e 's|@prefix[@]|$(prefix)|g' \ 154 -e '1s|!/bin/bash|!$(BASH_SHELL)|g' \ 155 -e 's|@PACKAGE_VERSION[@]|$(REAL_PACKAGE_VERSION)|g' \ 156 -e 's|@PACKAGE_BUGREPORT[@]|$(PACKAGE_BUGREPORT)|g' \ 157 -e 's|@PACKAGE_NAME[@]|$(PACKAGE_NAME)|g' \ 158 -e 's|@BUILDSCRIPT[@]|$(BUILDSCRIPT)|g' \ 159 -e 's|@TEMPLATE_DIR[@]|$(TEMPLATE_DIR)|g' \ 160 -e 's|@DEBUGSUFFIX[@]|$(DEBUGSUFFIX)|g' \ 161 -e "s|@INODECMD[@]|$(INODECMD)|g" \ 162 -e "s|@OWNERCMD[@]|$(OWNERCMD)|g" \ 163 -e "s|@MODECMD[@]|$(MODECMD)|g" \ 164 -e 's|@SIZECMD[@]|$(SIZECMD)|g' \ 165 -e 's|@SEDINPLACEFLAGS[@]|$(SEDINPLACEFLAGS)|g' \ 166 -e 's|@SEDPATH[@]|$(SEDPATH)|g' \ 167 -e 's|@DUFLAGS[@]|$(DUFLAGS)|g' \ 168 -e 's|@DUPATH[@]|$(DUPATH)|g' \ 169 -e 's|@SCRIPTNAME[@]|$@|g' \ 170 -e 's|@configure_input[@]|Generated from $@.sh.in; do not edit by hand.|g' 171 172## All the scripts depend on Makefile so that they are rebuilt when the 173## prefix etc. changes. Use chmod -w to prevent people from editing the 174## wrong file by accident. 175$(OURSCRIPTS): Makefile 176 $(AM_V_at)$(RM) $@ 177 $(AM_V_GEN)test -f $(srcdir)/$@.sh.in && m4 -P -I $(srcdir) $(srcdir)/$@.sh.in | $(edit) >$@ 178 $(AM_V_at)chmod +x,a-w $@ 179 @$(BASH_SHELL) -O extglob -n $@ 180 181$(LIBMAKEPKG_IN): %: %.in Makefile 182 $(AM_V_at)$(RM) $@ 183 $(AM_V_at)$(MKDIR_P) $(dir $@) 184 $(AM_V_GEN)test -f $(srcdir)/$@.in && $(edit) $(srcdir)/$@.in >$@ 185 $(AM_V_at)chmod a-w $@ 186 @$(BASH_SHELL) -O extglob -n $@ 187 188$(COMPLETION_IN): %: %.in Makefile 189 $(AM_V_at)$(RM) $@ 190 $(AM_V_at)$(MKDIR_P) $(dir $@) 191 $(AM_V_GEN)$(edit) $(srcdir)/$@.in >$@ 192 $(AM_V_at)chmod a-w $@ 193 194all-am: $(COMPLETION_IN) 195 196makepkg: \ 197 $(srcdir)/makepkg.sh.in \ 198 $(srcdir)/wrapper.sh.in \ 199 $(LIBMAKEPKG_IN) 200 201makepkg-template: \ 202 $(srcdir)/makepkg-template.pl.in \ 203 Makefile 204 205 $(AM_V_at)$(RM) -f makepkg-template 206 $(AM_V_GEN)$(edit) $< > $@ 207 $(AM_V_at)chmod +x,a-w $@ 208 209pacman-db-upgrade: \ 210 $(srcdir)/pacman-db-upgrade.sh.in \ 211 $(srcdir)/library/output_format.sh 212 213pacman-key: \ 214 $(srcdir)/pacman-key.sh.in \ 215 $(srcdir)/library/output_format.sh 216 217pkgdelta: \ 218 $(srcdir)/pkgdelta.sh.in \ 219 $(srcdir)/library/output_format.sh 220 221repo-add: \ 222 $(srcdir)/repo-add.sh.in \ 223 $(srcdir)/library/output_format.sh 224 225repo-remove: $(srcdir)/repo-add.sh.in 226 $(AM_V_at)$(RM) repo-remove 227 $(AM_V_at)$(LN_S) repo-add repo-remove 228 229repo-elephant: $(srcdir)/repo-add.sh.in 230 $(AM_V_at)$(RM) repo-elephant 231 $(AM_V_at)$(LN_S) repo-add repo-elephant 232 233.SECONDEXPANSION: 234$(WRAPPER): \ 235 $$(subst -wrapper,,$$@) 236 237 $(AM_V_at)$(MKDIR_P) .lib 238 $(AM_V_at)mv -f $(subst -wrapper,,$@) .lib 239 $(AM_V_at)$(RM) $@ 240 $(AM_V_GEN)sed \ 241 -e "s|@PWD[@]|$$(pwd)|" \ 242 -e "s|@PROGNAME[@]|$(subst -wrapper,,$@)|g" \ 243 -e '1s|!/bin/bash|!$(BASH_SHELL)|g' \ 244 $(srcdir)/wrapper.sh.in > $@ 245 $(AM_V_at)chmod +x,a-w $@ 246 $(AM_V_at)$(LN_S) $@ $(subst -wrapper,,$@) 247 248install-data-local: 249 $(MKDIR_P) $(DESTDIR)$(sysconfdir)/bash_completion.d/ 250 $(INSTALL_DATA) completion/bash_completion $(DESTDIR)$(sysconfdir)/bash_completion.d/pacman 251 $(MKDIR_P) $(DESTDIR)$(datarootdir)/zsh/site-functions/ 252 $(INSTALL_DATA) completion/zsh_completion $(DESTDIR)$(datarootdir)/zsh/site-functions/_pacman 253 254uninstall-local: 255 $(RM) $(DESTDIR)$(sysconfdir)/bash_completion.d/pacman 256 $(RM) $(DESTDIR)$(datarootdir)/zsh/site-functions/_pacman 257 258install-exec-hook: 259 for wrapper in $(WRAPPER); do \ 260 $(RM) $(DESTDIR)$(bindir)/$${wrapper}; \ 261 $(INSTALL) .lib/$${wrapper%-wrapper} $(DESTDIR)$(bindir)/$${wrapper%-wrapper}; \ 262 done 263 for dir in $(LIBMAKEPKGDIRS); do \ 264 $(MKDIR_P) $(DESTDIR)$(libmakepkgdir)/$$dir; \ 265 done 266 for lib in $(LIBMAKEPKG); do \ 267 $(INSTALL) $(srcdir)/$$lib $(DESTDIR)$(libmakepkgdir)/$${lib#libmakepkg}; \ 268 done 269 for lib in $(LIBMAKEPKG_IN); do \ 270 $(INSTALL) $$lib $(DESTDIR)$(libmakepkgdir)/$${lib#libmakepkg}; \ 271 done 272 cd $(DESTDIR)$(bindir) && \ 273 $(RM) repo-elephant && \ 274 ( $(LN_S) repo-add repo-elephant || \ 275 ln repo-add repo-elephant || \ 276 cp repo-add repo-elephant ) 277 cd $(DESTDIR)$(bindir) && \ 278 $(RM) repo-remove && \ 279 ( $(LN_S) repo-add repo-remove || \ 280 ln repo-add repo-remove || \ 281 cp repo-add repo-remove ) 282 283uninstall-hook: 284 cd $(DESTDIR)$(bindir) && \ 285 $(RM) repo-remove repo-elephant 286 for lib in $(LIBMAKEPKG) $(LIBMAKEPKG_IN); do \ 287 $(RM) $(DESTDIR)$(libmakepkgdir)/$${lib#libmakepkg}; \ 288 done 289 for dir in $(LIBMAKEPKGDIRS); do \ 290 $(RM) -r $(DESTDIR)$(libmakepkgdir)/$$dir; \ 291 done 292