emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Compilation order. Tentative patch.


From: Mathias Megyei
Subject: Re: Compilation order. Tentative patch.
Date: Sat, 6 Oct 2007 07:38:18 +0200

Hi Alan,

Alan Mackenzie writes:
 > Suggestions for increasing the elegance would be welcome.
 > 
 > 
 > 2007-10-05  Alan Mackenzie  <address@hidden>
 > 
 >      * Makefile.in: Rigorously specify the dependencies between the CC
 >      Mode files.elc.
 >      (CC-MODE): New target.
 > 
 > 
 > Index: Makefile.in
 > ===================================================================
 > RCS file: /cvsroot/emacs/emacs/lisp/Makefile.in,v
 > retrieving revision 1.85.2.3
 > diff -c -r1.85.2.3 Makefile.in
 > *** Makefile.in      19 Aug 2007 00:24:55 -0000      1.85.2.3
 > --- Makefile.in      5 Oct 2007 21:12:56 -0000
 > ***************
 > *** 213,225 ****
 >      $(emacs) --eval "(batch-byte-recompile-directory 0)" $(lisp)
 >   
 >   # CC Mode uses a compile time macro system which causes a compile time
 > ! # dependency in cc-mode.elc on the macros in cc-langs.el and the
 > ! # version string in cc-defs.el.
 > ! $(lisp)/progmodes/cc-mode.elc: \
 > !    $(lisp)/progmodes/cc-mode.el \
 > !    $(lisp)/progmodes/cc-langs.el \
 > !    $(lisp)/progmodes/cc-defs.el
 > !    $(emacs) -f batch-byte-compile $(lisp)/progmodes/cc-mode.el
 >   
 >   # Update MH-E internal autoloads. These are not to be confused with
 >   # the autoloads for the MH-E entry points, which are already in
 > --- 213,246 ----
 >      $(emacs) --eval "(batch-byte-recompile-directory 0)" $(lisp)
 >   
 >   # CC Mode uses a compile time macro system which causes a compile time
 > ! # dependency in cc-mode.elc, cc-engine.elc, and cc-fonts.elc on the 
 > "language
 > ! # variables" in cc-langs.el.  A(lmost) all CC files depend on the macros in
 > ! # cc-defs.elc and the bytecomp stuff in cc-bytecomp.el.
 > ! pr=$(lisp)/progmodes
 > ! .PHONY: CC-MODE
 > ! CC-MODE: $(pr)/cc-align.elc $(pr)/cc-awk.elc $(pr)/cc-bytecomp.elc 
 > $(pr)/cc-cmds.elc $(pr)/cc-compat.elc $(pr)/cc-defs.elc $(pr)/cc-engine.elc 
 > $(pr)/cc-fonts.elc $(pr)/cc-langs.elc $(pr)/cc-mode.elc $(pr)/cc-menus.elc 
 > $(pr)/cc-styles.elc $(pr)/cc-subword.elc $(pr)/cc-vars.elc

 You can omit to list the files cc-bytecomp.elc, cc-defs.elc,
 cc-langs.el, because they appear in the dependency lists of the
 rules below.

 > ! 
 > ! # "Top level" CC Mode files:
 > ! $(pr)/cc-align.elc \
 > ! $(pr)/cc-awk.elc \
 > ! $(pr)/cc-cmds.elc \
 > ! $(pr)/cc-compat.elc \
 > ! $(pr)/cc-menus.elc \
 > ! $(pr)/cc-styles.elc \
 > ! $(pr)/cc-subword.elc \
 > ! $(pr)/cc-vars.elc: \
 > !     $(pr)/cc-defs.elc $(pr)/cc-bytecomp.elc

Since $(pr)/cc-defs.elc already depends on $(pr)/cc-bytecomp.elc
there's no need to add the latter to this list.

 > ! 
 > ! # CC Mode files which defvar, initialise, or use the "language variables":
 > ! $(pr)/cc-mode.elc \
 > ! $(pr)/cc-engine.elc \
 > ! $(pr)/cc-fonts.elc: \
 > !      $(pr)/cc-langs.elc $(pr)/cc-defs.elc $(pr)/cc-bytecomp.elc

the same here, $(pr)/cc-langs.elc depends on both
cc-defs.elc and cc-bytecomp.elc.

 > ! 
 > ! # CC Mode file which defines the language variables and their values:
 > ! $(pr)/cc-langs.elc: $(pr)/cc-defs.elc $(pr)/cc-bytecomp.elc

the same here

Mathias




reply via email to

[Prev in Thread] Current Thread [Next in Thread]