-# -*- Makefile -*- for GNU Emacs on the Microsoft W32 API.
-# Copyright (C) 2000-2012 Free Software Foundation, Inc.
+# -*- Makefile -*- for GNU Emacs on the Microsoft Windows API.
+# Copyright (C) 2000-2014 Free Software Foundation, Inc.
#
# Top level makefile for building GNU Emacs on Windows NT
#
# FIXME: This file uses DOS EOLs. Convert to Unix after 22.1 is out
# (and remove or replace this comment).
-VERSION = 24.1.50
+VERSION = 24.4.50
TMP_DIST_DIR = emacs-$(VERSION)
TRES = $(BLD)/emacs.res
CLIENTRES = $(BLD)/emacsclient.res
-XMFLAGS =
-
-ALL = addpm ddeclient runemacs cmdproxy addsection preprep
+LOCAL_FLAGS = -DOLD_PATHS=1
-.PHONY: $(ALL)
+XMFLAGS =
+ALL = $(BLD)/addpm.exe $(BLD)/ddeclient.exe $(BLD)/runemacs.exe \
+ $(BLD)/cmdproxy.exe $(BLD)/addsection.exe $(BLD)/preprep.exe
-addpm: stamp_BLD $(BLD)/addpm.exe
$(BLD)/addpm.exe: $(BLD)/addpm.$(O)
$(LINK) $(LINK_OUT)$@ \
$(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) \
$(USER32) $(OLE32) $(UUID) $(SHELL32)
-ddeclient: stamp_BLD $(BLD)/ddeclient.exe
$(BLD)/ddeclient.exe: $(BLD)/ddeclient.$(O)
$(LINK) $(LINK_OUT)$@ \
$(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32)
-cmdproxy: stamp_BLD $(BLD)/cmdproxy.exe
$(BLD)/cmdproxy.exe: $(BLD)/cmdproxy.$(O)
$(LINK) $(LINK_OUT)$@ \
$(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(USER32)
-addsection: stamp_BLD $(BLD)/addsection.exe
$(BLD)/addsection.exe: $(BLD)/addsection.$(O)
$(LINK) $(LINK_OUT)$@ \
$(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(USER32)
-preprep: stamp_BLD $(BLD)/preprep.exe
$(BLD)/preprep.exe: $(BLD)/preprep.$(O)
$(LINK) $(LINK_OUT)$@ \
$(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS)
# The resource file. NT 3.10 requires the use of cvtres; even though
# it is not necessary on later versions, it is still ok to use it.
#
-$(TRES): emacs.rc icons/emacs.ico emacs.manifest stamp_BLD
+$(TRES): emacs.rc icons/emacs.ico $(EMACS_MANIFEST) stamp_BLD
$(RC) $(RC_OUT)$(TRES) emacs.rc
$(CLIENTRES): emacsclient.rc stamp_BLD
$(RC) $(RC_OUT)$(CLIENTRES) emacsclient.rc
-runemacs: stamp_BLD $(BLD)/runemacs.exe
$(BLD)/runemacs.exe: $(BLD)/runemacs.$(O) $(TRES)
$(LINK) $(LINK_OUT)$@ $(SUBSYSTEM_WINDOWS) \
$(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32)
all-other-dirs-$(MAKETYPE): maybe-bootstrap
-all-other-dirs-nmake: addsection
+all-other-dirs-nmake: $(BLD)/addsection.exe
cd ..\lib
$(MAKE) $(MFLAGS) all
cd ..\lib-src
$(MAKE) $(MFLAGS) all
cd ..\nt
-all-other-dirs-gmake: addsection
+all-other-dirs-gmake: $(BLD)/addsection.exe
$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib all
$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src all
$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src all
# Bootstrap depends on cmdproxy because some Lisp functions
# loaded during bootstrap may need to run shell commands.
-bootstrap: addsection cmdproxy bootstrap-$(MAKETYPE)
+bootstrap: $(BLD)/addsection.exe $(BLD)/cmdproxy.exe bootstrap-$(MAKETYPE)
$(MAKE) $(MFLAGS) $(XMFLAGS) all
-bootstrap-nmake: addsection cmdproxy
+bootstrap-nmake: $(BLD)/addsection.exe $(BLD)/cmdproxy.exe
cd ..\lisp
$(MAKE) $(MFLAGS) bootstrap-clean
cd ..\src
$(MAKE) $(MFLAGS) DOC
cd ..\nt
-bootstrap-gmake: addsection cmdproxy
+bootstrap-gmake: $(BLD)/addsection.exe $(BLD)/cmdproxy.exe
$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp bootstrap-clean
$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src clean
$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src clean
$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp install
$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim install
-install-shortcuts: $(INSTALL_DIR)/bin
+install-addpm: $(INSTALL_DIR)/bin $(BLD)/addpm.exe
- $(CP) $(BLD)/addpm.exe $(INSTALL_DIR)/bin
+
+install-shortcuts: install-addpm
"$(INSTALL_DIR)/bin/addpm" -q
maybe-copy-distfiles: maybe-copy-distfiles-$(SHELLTYPE)
# Also create bin directory for dist files.
mkdir "$(TMP_DIST_DIR)/bin"
-dist: install-bin maybe-copy-distfiles
+dist: install-bin install-addpm maybe-copy-distfiles
$(CP) "$(INSTALL_DIR)/BUGS" $(TMP_DIST_DIR)
$(CP) "$(INSTALL_DIR)/COPYING" $(TMP_DIST_DIR)
$(CP) "$(INSTALL_DIR)/README" $(TMP_DIST_DIR)
- $(DEL) $(COMPILER_TEMP_FILES)
- $(DEL_TREE) $(OBJDIR)
- $(DEL) stamp_BLD
- - $(DEL) ../etc/DOC ../etc/DOC-X
+ - $(DEL) ../etc/DOC
clean-other-dirs-nmake:
cd ..\lib
- $(DEL_TREE) oo
- $(DEL_TREE) oo-spd
- $(DEL) stamp_BLD
- - $(DEL) ../etc/DOC ../etc/DOC-X
+ - $(DEL) ../etc/DOC
- $(DEL) config.log Makefile
- $(DEL) ../README.W32