diff options
Diffstat (limited to 'lisp/makefile.w32-in')
| -rw-r--r-- | lisp/makefile.w32-in | 106 | 
1 files changed, 84 insertions, 22 deletions
diff --git a/lisp/makefile.w32-in b/lisp/makefile.w32-in index 756d2b949fa..b6beb6b292a 100644 --- a/lisp/makefile.w32-in +++ b/lisp/makefile.w32-in @@ -104,27 +104,39 @@ WINS_CEDET=\  	cedet/semantic/symref \  	cedet/semantic/wisent -WINS_BASIC=\ +# The list of subdirectories is subdivided into 4 more or less equal +# parts so that we could have 4-way parallelism while compiling Lisp +# files, which helps to slash bootstrap times.  See the 'compile' +# target below. +WINS_BASIC1=\  	calc \  	calendar \  	emacs-lisp \ -	emulation \  	erc \ -	eshell \ +	net \ +	url + +WINS_BASIC2=\  	gnus \  	international \  	language \ -	mail \ +	mail + +WINS_BASIC3=\ +	emulation \  	mh-e \ -	net \  	nxml \  	org \  	play \ -	progmodes \  	textmodes \ -	url \  	vc +WINS_BASIC4=\ +	eshell \ +	progmodes + +WINS_BASIC= $(WINS_BASIC1) $(WINS_BASIC2) $(WINS_BASIC3) $(WINS_BASIC4) +  # Directories with lisp files to compile, and to extract data from  # (customs, autoloads, etc.)  WINS_UPDATES=$(WINS_BASIC) \ @@ -311,22 +323,71 @@ TAGS-LISP-CMD: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsf  # compiled find the right files.  # Need separate version for sh and native cmd.exe -compile: $(lisp)/subdirs.el compile-$(SHELLTYPE) doit +compile: $(lisp)/subdirs.el compile0-$(SHELLTYPE) compile1-$(SHELLTYPE) compile2-$(SHELLTYPE) compile3-$(SHELLTYPE) compile4-$(SHELLTYPE) doit -compile-CMD: autoloads +compile0-CMD: autoloads  #	-for %%f in ($(lisp) $(WINS)) do for %%g in (%%f\*.elc) do @attrib -r %%g  	for %%f in ($(COMPILE_FIRST)) do \  	  $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done %%f -	for %%f in (. $(WINS)) do for %%g in (%%f/*.el) do \ + +compile1-CMD: autoloads compile0-CMD +	for %%f in (. $(WINS_BASIC1)) do for %%g in (%%f/*.el) do \  	  $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done %%f/%%g -compile-SH: autoloads +compile2-CMD: autoloads compile0-CMD +	for %%f in ($(WINS_BASIC2)) do for %%g in (%%f/*.el) do \ +	  $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done %%f/%%g + +compile3-CMD: autoloads compile0-CMD +	for %%f in ($(WINS_BASIC3)) do for %%g in (%%f/*.el) do \ +	  $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done %%f/%%g + +compile4-CMD: autoloads compile0-CMD +	for %%f in ($(WINS_BASIC4) $(WINS_CEDET) term obsolete) do for %%g in (%%f/*.el) do \ +	  $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done %%f/%%g + +compile0-SH: autoloads  #	for elc in $(lisp)/*.elc $(lisp)/*/*.elc; do attrib -r $$elc; done  	for el in $(COMPILE_FIRST); do \  	  echo Compiling $$el; \  	  $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done $$el; \  	done -	for dir in $(lisp) $(WINS); do \ + +compile1-SH: autoloads compile0-SH +	for dir in $(lisp) $(WINS_BASIC1); do \ +	  for el in $$dir/*.el; do \ +	    if test -f $$el; \ +	    then \ +	      echo Compiling $$el; \ +	      $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done $$el; \ +	    fi \ +	  done; \ +	done + +compile2-SH: autoloads compile0-SH +	for dir in $(WINS_BASIC2); do \ +	  for el in $$dir/*.el; do \ +	    if test -f $$el; \ +	    then \ +	      echo Compiling $$el; \ +	      $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done $$el; \ +	    fi \ +	  done; \ +	done + +compile3-SH: autoloads compile0-SH +	for dir in $(WINS_BASIC3); do \ +	  for el in $$dir/*.el; do \ +	    if test -f $$el; \ +	    then \ +	      echo Compiling $$el; \ +	      $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done $$el; \ +	    fi \ +	  done; \ +	done + +compile4-SH: autoloads compile0-SH +	for dir in $(WINS_BASIC4) $(WINS_CEDET) term obsolete; do \  	  for el in $$dir/*.el; do \  	    if test -f $$el; \  	    then \ @@ -447,23 +508,24 @@ $(lisp)/mh-e/mh-loaddefs.el: $(MH_E_SRC) $(lisp)/subdirs.el  	   $(ARGQUOTE)$(lisp)/mh-e/mh-loaddefs.el$(ARGQUOTE) $(MAKE) ./mh-e  # Update TRAMP internal autoloads. Maybe we could move tramp*.el into -# its own subdirectory. OTOH, it does not hurt to keep them in +# an own subdirectory. OTOH, it does not hurt to keep them in  # lisp/net. -TRAMP_SRC = $(lisp)/net/tramp.el  $(lisp)/net/tramp-cache.el  \ -	$(lisp)/net/tramp-cmds.el $(lisp)/net/tramp-compat.el \ -	$(lisp)/net/tramp-ftp.el  $(lisp)/net/tramp-gvfs.el   \ -	$(lisp)/net/tramp-gw.el   $(lisp)/net/tramp-sh.el     \ -	$(lisp)/net/tramp-smb.el  $(lisp)/net/tramp-uu.el     \ -	$(lisp)/net/trampver.el - -$(lisp)/net/tramp-loaddefs.el: $(TRAMP_SRC) $(lisp)/subdirs.el +TRAMP_DIR = $(lisp)/net +TRAMP_SRC = $(TRAMP_DIR)/tramp.el    $(TRAMP_DIR)/tramp-adb.el	\ +	$(TRAMP_DIR)/tramp-cache.el  $(TRAMP_DIR)/tramp-cmds.el	\ +	$(TRAMP_DIR)/tramp-compat.el $(TRAMP_DIR)/tramp-ftp.el	\ +	$(TRAMP_DIR)/tramp-gvfs.el   $(TRAMP_DIR)/tramp-gw.el	\ +	$(TRAMP_DIR)/tramp-sh.el     $(TRAMP_DIR)/tramp-smb.el	\ +	$(TRAMP_DIR)/tramp-uu.el     $(TRAMP_DIR)/trampver.el + +$(TRAMP_DIR)/tramp-loaddefs.el: $(TRAMP_SRC) $(lisp)/subdirs.el  	"$(EMACS)" $(EMACSOPT) \  	   -l autoload \  	   --eval $(ARGQUOTE)(setq generate-autoload-cookie $(DQUOTE);;;###tramp-autoload$(DQUOTE))$(ARGQUOTE) \  	   --eval $(ARGQUOTE)(setq find-file-suppress-same-file-warnings t)$(ARGQUOTE) \  	   --eval $(ARGQUOTE)(setq make-backup-files nil)$(ARGQUOTE) \  	   -f w32-batch-update-autoloads \ -	   $(ARGQUOTE)$(lisp)/net/tramp-loaddefs.el$(ARGQUOTE) $(MAKE) ./net +	   $(ARGQUOTE)$(TRAMP_DIR)/tramp-loaddefs.el$(ARGQUOTE) $(MAKE) ./net  # Prepare a bootstrap in the lisp subdirectory.  #  | 
