| ## automake - create Makefile.in from Makefile.am |
| ## Copyright (C) 1996-2015 Free Software Foundation, Inc. |
| |
| ## This program is free software; you can redistribute it and/or modify |
| ## it under the terms of the GNU General Public License as published by |
| ## the Free Software Foundation; either version 2, or (at your option) |
| ## any later version. |
| |
| ## This program is distributed in the hope that it will be useful, |
| ## but WITHOUT ANY WARRANTY; without even the implied warranty of |
| ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| ## GNU General Public License for more details. |
| |
| ## You should have received a copy of the GNU General Public License |
| ## along with this program. If not, see <http://www.gnu.org/licenses/>. |
| |
| ## ---------- ## |
| ## Building. ## |
| ## ---------- ## |
| |
| if %?FIRST% |
| am.elisp.includes = -L $1 $(if $(filter-out .,$(srcdir)), -L $(srcdir)/$1) |
| endif |
| |
| %.elc: %.el |
| ## We add $(builddir) and $(srcdir) to load-path, so that any '.el' files |
| ## that $< depends upon can be found (including generated ones). |
| ## We prefer files from the build directory to those from the source |
| ## directory, in true VPATH spirit. |
| ## The destination file is normally determined by appending "c" to the |
| ## input (which would erronously put it in $(srcdir) in VPATH builds), |
| ## so we override that, too. |
| if test "$(EMACS)" != "no"; then \ |
| ## Emacs byte-compilation won't create this automatically, sadly. |
| $(call am.cmd.ensure-dir-exists,$(@D)); \ |
| $(EMACS) --batch \ |
| $(AM_ELCFLAGS) $(ELCFLAGS) \ |
| $(if $(filter-out .,$(@D)),$(call am.elisp.includes,$(@D))) \ |
| $(call am.elisp.includes,.) \ |
| --eval "(defun byte-compile-dest-file (f) \"$@\")" \ |
| --eval "(unless (byte-compile-file \"$<\") (kill-emacs 1))"; \ |
| else :; fi |
| |
| |
| ## ------------ ## |
| ## Installing. ## |
| ## ------------ ## |
| |
| if %?INSTALL% |
| am__installdirs += "$(DESTDIR)$(%NDIR%dir)" |
| |
| ?BASE?%DIR%LISP_INSTALL = $(INSTALL_DATA) |
| ?!BASE?%DIR%LISP_INSTALL = $(install_sh_DATA) |
| |
| ?EXEC?.PHONY install-exec-am: install-%DIR%LISP |
| ?!EXEC?.PHONY install-data-am: install-%DIR%LISP |
| |
| install-%DIR%LISP: $(%DIR%_LISP) $(ELCFILES) |
| @$(NORMAL_INSTALL) |
| ## Do not install anything if EMACS was not found. |
| @if test "$(EMACS)" != no && test -n "$(%NDIR%dir)"; then \ |
| ## Funny invocation because Makefile variable can be empty, leading to |
| ## a syntax error in sh. |
| $(if $(%DIR%_LISP), \ |
| echo " $(MKDIR_P) '$(DESTDIR)$(%NDIR%dir)'"; \ |
| $(MKDIR_P) "$(DESTDIR)$(%NDIR%dir)" || exit 1; \ |
| $(foreach i, $(%DIR%_LISP), \ |
| p=$(call am.vpath.rewrite,$i); \ |
| ?BASE? f=$(notdir $i); \ |
| ?!BASE? f=$i; \ |
| echo " $(%DIR%LISP_INSTALL) '$$p' '$(DESTDIR)$(%NDIR%dir)/$$f'"; \ |
| $(%DIR%LISP_INSTALL) "$$p" "$(DESTDIR)$(%NDIR%dir)/$$f" || exit $$?; \ |
| ## Only install .elc file if it exists. |
| if test -f $${p}c; then \ |
| echo " $(%DIR%LISP_INSTALL) '$${p}c' '$(DESTDIR)$(%NDIR%dir)/$${f}c'"; \ |
| $(%DIR%LISP_INSTALL) "$${p}c" "$(DESTDIR)$(%NDIR%dir)/$${f}c" || exit $$?; \ |
| else : ; fi;)) \ |
| :; else :; fi; |
| endif %?INSTALL% |
| |
| |
| ## -------------- ## |
| ## Uninstalling. ## |
| ## -------------- ## |
| |
| if %?INSTALL% |
| .PHONY uninstall-am: uninstall-%DIR%LISP |
| uninstall-%DIR%LISP: |
| @$(NORMAL_UNINSTALL) |
| ## Do not uninstall anything if EMACS was not found. |
| ## FIXME: we should actually check more strictly for $(EMACS) = "no". |
| $(call am.uninst.cmd,$(if $(filter no,$(EMACS)),,$(%NDIR%dir)), \ |
| $(foreach i,\ |
| ?BASE? $(notdir $(%DIR%_LISP)), \ |
| ?!BASE? $(patsubst $(srcdir)/%,%,$(%DIR%_LISP)), \ |
| ## Also remove the '.elc' byte-compiled versions, if any. |
| $(i) $(i)c)) |
| endif %?INSTALL% |
| |
| |
| ## ---------- ## |
| ## Cleaning. ## |
| ## ---------- ## |
| |
| am.clean.normal.f += $(ELCFILES) |
| |
| ## -------------- ## |
| ## Distributing. ## |
| ## -------------- ## |
| |
| if %?DIST% |
| am.dist.common-files += %DISTVAR% |
| endif %?DIST% |