Edit

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

Branch :

  • Show log

    Commit

  • Author : Alexandre Duret-Lutz
    Date : 2006-08-19 15:55:53
    Hash : d5358968
    Message : * Makefile.am (maintainer-check): Check for mkdir_p. * automake.texi (Obsolete macros): Document AM_PROG_MKDIR_P. * lib/am/data.am, lib/am/distdir.am, lib/am/install.am, lib/am/java.am, lib/am/libs.am, lib/am/lisp.am, lib/am/ltlib.am, lib/am/mans.am, lib/am/progs.am, lib/am/python.am, lib/am/scripts.am, lib/am/texinfos.am: Use MKDIR_P instead of mkdir_p. * m4/mkdirp.m4 (AM_PROG_MKDIR_P): Define mkdir_p using $MKDIR_P, not as '$(MKDIR_P)', otherwise it will break `Makefile.in's that use mkdir_p without defining MKDIR_P. * tests/distdir.test, tests/instman.test, tests/txinfo21.test: Adjust.

  • lib/am/lisp.am
  • ## automake - create Makefile.in from Makefile.am
    ## Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
    ## 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, write to the Free Software
    ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    ## 02110-1301, USA.
    
    if %?INSTALL%
    include inst-vars.am
    endif %?INSTALL%
    
    ## ---------- ##
    ## Building.  ##
    ## ---------- ##
    
    elc-stamp: $(LISP)
    	@echo 'WARNING: Warnings can be ignored. :-)'
    	@rm -f elc-temp && touch elc-temp
    	if test "$(EMACS)" != no; then \
    ## Make sure "$@" isn't empty initially.
    	  set x; \
    ## Populate "$@" with elisp files (found in the current directory
    ## or in $srcdir).
    	  list='$(LISP)'; for p in $$list; do \
    	    if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
    	    set x "$$@" "$$d$$p"; shift; \
    	  done; \
    ## Finally call elisp-comp for all files.
    	  shift; \
    	  EMACS="$(EMACS)" $(SHELL) $(elisp_comp) "$$@" || exit 1; \
    	else : ; fi
    	@mv -f elc-temp $@
    
    ## Do not use $(ELCFILES) as target, because it may have been emptied
    ## by the user (to disable byte-compilation), and POSIX does not allow
    ## an empty target.
    $(am__ELCFILES): elc-stamp
    ## Recover from the removal of $@.
    ##
    ## Do not call `make elc-stamp' if emacs is not available, because it would
    ## be useless.
    	@if test "$(EMACS)" != no && test ! -f $@; then \
    ## If `make -j' is used and more than one file has been erased, several
    ## processes can execute this block.  We have to make sure that only
    ## the first one will run `$(MAKE) $(AM_MAKEFLAGS) elc-stamp', and the
    ## other ones will wait.
    ##
    ## There is a race here if only one child of make receive a signal.
    ## In that case the build may fail.  We remove elc-stamp when we receive
    ## a signal so we are sure the build will succeed the next time.
    	  trap 'rm -rf elc-lock elc-stamp' 1 2 13 15; \
    	  if mkdir elc-lock 2>/dev/null; then \
    ## This code is being executed by the first process.
    	    rm -f elc-stamp; \
    	    $(MAKE) $(AM_MAKEFLAGS) elc-stamp; \
    	    rmdir elc-lock; \
    	  else \
    ## This code is being executed by the follower processes.
    ## Wait until the first process is done.
    	    while test -d elc-lock; do sleep 1; done; \
    ## Succeed if and only if the first process succeeded.
    	    test -f elc-stamp; exit $$?; \
    	  fi; \
    	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; then \
    	  test -z "$(%NDIR%dir)" || $(MKDIR_P) "$(DESTDIR)$(%NDIR%dir)"; \
    ?!BASE?	  $(am__vpath_adj_setup) \
    ## Funny invocation because Makefile variable can be empty, leading to
    ## a syntax error in sh.
    	  list='$(%DIR%_LISP)'; 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?	    f=$(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"; \
    ## 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"; \
    	    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.
    	@if test "$(EMACS)" != no; then \
    ?!BASE?	  $(am__vpath_adj_setup) \
    	  list='$(%DIR%_LISP)'; for p in $$list; do \
    ?BASE?	    f=$(am__strip_dir) \
    ?!BASE?	    $(am__vpath_adj) \
    	    echo " rm -f '$(DESTDIR)$(%NDIR%dir)/$$f' '$(DESTDIR)$(%NDIR%dir)/$${f}c'"; \
    	    rm -f "$(DESTDIR)$(%NDIR%dir)/$$f" "$(DESTDIR)$(%NDIR%dir)/$${f}c"; \
    	  done; \
    	else : ; fi
    endif %?INSTALL%
    
    
    ## ---------- ##
    ## Cleaning.  ##
    ## ---------- ##
    
    .PHONY clean-am: clean-lisp
    clean-lisp:
    	-rm -f elc-stamp $(ELCFILES)
    
    
    ## -------------- ##
    ## Distributing.  ##
    ## -------------- ##
    
    if %?DIST%
    DIST_COMMON += %DISTVAR%
    endif %?DIST%