I have some problems with the build on native Windows:
1. "nmake /f xemacs.mak" tries to write $(OUTDIR)\vcversion.c before
it makes the directory $(OUTDIR).
2. If a directory exists is checked with
"if not exist $(OUTDIR)\nul"
but the the makefile does never touch a file nul, thus the tests do
not work.
This patch fixes it for me. Ben, do my changes break anything else
that I have not thought of? I'll commit as soon as I get your
approval.
nt/ChangeLog addition:
2005-11-08 Marcus Crestani <crestani(a)xemacs.org>
* xemacs.mak:
* xemacs.mak ($(OUTDIR)):
* xemacs.mak (all): Fix build output directory structure.
msvc-xemacs-21.5 source patch:
Diff command: cvs -q diff -u
Files affected: nt/xemacs.mak
Index: nt/xemacs.mak
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/nt/xemacs.mak,v
retrieving revision 1.117
diff -u -r1.117 xemacs.mak
--- nt/xemacs.mak 28 Oct 2005 05:42:07 -0000 1.117
+++ nt/xemacs.mak 8 Nov 2005 14:24:51 -0000
@@ -97,6 +97,8 @@
########################### Figure out current version of VC++.
+!if [if not exist $(OUTDIR) mkdir "$(OUTDIR)"]
+!endif
!if [echo MSC_VER=_MSC_VER > $(OUTDIR)\vcversion.c]
!endif
!if [cl /nologo /EP $(OUTDIR)\vcversion.c > $(OUTDIR)\vcversion.tmp]
@@ -936,7 +938,7 @@
# Whether to use dependency information generated by make-src-depend
#
!if $(DEPEND) && exist("$(SRC)\depend")
-! if [if not exist $(OUTDIR)\nul mkdir "$(OUTDIR)"]
+! if [if not exist $(OUTDIR) mkdir "$(OUTDIR)"]
! endif
# This perl script used to be inline but that caused too many quoting problems
! if [perl $(NT)\make-nt-depend -s=$(SRC) -c=$(NT) -o=$(OUTDIR) < $(SRC)\depend >
$(OUTDIR)\depend.tmp]
@@ -953,18 +955,18 @@
!if $(SEPARATE_BUILD)
# #### `if not exist' does not like the quotes around file names.
# But what if one of them has spaces? Fucking Microsoft!
-! if [if not exist $(BLDROOT)\nul mkdir "$(BLDROOT)"]
+! if [if not exist $(BLDROOT) mkdir "$(BLDROOT)"]
! endif
-! if [if not exist $(BLDLIB_SRC)\nul mkdir "$(BLDLIB_SRC)"]
+! if [if not exist $(BLDLIB_SRC) mkdir "$(BLDLIB_SRC)"]
! endif
-! if [if not exist $(BLDNT)\nul mkdir "$(BLDNT)"]
+! if [if not exist $(BLDNT) mkdir "$(BLDNT)"]
! endif
-! if [if not exist $(OUTDIR)\nul mkdir "$(OUTDIR)"]
+! if [if not exist $(OUTDIR) mkdir "$(OUTDIR)"]
! endif
-! if [if not exist $(BLDSRC)\nul mkdir "$(BLDSRC)"]
+! if [if not exist $(BLDSRC) mkdir "$(BLDSRC)"]
! endif
# No point.
-# ! if [if not exist "$(BLDROOT)\nul" mkdir "$(BLDROOT)"]
+# ! if [if not exist "$(BLDROOT)" mkdir "$(BLDROOT)"]
# ! endif
!endif
@@ -987,7 +989,7 @@
###################### Generated source files
-$(OUTDIR)\nul:
+$(OUTDIR):
-@mkdir $(OUTDIR)
XEMACS_INCLUDES=\
@@ -1310,7 +1312,7 @@
## 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) \
+all: installation $(OUTDIR) $(LIB_SRC_TOOLS) \
update-elc update-elc-2 \
$(LISP)/finder-inf.el load-shadows info
--
Marcus