From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Juanma Barranquero Newsgroups: gmane.emacs.devel Subject: Re: Broken lisp/Makefile.w32-in Date: Fri, 20 Sep 2002 10:26:46 +0200 Sender: emacs-devel-admin@gnu.org Message-ID: <20020920101908.3689.LEKTU@terra.es> References: <20020906123406.9D40.LEKTU@terra.es> <3405-Wed18Sep2002094325+0300-eliz@is.elta.co.il> NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Trace: main.gmane.org 1032551368 27497 127.0.0.1 (20 Sep 2002 19:49:28 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Fri, 20 Sep 2002 19:49:28 +0000 (UTC) Cc: Takaaki.Ota@am.sony.com, emacs-devel@gnu.org Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 17sTmI-00079M-00 for ; Fri, 20 Sep 2002 21:49:26 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 17sURh-0005ui-00 for ; Fri, 20 Sep 2002 22:32:14 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10) id 17sTmg-0001mz-00; Fri, 20 Sep 2002 15:49:50 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10) id 17sJ7s-0006Qg-00 for emacs-devel@gnu.org; Fri, 20 Sep 2002 04:27:00 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10) id 17sJ7o-0006PE-00 for emacs-devel@gnu.org; Fri, 20 Sep 2002 04:26:59 -0400 Original-Received: from [62.22.27.141] (helo=mail.peoplecall.com) by monty-python.gnu.org with esmtp (Exim 4.10) id 17sJ7o-0006Od-00 for emacs-devel@gnu.org; Fri, 20 Sep 2002 04:26:56 -0400 Original-Received: from [62.22.27.143] (jbarranquero.ofi.peoplecall.com [62.22.27.143]) by mail.peoplecall.com (8.11.6/8.11.6) with ESMTP id g8K8Qjd21045; Fri, 20 Sep 2002 10:26:46 +0200 Original-To: Eli Zaretskii In-Reply-To: <3405-Wed18Sep2002094325+0300-eliz@is.elta.co.il> X-Mailer: Becky! ver. 2.05.06 Errors-To: emacs-devel-admin@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.devel:8043 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:8043 On Wed, 18 Sep 2002 09:43:27 +0300, "Eli Zaretskii" wrote: > Does it work to have the ``for ...'' part be in a batch file which is > then invoked as "command.com /c foo.bat ..foo.txt"? I'll have to test it. > I'm not sure I know what changes you have in mind. Could you please > post a diff? Yes. Basically I'm thinking of bringing to EMACS_21_1_RC/lisp/makefile.w32-in some of the changes for the better that have been integrated into the RC line. AFAIK, with those changes the make process works better in some environments (you can do now "nmake updates" in Windows NT/2K/XP) and no worse in any one. bootstrap still doesn't make the update-subdirs target, though that could be added if your command/c foo.bat method works, or via the WINS/WINS_WITHOUT_TERM kludge. /L/e/k/t/u Index: makefile.w32-in =================================================================== RCS file: /cvs/emacs/lisp/makefile.w32-in,v retrieving revision 1.16 diff -u -2 -r1.16 makefile.w32-in --- makefile.w32-in 16 Aug 2001 13:17:32 -0000 1.16 +++ makefile.w32-in 20 Sep 2002 08:17:35 -0000 @@ -28,4 +28,5 @@ lisp = $(CURDIR) +srcdir = $(CURDIR)/.. # You can specify a different executable on the make command line, @@ -46,5 +47,8 @@ ETAGS = "../lib-src/$(BLD)/etags" -# Files which should not be compiled. +# Files which should not be compiled. If you change the name `DONTCOMPILE' +# to something different, you'll have to change make-dist as well, and +# modify the lists in $lisp and $shortlisp on src/Makefile.in. +# # - emacs-lisp/cl-specs.el: only contains `def-edebug-spec's so there's # no point compiling it, although it doesn't hurt. @@ -135,8 +139,10 @@ mail \ net \ + obsolete \ play \ progmodes \ term \ - textmodes + textmodes \ + toolbar doit: @@ -148,8 +154,5 @@ -$(emacs) -l cus-dep --eval $(ARGQUOTE)(setq find-file-hooks nil)$(ARGQUOTE) -f custom-make-dependencies $(lisp) $(WINS) -finder-inf.el: - echo (provide $(SQUOTE)finder-inf)>> $@ - -finder-data: finder-inf.el doit +finder-data: doit @echo Directories: $(WINS) $(emacs) -l finder -f finder-compile-keywords-make-dist $(lisp) $(WINS) @@ -182,9 +185,9 @@ update-subdirs-CMD: doit - @set QWINS= - @for %d in ($(WINS)) do if not (%d)==(term) set QWINS=%QWINS% "%d" echo ;; In load-path, after this directory should come> subdirs.el echo ;; certain of its subdirectories. Here we specify them.>> subdirs.el - echo (normal-top-level-add-to-load-path $(SQUOTE)(%QWINS%))>> subdirs.el + echo (normal-top-level-add-to-load-path $(SQUOTE)(>> subdirs.el + @for %d in ($(WINS)) do if not (%d)==(term) echo "%d">> subdirs.el + echo ))>> subdirs.el update-subdirs-SH: doit @@ -196,4 +199,9 @@ updates: update-subdirs autoloads finder-data custom-deps +# Update the AUTHORS file. + +update-authors: + $(emacs) -f batch-update-authors $(srcdir)/AUTHORS $(srcdir) + TAGS: $(lisptagsfiles1) $(lisptagsfiles2) $(ETAGS) $(lisptagsfiles1) $(lisptagsfiles2) @@ -210,6 +218,8 @@ -$(DEL) $@ -# Compile all Lisp files, except those from DONTCOMPILE. This -# compiles files unconditionally. All .elc files are made writable +# Compile all Lisp files, except those from DONTCOMPILE, +# but don't recompile those that are up to date. + +# All .elc files are made writable # before compilation in case we checked out read-only (CVS option -r). # Files MUST be compiled one by one. If we compile several files in a @@ -220,12 +230,12 @@ # Need separate version for sh and native cmd.exe -compile-files: subdirs.el compile-files-$(SHELLTYPE) doit +compile: subdirs.el compile-$(SHELLTYPE) doit -compile-files-CMD: +compile-CMD: # -for %f in ($(lisp) $(WINS)) do for %g in (%f\*.elc) do @attrib -r %g for %f in ($(COMPILE_FIRST)) do $(emacs) -f batch-byte-compile %f for %f in (. $(WINS)) do for %g in (%f/*.el) do $(emacs) -f batch-byte-compile %f/%g -compile-files-SH: +compile-SH: # for elc in $(lisp)/*.elc $(lisp)/*/*.elc; do attrib -r $$elc; done for el in $(COMPILE_FIRST); do \ @@ -235,6 +245,31 @@ for dir in $(lisp) $(WINS); do \ for el in $$dir/*.el; do \ + if test -f $$el; \ + then \ + echo Compiling $$el; \ + $(emacs) -f batch-byte-compile-if-not-done $$el; \ + fi \ + done; \ + done + +# Compile all Lisp files, except those from DONTCOMPILE. This +# is like `compile' but compiles files unconditionally. +compile-always: subdirs.el compile-always-$(SHELLTYPE) doit + +compile-always-CMD: +# -for %f in ($(lisp) $(WINS)) do for %g in (%f\*.elc) do @attrib -r %g + for %f in ($(COMPILE_FIRST)) do $(emacs) -f batch-byte-compile %f + for %f in (. $(WINS)) do for %g in (%f/*.el) do $(emacs) -f batch-byte-compile %f/%g + +compile-always-SH: +# for elc in $(lisp)/*.elc $(lisp)/*/*.elc; do attrib -r $$elc; done + for el in $(COMPILE_FIRST); do \ + echo Compiling $$el; \ + $(emacs) -f batch-byte-compile $$el || exit 1; \ + done + for dir in $(lisp) $(WINS); do \ + for el in $$dir/*.el; do \ echo Compiling $$el; \ - $(emacs) -f batch-byte-compile $$el; \ + $(emacs) -f batch-byte-compile $$el || exit 1; \ done; \ done @@ -249,5 +284,5 @@ # Compile Lisp files, but save old compiled files first. -compile: backup-compiled-files compile-files +compile-after-backup: backup-compiled-files compile-always # Recompile all Lisp files which are newer than their .elc files. @@ -256,5 +291,5 @@ recompile: doit - $(emacs) -f batch-byte-recompile-directory . + $(emacs) -f batch-byte-recompile-directory $(lisp) # Prepare a bootstrap in the lisp subdirectory. Build loaddefs.el, @@ -268,14 +303,15 @@ bootstrap-clean-CMD: - if exist $(EMACS) $(MAKE) $(MFLAGS) autoloads +# if exist $(EMACS) $(MAKE) $(MFLAGS) autoloads -for %f in (. $(WINS)) do for %g in (%f\*.elc) do @$(DEL) %g bootstrap-clean-SH: - if test -f $(EMACS); then $(MAKE) $(MFLAGS) autoloads; fi - -rm -f $(lisp)/*.elc $(lisp)/*/*.elc +# if test -f $(EMACS); then $(MAKE) $(MFLAGS) autoloads; fi +# -rm -f $(lisp)/*.elc $(lisp)/*/*.elc + -for dir in . $(WINS); do rm -f $$dir/*.elc; done # Generate/update files for the bootstrap process. -bootstrap: autoloads compile-files custom-deps +bootstrap: autoloads compile finder-data custom-deps #