unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Juanma Barranquero <lektu@terra.es>
Cc: Takaaki.Ota@am.sony.com, emacs-devel@gnu.org
Subject: Re: Broken lisp/Makefile.w32-in
Date: Fri, 20 Sep 2002 10:26:46 +0200	[thread overview]
Message-ID: <20020920101908.3689.LEKTU@terra.es> (raw)
In-Reply-To: <3405-Wed18Sep2002094325+0300-eliz@is.elta.co.il>

On Wed, 18 Sep 2002 09:43:27 +0300, "Eli Zaretskii" <eliz@is.elta.co.il> 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
 
 #

  reply	other threads:[~2002-09-20  8:26 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-07-31  6:59 Broken lisp/Makefile.w32-in Tak Ota
2002-07-31  7:51 ` Juanma Barranquero
2002-08-01 16:52   ` Richard Stallman
2002-08-01 17:14     ` Juanma Barranquero
2002-07-31  8:04 ` Juanma Barranquero
2002-08-30 12:14 ` Juanma Barranquero
2002-08-30 19:06   ` Eli Zaretskii
2002-08-30 23:47     ` Kim F. Storm
2002-08-31 23:24     ` Juanma Barranquero
2002-09-01  5:11       ` Eli Zaretskii
2002-09-01 21:10         ` Juanma Barranquero
2002-08-31 23:25     ` Juanma Barranquero
2002-09-01  5:15       ` Eli Zaretskii
2002-09-01 19:58         ` Juanma Barranquero
2002-09-01 16:59           ` Eli Zaretskii
2002-09-02  6:18             ` Juanma Barranquero
2002-09-02 16:20               ` Eli Zaretskii
2002-09-04 14:35             ` Juanma Barranquero
2002-09-05  5:08               ` Eli Zaretskii
2002-09-05  6:21                 ` Juanma Barranquero
2002-09-05 11:06                   ` Andreas Schwab
2002-09-05 14:57                   ` Eli Zaretskii
2002-09-05 17:06                     ` Juanma Barranquero
2002-09-06 10:47                 ` Juanma Barranquero
2002-09-18  6:43                   ` Eli Zaretskii
2002-09-20  8:26                     ` Juanma Barranquero [this message]
2002-09-20 21:23                       ` Eli Zaretskii
2002-09-22 17:24                         ` Juanma Barranquero
2002-09-22 13:23                           ` Eli Zaretskii
2002-09-24 16:46                             ` Juanma Barranquero
2002-09-24 18:03                               ` Stefan Monnier
2002-09-25  6:36                                 ` Juanma Barranquero
2002-09-25 14:30                                   ` Stefan Monnier
2002-09-30  7:02                                     ` Juanma Barranquero
2002-10-01  6:18                                       ` Richard Stallman
2002-10-01 14:42                                         ` Juanma Barranquero
2002-09-29  5:43                         ` Juanma Barranquero
2002-09-29 16:38                           ` Eli Zaretskii
2002-09-29 19:53                             ` Stefan Monnier
2002-09-30  2:06                               ` Juanma Barranquero
2002-09-30  1:56                             ` Juanma Barranquero
2002-09-30  4:39                               ` Eli Zaretskii
2002-09-29 18:44                           ` Richard Stallman
2002-10-01  5:58                             ` Juanma Barranquero
2002-10-01 13:38                               ` Richard Stallman
2002-10-04  7:45                                 ` Juanma Barranquero
2002-08-30 19:18   ` Richard Stallman
2002-08-31 23:25     ` Juanma Barranquero

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20020920101908.3689.LEKTU@terra.es \
    --to=lektu@terra.es \
    --cc=Takaaki.Ota@am.sony.com \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).