Promote SSDATA macro from gtkutil.c and xsmfns.c to lisp.h.
[bpt/emacs.git] / src / makefile.w32-in
index e8d0872..9d0f7df 100644 (file)
@@ -1,6 +1,6 @@
 # -*- 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.
+#   2008, 2009, 2010, 2011  Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
 
@@ -37,7 +37,7 @@ 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)
@@ -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,27 @@ 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)     \
        $(WINMM)        \
        $(ADVAPI32)     \
        $(GDI32)        \
        $(COMDLG32)     \
        $(USER32)       \
-       $(MPR)  \
+       $(MPR)          \
        $(SHELL32)      \
        $(WINSPOOL)     \
        $(OLE32)        \
@@ -165,7 +165,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,7 +174,7 @@ $(EMACS):       $(DOC) $(TEMACS)
 # (it is the preload heap size in MB).
 #
 temacs:         stamp_BLD $(TEMACS)
-$(TEMACS):      $(TLIB0) $(TLIB1) $(TLIBW32) $(TLASTLIB) $(TOBJ) $(TRES) \
+$(TEMACS):      $(TLIB0) $(TLIB1) $(TLIB2) $(TLASTLIB) $(TOBJ) $(TRES) \
                  ../nt/$(BLD)/addsection.exe
        $(LINK) $(LINK_OUT)$(TEMACS_TMP) $(FULL_LINK_FLAGS) $(TOBJ) $(TRES) $(LIBS)
        "../nt/$(BLD)/addsection" "$(TEMACS_TMP)" "$(TEMACS)" EMHEAP 21
@@ -190,16 +190,14 @@ 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
 
 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 +247,7 @@ $(TLIB0):       $(OBJ0)
 $(TLIB1):       $(OBJ1)
        - $(DEL) $@
        $(AR) $(AR_OUT)$@ $(ALL_DEPS)
-$(TLIBW32):    $(WIN32OBJ) $(FONTOBJ)
+$(TLIB2):      $(OBJ2)
        - $(DEL) $@
        $(AR) $(AR_OUT)$@ $(ALL_DEPS)
 
@@ -293,6 +291,52 @@ cleanall:  clean
        - $(DEL_TREE) oo
        - $(DEL_TREE) oo-spd
 
+## Arrange to make a tags table TAGS-LISP for ../lisp,
+## plus TAGS for the C files, which includes ../lisp/TAGS by reference.
+##
+## This works only with GNU Make.
+
+TAGS: $(OBJ0) $(OBJ1) $(OBJ2)
+       $(MAKE) $(MFLAGS) TAGS-$(MAKETYPE)
+
+TAGS-LISP: $(OBJ0) $(OBJ1) $(OBJ2)
+       $(MAKE) $(MFLAGS) TAGS-LISP-$(MAKETYPE)
+
+TAGS-gmake:
+       ../lib-src/$(BLD)/etags.exe --include=TAGS-LISP --include=../nt/TAGS \
+         --regex=@../nt/emacs-src.tags \
+         $(patsubst $(BLD)%.$(O),$(CURDIR)%.c,$(OBJ0))
+       ../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,$(OBJ2)) \
+         $(CURDIR)/*.h
+
+TAGS-nmake:
+       echo This target is not supported with NMake
+       exit -1
+
+frc:
+TAGS-LISP-gmake: frc
+       $(MAKE) $(MFLAGS) -C ../lisp TAGS-LISP DEST=../src
+
+TAGS-LISP-nmake:
+       echo This target is not supported with NMake
+       exit -1
+
+../nt/TAGS: frc
+       $(MAKE) $(MFLAGS) nt-TAGS-$(MAKETYPE)
+
+nt-TAGS-gmake:
+       $(MAKE) $(MFLAGS) -C ../nt TAGS
+
+nt-TAGS-nmake:
+       echo This target is not supported with NMake
+       exit -1
+
+full-tags: TAGS TAGS-LISP ../nt/TAGS
+.PHONY: full-tags
+
 ### DEPENDENCIES ###
 
 EMACS_ROOT = ..
@@ -965,6 +1009,7 @@ $(BLD)/keyboard.$(O) : \
        $(SRC)/keyboard.h \
        $(SRC)/keymap.h \
        $(SRC)/macros.h \
+       $(SRC)/process.h \
        $(SRC)/puresize.h \
        $(SRC)/syntax.h \
        $(SRC)/syssignal.h \
@@ -1343,7 +1388,6 @@ $(BLD)/sysdep.$(O) : \
        $(EMACS_ROOT)/nt/inc/pwd.h \
        $(EMACS_ROOT)/nt/inc/unistd.h \
        $(EMACS_ROOT)/nt/inc/sys/file.h \
-       $(EMACS_ROOT)/nt/inc/sys/ioctl.h \
        $(EMACS_ROOT)/nt/inc/sys/socket.h \
        $(EMACS_ROOT)/nt/inc/sys/time.h \
        $(SRC)/lisp.h \
@@ -1356,6 +1400,7 @@ $(BLD)/sysdep.$(O) : \
        $(SRC)/frame.h \
        $(SRC)/keyboard.h \
        $(SRC)/process.h \
+       $(SRC)/sysselect.h \
        $(SRC)/syssignal.h \
        $(SRC)/systime.h \
        $(SRC)/systty.h \
@@ -1505,6 +1550,7 @@ $(BLD)/xdisp.$(O) : \
        $(SRC)/systime.h \
        $(SRC)/termchar.h \
        $(SRC)/termhooks.h \
+       $(SRC)/termopts.h \
        $(SRC)/w32gui.h \
        $(SRC)/w32term.h \
        $(SRC)/window.h
@@ -1703,4 +1749,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