From 82c3d67afb365ecba2c3823beecc25606a8e9d70 Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Sun, 21 Mar 2010 12:57:49 +0100 Subject: Use absolute directory names substituted by configure * lisp/Makefile.in (top_srcdir): Define. (abs_top_builddir): Define. (srcdir): Don't append `/..'. (EMACS): Use ${abs_top_builddir}. (all, compile, compile-always, compile-last): Don't set emacswd. (update-subdirs, update-authors): Use $(top_srcdir) instead of $(srcdir). (lisp): Use $(srcdir) instead of @srcdir@. * src/Makefile.in (abs_builddir): Define. (bootstrap_exe): Use it. (VPATH): Use $(srcdir) instead of @srcdir@. --- lisp/Makefile.in | 35 +++++++++++++++-------------------- 1 file changed, 15 insertions(+), 20 deletions(-) (limited to 'lisp/Makefile.in') diff --git a/lisp/Makefile.in b/lisp/Makefile.in index 06d9684f60a..a08e7e9e47b 100644 --- a/lisp/Makefile.in +++ b/lisp/Makefile.in @@ -19,22 +19,19 @@ SHELL = /bin/sh -lisp=@srcdir@ -VPATH=@srcdir@ -srcdir=@srcdir@/.. +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +abs_top_builddir = @abs_top_builddir@ +lisp = $(srcdir) +VPATH = $(srcdir) # You can specify a different executable on the make command line, # e.g. "make EMACS=../src/emacs ...". # We sometimes change directory before running Emacs (typically when # building out-of-tree, we chdir to the source directory), so we need -# to use an aboluste file name. But there's no standard way -# in a makefile to get the pwd, so we simply rely on a shell -# "$emacswd" var that needs to be set wherever we use $(EMACS) (or -# $(emacs)). Yet, it is setup in such a way that if you forget to set -# $emacswd, it will still work, so long as you did not -# change directory. -EMACS = $$emacswd../src/emacs +# to use an aboluste file name. +EMACS = ${abs_top_builddir}/src/emacs # Command line flags for Emacs. This must include --multibyte, # otherwise some files will not compile. @@ -119,7 +116,7 @@ setwins_for_subdirs=subdirs=`(find . -type d -print)`; \ # we add them here to make sure they get built. all: compile-main $(lisp)/cus-load.el $(lisp)/finder-inf.el @: Let us check that we byte-compiled all the files. - emacswd=`pwd`/; $(MAKE) $(MFLAGS) compile-last EMACS=$(EMACS) + $(MAKE) $(MFLAGS) compile-last EMACS=$(EMACS) doit: @@ -140,14 +137,14 @@ doit: $(lisp)/cus-load.el: $(MAKE) $(MFLAGS) custom-deps custom-deps: doit - emacswd=`pwd`/; cd $(lisp); $(setwins_almost); \ + cd $(lisp); $(setwins_almost); \ echo Directories: $$wins; \ $(emacs) -l cus-dep --eval '(setq generated-custom-dependencies-file "$(lisp)/cus-load.el")' -f custom-make-dependencies $$wins $(lisp)/finder-inf.el: $(MAKE) $(MFLAGS) finder-data finder-data: doit - emacswd=`pwd`/; cd $(lisp); $(setwins_almost); \ + cd $(lisp); $(setwins_almost); \ echo Directories: $$wins; \ $(emacs) -l finder --eval '(setq generated-finder-keywords-file "$(lisp)/finder-inf.el")' -f finder-compile-keywords-make-dist $$wins @@ -157,7 +154,7 @@ autoloads: $(LOADDEFS) doit chmod +w $(lisp)/ps-print.el $(lisp)/emulation/tpu-edt.el \ $(lisp)/emacs-lisp/cl-loaddefs.el $(lisp)/mail/rmail.el \ $(lisp)/dired.el $(lisp)/ibuffer.el - emacswd=`pwd`/; cd $(lisp); $(setwins_almost); \ + cd $(lisp); $(setwins_almost); \ echo Directories: $$wins; \ $(emacs) -l autoload --eval '(setq generated-autoload-file "$(lisp)/loaddefs.el")' -f batch-update-autoloads $$wins @@ -168,7 +165,7 @@ $(lisp)/subdirs.el: update-subdirs: doit cd $(lisp); $(setwins_for_subdirs); \ for file in $$wins; do \ - $(srcdir)/update-subdirs $$file; \ + $(top_srcdir)/update-subdirs $$file; \ done; updates: update-subdirs autoloads finder-data custom-deps @@ -182,7 +179,7 @@ cvs-update: bzr-update # Update the AUTHORS file. update-authors: - $(emacs) -l authors -f batch-update-authors $(srcdir)/etc/AUTHORS $(srcdir) + $(emacs) -l authors -f batch-update-authors $(top_srcdir)/etc/AUTHORS $(top_srcdir) TAGS TAGS-LISP: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) els=`echo $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) | sed -e "s,$(lisp)/[^ ]*loaddefs[^ ]*,," -e "s,$(lisp)/ldefs-boot[^ ]*,,"`; \ @@ -1513,8 +1510,7 @@ compile-main: $(ELCFILES) # Explicitly pass EMACS (sometimes ../src/bootstrap-emacs) to those # sub-makes that run rules that use it, for the sake of some non-GNU makes. compile: $(LOADDEFS) autoloads compile-first - emacswd=`pwd`/; \ - $(MAKE) $(MFLAGS) compile-main EMACS=$(EMACS); \ + $(MAKE) $(MFLAGS) compile-main EMACS=$(EMACS) $(MAKE) $(MFLAGS) compile-last EMACS=$(EMACS) ## Doing this causes make install to dump another emacs. @@ -1525,12 +1521,11 @@ compile: $(LOADDEFS) autoloads compile-first # set the local variable no-byte-compile. compile-always: doit cd $(lisp); rm -f *.elc */*.elc */*/*.elc */*/*/*.elc - emacswd=`pwd`/; \ $(MAKE) $(MFLAGS) compile EMACS=$(EMACS) ## In case any files are missing from ELCFILES. compile-last: - @emacswd=`pwd`/; cd $(lisp); $(setwins); \ + @cd $(lisp); $(setwins); \ els=`echo "$$wins " | sed -e 's|/\./|/|g' -e 's|/\. | |g' -e 's| |/*.el |g'`; \ for el in $$els; do \ test -f $$el || continue; \ -- cgit v1.2.1