Fix the MS-Windows build broken by 2011-01-17T19:01:01Z!eggert@cs.ucla.edu and emacs...
[bpt/emacs.git] / src / makefile.w32-in
index 4d30bac..ad21419 100644 (file)
@@ -1,6 +1,5 @@
 # -*- Makefile -*- for GNU Emacs on the Microsoft W32 API.
-# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
-#   2008, 2009, 2010  Free Software Foundation, Inc.
+# Copyright (C) 2000-2011  Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
 
@@ -29,7 +28,7 @@ EMACSLOADPATH=$(CURDIR)/../lisp
 # HAVE_CONFIG_H is required by some generic gnu sources stuck into
 # the emacs source tree.
 #
-LOCAL_FLAGS     = -Demacs=1 -DHAVE_CONFIG_H -I../nt/inc -DHAVE_NTGUI=1 $(EMACS_EXTRA_C_FLAGS)
+LOCAL_FLAGS     = -Demacs=1 -DHAVE_CONFIG_H -I../lib -I../nt/inc -DHAVE_NTGUI=1 $(EMACS_EXTRA_C_FLAGS)
 
 SRC             = .
 EMACS           = $(BLD)/emacs.exe
@@ -37,10 +36,11 @@ TEMACS          = $(BLD)/temacs.exe
 TEMACS_TMP      = $(BLD)/temacs.bin
 TLIB0           = $(BLD)/temacs0.$(A)
 TLIB1           = $(BLD)/temacs1.$(A)
-TLIBW32         = $(BLD)/temacw32.$(A)
+TLIB2           = $(BLD)/temacs2.$(A)
 TOBJ            = $(BLD)/firstfile.$(O)
 TRES           = $(BLD)/emacs.res
 TLASTLIB       = $(BLD)/lastfile.$(A)
+GNULIB         = ../lib/$(BLD)/libgnu.$(A)
 
 DOC            = $(OBJDIR)/etc/DOC-X
 
@@ -94,8 +94,9 @@ OBJ1 =  $(BLD)/alloc.$(O)             \
        $(BLD)/scroll.$(O)              \
        $(BLD)/search.$(O)              \
        $(BLD)/sound.$(O)               \
-       $(BLD)/syntax.$(O)              \
-       $(BLD)/sysdep.$(O)              \
+       $(BLD)/syntax.$(O)
+
+OBJ2 =  $(BLD)/sysdep.$(O)             \
        $(BLD)/term.$(O)                \
        $(BLD)/tparam.$(O)              \
        $(BLD)/undo.$(O)                \
@@ -125,28 +126,28 @@ OBJ1 =  $(BLD)/alloc.$(O)         \
        $(BLD)/fringe.$(O)              \
        $(BLD)/image.$(O)               \
        $(BLD)/terminal.$(O)            \
-        $(BLD)/menu.$(O)
-
-WIN32OBJ = $(BLD)/w32term.$(O)         \
-          $(BLD)/w32xfns.$(O)          \
-          $(BLD)/w32fns.$(O)           \
-          $(BLD)/xfaces.$(O)           \
-          $(BLD)/w32select.$(O)        \
-          $(BLD)/w32menu.$(O)          \
-          $(BLD)/w32reg.$(O)
-
-FONTOBJ = $(BLD)/w32font.$(O) $(BLD)/w32uniscribe.$(O)
+       $(BLD)/menu.$(O)                \
+       $(BLD)/w32term.$(O)             \
+       $(BLD)/w32xfns.$(O)             \
+       $(BLD)/w32fns.$(O)              \
+       $(BLD)/xfaces.$(O)              \
+       $(BLD)/w32select.$(O)           \
+       $(BLD)/w32menu.$(O)             \
+       $(BLD)/w32reg.$(O)              \
+       $(BLD)/w32font.$(O)             \
+       $(BLD)/w32uniscribe.$(O)
 
 LIBS =  $(TLIB0)       \
        $(TLIB1)        \
-       $(TLIBW32)      \
+       $(TLIB2)        \
        $(TLASTLIB)     \
+       $(GNULIB)       \
        $(WINMM)        \
        $(ADVAPI32)     \
        $(GDI32)        \
        $(COMDLG32)     \
        $(USER32)       \
-       $(MPR)  \
+       $(MPR)          \
        $(SHELL32)      \
        $(WINSPOOL)     \
        $(OLE32)        \
@@ -165,7 +166,7 @@ all:            $(ALL)
 emacs:          stamp_BLD $(EMACS)
 $(EMACS):       $(DOC) $(TEMACS)
        "$(THISDIR)/$(BLD)/temacs.exe" -batch -l loadup dump
-       -"$(THISDIR)/$(BLD)/emacs.exe" -q -batch -f list-load-path-shadows
+       -"$(THISDIR)/$(BLD)/emacs.exe" -batch -f list-load-path-shadows
 
 #
 # The undumped executable
@@ -174,8 +175,8 @@ $(EMACS):       $(DOC) $(TEMACS)
 # (it is the preload heap size in MB).
 #
 temacs:         stamp_BLD $(TEMACS)
-$(TEMACS):      $(TLIB0) $(TLIB1) $(TLIBW32) $(TLASTLIB) $(TOBJ) $(TRES) \
-                 ../nt/$(BLD)/addsection.exe
+$(TEMACS):      $(TLIB0) $(TLIB1) $(TLIB2) $(TLASTLIB) $(TOBJ) $(TRES) \
+                 ../nt/$(BLD)/addsection.exe $(GNULIB)
        $(LINK) $(LINK_OUT)$(TEMACS_TMP) $(FULL_LINK_FLAGS) $(TOBJ) $(TRES) $(LIBS)
        "../nt/$(BLD)/addsection" "$(TEMACS_TMP)" "$(TEMACS)" EMHEAP 21
 
@@ -190,16 +191,17 @@ make-buildobj-CMD:
        echo #define BUILDOBJ ^"\> buildobj.h
        echo $(OBJ0)            \>> buildobj.h
        echo $(OBJ1)            \>> buildobj.h
-       echo $(WIN32OBJ)        \>> buildobj.h
-       echo $(FONTOBJ)         \>> buildobj.h
+       echo $(OBJ2)            \>> buildobj.h
        echo ^">> buildobj.h
 
+# "
+# The above line is here to countermand the single quote
+# on the last "echo" command above, wrt font-lock.
 make-buildobj-SH:
        echo '#define BUILDOBJ $(DQUOTE)\'  > buildobj.h
        echo $(OBJ0)                   '\' >> buildobj.h
        echo $(OBJ1)                   '\' >> buildobj.h
-       echo $(WIN32OBJ)               '\' >> buildobj.h
-       echo $(FONTOBJ)                '\' >> buildobj.h
+       echo $(OBJ2)                   '\' >> buildobj.h
        echo '$(DQUOTE)'                   >> buildobj.h
 
 bootstrap: bootstrap-emacs
@@ -249,7 +251,7 @@ $(TLIB0):       $(OBJ0)
 $(TLIB1):       $(OBJ1)
        - $(DEL) $@
        $(AR) $(AR_OUT)$@ $(ALL_DEPS)
-$(TLIBW32):    $(WIN32OBJ) $(FONTOBJ)
+$(TLIB2):      $(OBJ2)
        - $(DEL) $@
        $(AR) $(AR_OUT)$@ $(ALL_DEPS)
 
@@ -298,10 +300,10 @@ cleanall: clean
 ##
 ## This works only with GNU Make.
 
-TAGS: $(OBJ0) $(OBJ1) $(WIN32OBJ) $(FONTOBJ)
+TAGS: $(OBJ0) $(OBJ1) $(OBJ2)
        $(MAKE) $(MFLAGS) TAGS-$(MAKETYPE)
 
-TAGS-LISP: $(OBJ0) $(OBJ1) $(WIN32OBJ) $(FONTOBJ)
+TAGS-LISP: $(OBJ0) $(OBJ1) $(OBJ2)
        $(MAKE) $(MFLAGS) TAGS-LISP-$(MAKETYPE)
 
 TAGS-gmake:
@@ -311,8 +313,7 @@ TAGS-gmake:
        ../lib-src/$(BLD)/etags.exe -a --regex=@../nt/emacs-src.tags \
          $(patsubst $(BLD)%.$(O),$(CURDIR)%.c,$(OBJ1))
        ../lib-src/$(BLD)/etags.exe -a --regex=@../nt/emacs-src.tags \
-         $(patsubst $(BLD)%.$(O),$(CURDIR)%.c,$(WIN32OBJ)) \
-         $(patsubst $(BLD)%.$(O),$(CURDIR)%.c,$(FONTOBJ)) \
+         $(patsubst $(BLD)%.$(O),$(CURDIR)%.c,$(OBJ2)) \
          $(CURDIR)/*.h
 
 TAGS-nmake:
@@ -1752,4 +1753,4 @@ $(BLD)/w32uniscribe.$(O) : \
 # Each object file depends on stamp_BLD, because in parallel builds we must
 # make sure $(BLD) exists before starting compilations.
 #
-$(OBJ0) $(OBJ1) $(WIN32OBJ) $(FONTOBJ) $(BLD)/lastfile.$(O) $(BLD)/firstfile.$(O): stamp_BLD
+$(OBJ0) $(OBJ1) $(OBJ2) $(BLD)/lastfile.$(O) $(BLD)/firstfile.$(O): stamp_BLD