diff nt/xemacs.mak @ 1346:01c57eb70ae9

[xemacs-hg @ 2003-03-09 02:27:27 by ben] To: xemacs-patches@xemacs.org i.c: Sleep between calls to check for I/O, since these calls are non-blocking. behavior.el: Allow other keywords for forward compatibility. cl-macs.el: Rewrite to eliminate byte-compiler warning when `return' is used without `finally'. cmdloop.el: Avoid truncated error messages for `end-of-file' and the like. cmdloop.el: Avoid char-int error after syncing. files.el: Eliminate byte-compile warnings. printer.el: Fix line-width calculations. #### This used to work. Someone's changes (perhaps by Michael Sperber?) seem to have messed something up. simple.el: Use new clear-left-side functions to avoid messages ending up on the same line as other output. xemacs.mak: Add override for info/ as well when separate source/build dirs. xemacs.mak: Order sections in main build process and add comments. Add additional dependencies to try and prevent later steps from happening when failures in earlier steps have occurred. Makefile.in.in: Order sections in main build process and add comments. Add additional dependencies to try and prevent later steps from happening when failures in earlier steps have occurred. alloc.c: Don't arbitrarily clear Vconfigure_info_directory since it messes up separate build/source dirs. console.c, console.h, device-msw.c, device.c: Add accidentally omitted msprinter console and data descriptions. print.c, console-msw.c: Add clear-left-side functionality to help keep stdio/stderr output from separate sources on separate lines. Generalize the different kinds of debugging output. Add dpa(). profile.c: Add better docs on Unix/Windows differences. regex.c: Fix problems with rel-alloc compilation caused by previous patch. emacs.c: Seg fault rather than abort on Cygwin, since gdb doesn't trap aborts properly. console-gtk-impl.h, console-gtk.h, console-msw.h, console-x-impl.h, console-x.h, dialog-gtk.c, dialog-x.c, event-msw.c, frame-gtk.c, frame-x.c, frameslots.h, glyphs-gtk.c, glyphs-x.c, gui-gtk.c, gui-x.c, inline.c, menubar-gtk.c, menubar-msw.c, menubar-x.c, scrollbar-gtk.c, scrollbar-x.c, ui-gtk.c: Delete popup-data object. Delete menubar_data field from frames, since its usage is frame-specific. Delete menubar-msw.h, gui-x.h, gui-gtk.h. Clean up handling of lwlib callback data GCPRO'ing and add missing GCPRO recomputation in widget code.
author ben
date Sun, 09 Mar 2003 02:27:46 +0000
parents 1b0339b048ce
children 49cfb333a12a
line wrap: on
line diff
--- a/nt/xemacs.mak	Sat Mar 08 22:52:26 2003 +0000
+++ b/nt/xemacs.mak	Sun Mar 09 02:27:46 2003 +0000
@@ -86,6 +86,7 @@
 NT=$(SRCROOT)\nt
 SRC=$(SRCROOT)\src
 ETC=$(SRCROOT)\etc
+INFO=$(SRCROOT)\info
 
 BLDLIB_SRC=$(BLDROOT)\lib-src
 BLDNT=$(BLDROOT)\nt
@@ -355,7 +356,7 @@
 PATH_DEFINES=-DPATH_PREFIX=\"$(PATH_PREFIX)\"
 
 !if $(SEPARATE_BUILD)
-PATH_DEFINES=-DPATH_LOADSEARCH=\"$(LISP:\=\\)\" -DPATH_DATA=\"$(ETC:\=\\)\"
+PATH_DEFINES=$(PATH_DEFINES) -DPATH_LOADSEARCH=\"$(LISP:\=\\)\" -DPATH_DATA=\"$(ETC:\=\\)\" -DPATH_INFO=\"$(INFO:\=\\)\"
 !endif
 
 ########################### Determine system configuration.
@@ -1293,17 +1294,20 @@
 
 ########################### Build rules
 
-# use this rule to build the complete system
-all:	installation $(OUTDIR)\nul $(LASTFILE) \
-	$(LIB_SRC_TOOLS) update-elc $(DUMP_TARGET) \
-	update-elc-2 $(LISP)/finder-inf.el load-shadows info
+## Use this rule to build the complete system.  We need both update-elc
+## and update-elc-2 due to the sideways dependency of NEEDTODUMP.  See
+## src/Makefile.in.in for a more detailed discussion of this.
+
+all:	installation $(OUTDIR)\nul $(LIB_SRC_TOOLS) \
+	update-elc update-elc-2 \
+	$(LISP)/finder-inf.el load-shadows info
 
 $(TEMACS_BROWSE): $(TEMACS_OBJS)
 	@dir /b/s $(OUTDIR)\*.sbr > $(OUTDIR)\bscmake.tmp
 	bscmake -nologo -o$(TEMACS_BROWSE) @$(OUTDIR)\bscmake.tmp
 	-$(DEL) $(OUTDIR)\bscmake.tmp
 
-# dump-id.c file that contains the dump id
+## (1) Compile all dependencies of the XEmacs executable
 
 $(OUTDIR)\dump-id.obj : $(BLDSRC)\dump-id.c
 	$(CCV) $(TEMACS_CPP_FLAGS) $(BLDSRC)\$(@B).c -Fo$@ $(BROWSERFLAGS)
@@ -1316,6 +1320,8 @@
 	cd $(NT)
 	rc -Fo$@ xemacs.rc
 
+## (2) Link the XEmacs executable
+
 !if $(USE_PORTABLE_DUMPER)
 TEMACS_DUMP_DEP = $(OUTDIR)\dump-id.obj
 !else
@@ -1331,7 +1337,16 @@
 $(RAW_EXE): $(TEMACS_BROWSE)
 !endif
 
-# Rebuild docfile target
+## (3) Update the .elc's needed for dumping
+
+update-elc: $(RAW_EXE)
+	$(TEMACS_BATCH) -l $(LISP)\update-elc.el
+
+## This file is touched by update-elc.el when redumping is necessary.
+$(BLDSRC)\NEEDTODUMP:
+	@echo >$(BLDSRC)\NEEDTODUMP
+
+## (4) Build the DOC file
 
 DOC=$(BLDLIB_SRC)\DOC
 
@@ -1355,12 +1370,7 @@
 <<
 !endif
 
-update-elc: $(RAW_EXE)
-	$(TEMACS_BATCH) -l $(LISP)\update-elc.el
-
-## This file is touched by update-elc.el when redumping is necessary.
-$(BLDSRC)\NEEDTODUMP:
-	@echo >$(BLDSRC)\NEEDTODUMP
+## (5) Dump
 
 !if $(USE_PORTABLE_DUMPER)
 $(DUMP_TARGET): $(NT)\xemacs.rc
@@ -1382,11 +1392,14 @@
 	-$(DEL) $(BLDSRC)\xemacs.dmp
 !endif
 
-## Update out-of-date .elcs, other than needed for dumping.
-update-elc-2:
+## (6) Update the remaining .elc's, post-dumping
+
+update-elc-2: $(DUMP_TARGET)
 	$(XEMACS_BATCH) -no-autoloads -l update-elc-2.el -f batch-update-elc-2 $(LISP)
 
-$(LISP)/finder-inf.el:
+## (7) Other random stuff
+
+$(LISP)/finder-inf.el: update-elc-2
 !if !$(QUICK_BUILD)
 	@echo Building finder database ...
 	$(XEMACS_BATCH)	-eval "(setq finder-compile-keywords-quiet t)" \
@@ -1394,7 +1407,7 @@
 	@echo Building finder database ...(done)
 !endif
 
-load-shadows:
+load-shadows: update-elc-2
 !if !$(QUICK_BUILD)
 	@echo Testing for Lisp shadows ...
 	@$(XEMACS_BATCH) -f list-load-path-shadows