Edit

kc3-lang/automake/lib/am/lisp.am

Branch :

  • Show log

    Commit

  • Author : Paul Eggert
    Date : 2024-01-01 11:29:06
    Hash : b80b5c47
    Message : maint: make update-copyright

  • lib/am/lisp.am
  • ## automake - create Makefile.in from Makefile.am
    ## Copyright (C) 1996-2024 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 <https://www.gnu.org/licenses/>.
    
    if %?INSTALL%
    include inst-vars.am
    endif %?INSTALL%
    
    ## ---------- ##
    ## Building.  ##
    ## ---------- ##
    
    .el.elc:
    ## 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 erroneously put it in $(srcdir) in VPATH builds),
    ## so we override that, too.
    	$(AM_V_GEN)if test '$(EMACS)' != no; then \
    	  am__dir=. am__subdir_includes=''; \
    	  case $@ in */*) \
    	    am__dir=`echo '$@' | sed 's,/[^/]*$$,,'`; \
    	    am__subdir_includes="-L $$am__dir -L $(srcdir)/$$am__dir"; \
    	  esac; \
    ## Emacs byte-compilation won't create this automatically, sadly.
    	  $(MKDIR_P) "$$am__dir" || exit 1; \
    	  $(EMACS) --batch --no-site-file \
    	    $(AM_ELCFLAGS) $(ELCFLAGS) \
    	    $$am__subdir_includes -L $(builddir) -L $(srcdir) \
    	    -l bytecomp \
    	    --eval '$(am__emacs_byte_compile_setup)' \
    	    -f batch-byte-compile '$<'; \
    	else :; fi
    
    if %?FIRST%
    ## In Automake 1.16, byte compilation was changed to use
    ## byte-compile-dest-file-function, but that doesn't exist in Emacs
    ## versions earlier than 25, which are still widespread (likely
    ## permanently). There's no harm in supporting the older versions, which
    ## require defining the byte-compile-file defun, so do so.
    ## Otherwise, various of our lisp-related tests fail with the older
    ## Emacsen, since they would try to byte-compile into a read-only srcdir.
    ##
    ## This is used, single-quoted, in the shell sequence above.
    ## So use (quote) instead of another single quote in the Lisp.
    ##
    am__emacs_byte_compile_setup = \
      (if (boundp (quote byte-compile-dest-file-function)) \
        (setq byte-compile-dest-file-function (lambda (_) "$@")) \
        (defun byte-compile-dest-file (_) "$@") \
      )
    ## Just to be clear: that "$@" above is an Elisp string of the make target.
    endif %?FIRST%
    
    ## ------------ ##
    ## 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 \
    ?!BASE?	  $(am__vpath_adj_setup) \
    ## Funny invocation because Makefile variable can be empty, leading to
    ## a syntax error in sh.
    	  list='$(%DIR%_LISP)'; \
    	  if test -n "$$list"; then \
    	    echo " $(MKDIR_P) '$(DESTDIR)$(%NDIR%dir)'"; \
    	    $(MKDIR_P) "$(DESTDIR)$(%NDIR%dir)" || exit 1; \
    	  fi; \
    	  for p in $$list; do \
    ## A lisp file can be in the source directory or the build directory.
    	    if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
    ?BASE?	    $(am__strip_dir) \
    ?!BASE?	    $(am__vpath_adj) \
    	    echo " $(%DIR%LISP_INSTALL) '$$d$$p' '$(DESTDIR)$(%NDIR%dir)/$$f'"; \
    	    $(%DIR%LISP_INSTALL) "$$d$$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; \
    	  done; \
    	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.
    	@test "$(EMACS)" != no && test -n "$(%NDIR%dir)" || exit 0; \
    	list='$(%DIR%_LISP)'; \
    ?BASE?	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
    ?!BASE?	$(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \
    	files="$$files "`echo "$$files" | sed 's|$$|c|'`; \
    	dir='$(DESTDIR)$(%NDIR%dir)'; $(am__uninstall_files_from_dir)
    endif %?INSTALL%
    
    
    ## ---------- ##
    ## Cleaning.  ##
    ## ---------- ##
    
    .PHONY clean-am: clean-lisp
    clean-lisp:
    	-rm -f $(ELCFILES)
    
    
    ## -------------- ##
    ## Distributing.  ##
    ## -------------- ##
    
    if %?DIST%
    DIST_COMMON += %DISTVAR%
    endif %?DIST%