Bump version to 24.0.97.
[bpt/emacs.git] / nt / makefile.w32-in
index a792889..fa110d1 100644 (file)
@@ -1,41 +1,46 @@
-#  -*- Makefile -*- for GNU Emacs on the Microsoft W32 API.\r
-#  Copyright (C) 2000, 2001, 2002, 2003, 2004,\r
-#    2005, 2006, 2007 Free Software Foundation, Inc.\r
+# -*- Makefile -*- for GNU Emacs on the Microsoft W32 API.\r
+# Copyright (C) 2000-2012 Free Software Foundation, Inc.\r
 #\r
-#  Top level makefile for building GNU Emacs on Windows NT\r
+# Top level makefile for building GNU Emacs on Windows NT\r
 #\r
-#  This file is part of GNU Emacs.\r
-#\r
-#  GNU Emacs is free software; you can redistribute it and/or modify\r
-#  it under the terms of the GNU General Public License as published by\r
-#  the Free Software Foundation; either version 3, or (at your option)\r
-#  any later version.\r
-#\r
-#  GNU Emacs is distributed in the hope that it will be useful,\r
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
-#  GNU General Public License for more details.\r
-#\r
-#  You should have received a copy of the GNU General Public License\r
-#  along with GNU Emacs; see the file COPYING.  If not, write to\r
-#  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\r
-#  Boston, MA 02110-1301, USA.\r
+# This file is part of GNU Emacs.\r
+\r
+# GNU Emacs is free software: you can redistribute it and/or modify\r
+# it under the terms of the GNU General Public License as published by\r
+# the Free Software Foundation, either version 3 of the License, or\r
+# (at your option) any later version.\r
+\r
+# GNU Emacs is distributed in the hope that it will be useful,\r
+# but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+# GNU General Public License for more details.\r
+\r
+# You should have received a copy of the GNU General Public License\r
+# along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.\r
+\r
 \r
 # FIXME: This file uses DOS EOLs.  Convert to Unix after 22.1 is out\r
 #        (and remove or replace this comment).\r
 \r
-ALL            = addpm ddeclient runemacs cmdproxy addsection preprep\r
+VERSION                = 24.0.97\r
 \r
-.PHONY: $(ALL)\r
+TMP_DIST_DIR   = emacs-$(VERSION)\r
 \r
 TRES           = $(BLD)/emacs.res\r
+CLIENTRES      = $(BLD)/emacsclient.res\r
 \r
 XMFLAGS                =\r
 \r
+ALL            = addpm ddeclient runemacs cmdproxy addsection preprep\r
+\r
+.PHONY: $(ALL)\r
+\r
+\r
 addpm:           stamp_BLD $(BLD)/addpm.exe\r
 $(BLD)/addpm.exe: $(BLD)/addpm.$(O)\r
                  $(LINK) $(LINK_OUT)$@ \\r
-                 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32)\r
+                 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) \\r
+                 $(USER32) $(OLE32) $(UUID) $(SHELL32)\r
 \r
 ddeclient:       stamp_BLD $(BLD)/ddeclient.exe\r
 $(BLD)/ddeclient.exe: $(BLD)/ddeclient.$(O)\r
@@ -61,8 +66,11 @@ $(BLD)/preprep.exe: $(BLD)/preprep.$(O)
 # The resource file.  NT 3.10 requires the use of cvtres; even though\r
 # it is not necessary on later versions, it is still ok to use it.\r
 #\r
-$(TRES):       emacs.rc stamp_BLD\r
-               $(RC) $(RC_OUT)$(BLD)/emacs.res emacs.rc\r
+$(TRES):       emacs.rc icons/emacs.ico emacs.manifest stamp_BLD\r
+               $(RC) $(RC_OUT)$(TRES) emacs.rc\r
+\r
+$(CLIENTRES):  emacsclient.rc stamp_BLD\r
+               $(RC) $(RC_OUT)$(CLIENTRES) emacsclient.rc\r
 \r
 runemacs:        stamp_BLD $(BLD)/runemacs.exe\r
 $(BLD)/runemacs.exe: $(BLD)/runemacs.$(O) $(TRES)\r
@@ -81,9 +89,11 @@ $(BLD)/addpm.$(O) $(BLD)/ddeclient.$(O) $(BLD)/runemacs.$(O) $(BLD)/cmdproxy.$(O
 #\r
 # Build emacs\r
 #\r
-all:   which-sh stamp_BLD $(ALL) maybe-bootstrap all-other-dirs-$(MAKETYPE)\r
+all:   which-sh stamp_BLD $(ALL) $(CLIENTRES) maybe-bootstrap all-other-dirs-$(MAKETYPE)\r
 \r
 all-other-dirs-nmake: addsection\r
+       cd ..\lib\r
+       $(MAKE) $(MFLAGS) all\r
        cd ..\lib-src\r
        $(MAKE) $(MFLAGS) all\r
        cd ..\src\r
@@ -95,6 +105,7 @@ all-other-dirs-nmake: addsection
        cd ..\nt\r
 \r
 all-other-dirs-gmake: addsection\r
+       $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib all\r
        $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src all\r
        $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src all\r
        $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp all\r
@@ -149,7 +160,9 @@ bootstrap-nmake: addsection cmdproxy
        cd ..\src\r
        $(MAKE) $(MFLAGS) clean\r
        cd ..\lib-src\r
-       $(MAKE) $(MFLAGS) clean\r
+       $(MAKE) $(MFLAGS) clean make-docfile\r
+       cd ..\lib\r
+       $(MAKE) $(MFLAGS) clean all\r
        cd ..\src\r
        $(MAKE) $(MFLAGS) bootstrap\r
        $(MAKE) $(MFLAGS) bootstrap-clean\r
@@ -164,7 +177,8 @@ bootstrap-nmake: addsection cmdproxy
 bootstrap-gmake: addsection cmdproxy\r
        $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp bootstrap-clean\r
        $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src clean\r
-       $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src clean\r
+       $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src clean make-docfile\r
+       $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib clean all\r
        $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src bootstrap\r
        $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src bootstrap-clean\r
        $(CP) $(BLD)/cmdproxy.exe ../bin\r
@@ -176,11 +190,14 @@ bootstrap-clean: bootstrap-clean-$(MAKETYPE)
 bootstrap-clean-nmake:\r
        cd ..\src\r
        $(MAKE) $(MFLAGS) bootstrap-clean\r
+       cd ..\lib\r
+       $(MAKE) $(MFLAGS) clean\r
        cd ..\lisp\r
        $(MAKE) $(MFLAGS) bootstrap-clean\r
 \r
 bootstrap-clean-gmake:\r
        $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src bootstrap-clean\r
+       $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib clean\r
        $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp bootstrap-clean\r
 \r
 $(INSTALL_DIR):\r
@@ -192,15 +209,18 @@ $(INSTALL_DIR)/bin: $(INSTALL_DIR)
 #\r
 # Build and install emacs in INSTALL_DIR\r
 #\r
-install: all $(INSTALL_DIR)/bin install-other-dirs-$(MAKETYPE)\r
-       - $(CP) $(BLD)/addpm.exe $(INSTALL_DIR)/bin\r
+.PHONY: install-bin install-shortcuts\r
+\r
+install: install-bin install-shortcuts\r
+\r
+install-bin: all $(INSTALL_DIR)/bin install-other-dirs-$(MAKETYPE)\r
        - $(CP) $(BLD)/ddeclient.exe $(INSTALL_DIR)/bin\r
        - $(CP) $(BLD)/cmdproxy.exe $(INSTALL_DIR)/bin\r
        - $(CP) $(BLD)/runemacs.exe $(INSTALL_DIR)/bin\r
-       - "$(INSTALL_DIR)/bin/addpm" -q\r
-       - $(DEL) ../same-dir.tst\r
-       - $(DEL) $(INSTALL_DIR)/same-dir.tst\r
-       echo SameDirTest > "$(INSTALL_DIR)/same-dir.tst"\r
+       - $(CP) README.W32 $(INSTALL_DIR)\r
+       - $(DEL) ../$(DIRNAME)_same-dir.tst\r
+       - $(DEL) $(INSTALL_DIR)/$(DIRNAME)_same-dir.tst\r
+       echo SameDirTest > "$(INSTALL_DIR)/$(DIRNAME)_same-dir.tst"\r
        - mkdir "$(INSTALL_DIR)/etc"\r
        - mkdir "$(INSTALL_DIR)/info"\r
        - mkdir "$(INSTALL_DIR)/lock"\r
@@ -213,10 +233,10 @@ install: all $(INSTALL_DIR)/bin install-other-dirs-$(MAKETYPE)
        $(IFNOTSAMEDIR) $(CP_DIR) ../info $(INSTALL_DIR) $(ENDIF)\r
        $(IFNOTSAMEDIR) $(CP) ../COPYING $(INSTALL_DIR) $(ENDIF)\r
        - $(CP) ../COPYING $(INSTALL_DIR)/bin\r
-       - $(DEL) ../same-dir.tst\r
-       - $(DEL) $(INSTALL_DIR)/same-dir.tst\r
+       - $(DEL) ../$(DIRNAME)_same-dir.tst\r
+       - $(DEL) $(INSTALL_DIR)/$(DIRNAME)_same-dir.tst\r
 \r
-install-other-dirs-nmake:\r
+install-other-dirs-nmake: all\r
        cd ..\lib-src\r
        $(MAKE) $(MFLAGS) install\r
        cd ..\src\r
@@ -227,12 +247,45 @@ install-other-dirs-nmake:
        $(MAKE) $(MFLAGS) install\r
        cd ..\nt\r
 \r
-install-other-dirs-gmake:\r
+install-other-dirs-gmake: all\r
        $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src install\r
        $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src install\r
        $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp install\r
        $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim install\r
 \r
+install-shortcuts: $(INSTALL_DIR)/bin\r
+       - $(CP) $(BLD)/addpm.exe $(INSTALL_DIR)/bin\r
+       "$(INSTALL_DIR)/bin/addpm" -q\r
+\r
+maybe-copy-distfiles: maybe-copy-distfiles-$(SHELLTYPE)\r
+\r
+maybe-copy-distfiles-CMD: create-tmp-dist-dir doit\r
+       @if not $(ARGQUOTE)$(DIST_FILES)$(ARGQUOTE) == "" $(CP_DIR) $(DIST_FILES) $(TMP_DIST_DIR)/bin\r
+\r
+maybe-copy-distfiles-SH: create-tmp-dist-dir doit\r
+       @if [ ! $(ARGQUOTE)$(DIST_FILES)$(ARGQUOTE) == "" ] ; then \\r
+         $(CP_DIR) $(DIST_FILES) $(TMP_DIST_DIR)/bin ; \\r
+       fi\r
+\r
+create-tmp-dist-dir:\r
+       mkdir "$(TMP_DIST_DIR)"\r
+# Also create bin directory for dist files.\r
+       mkdir "$(TMP_DIST_DIR)/bin"\r
+\r
+dist: install-bin maybe-copy-distfiles\r
+       $(CP) "$(INSTALL_DIR)/BUGS" $(TMP_DIST_DIR)\r
+       $(CP) "$(INSTALL_DIR)/COPYING" $(TMP_DIST_DIR)\r
+       $(CP) "$(INSTALL_DIR)/README" $(TMP_DIST_DIR)\r
+       $(CP) "$(INSTALL_DIR)/README.W32" $(TMP_DIST_DIR)\r
+       $(CP_DIR) "$(INSTALL_DIR)/bin" $(TMP_DIST_DIR)\r
+       $(CP_DIR) "$(INSTALL_DIR)/etc" $(TMP_DIST_DIR)\r
+       $(CP_DIR) "$(INSTALL_DIR)/info" $(TMP_DIST_DIR)\r
+       $(CP_DIR) "$(INSTALL_DIR)/lisp" $(TMP_DIST_DIR)\r
+       $(CP_DIR) "$(INSTALL_DIR)/leim" $(TMP_DIST_DIR)\r
+       $(CP_DIR) "$(INSTALL_DIR)/site-lisp" $(TMP_DIST_DIR)\r
+       $(COMSPEC)$(ComSpec) /c $(ARGQUOTE)zipdist.bat $(VERSION)$(ARGQUOTE)\r
+       $(DEL_TREE) $(TMP_DIST_DIR)\r
+\r
 force-info:\r
 # Note that doc/emacs/makefile knows how to\r
 # put the info files in $(infodir),\r
@@ -265,31 +318,37 @@ clean:    clean-other-dirs-$(MAKETYPE)
        - $(DEL) ../etc/DOC ../etc/DOC-X\r
 \r
 clean-other-dirs-nmake:\r
+       cd ..\lib\r
+       $(MAKE) $(MFLAGS) clean\r
        cd ..\lib-src\r
        $(MAKE) $(MFLAGS) clean\r
        cd ..\src\r
        $(MAKE) $(MFLAGS) clean\r
-       cd ..\lisp\r
-       $(MAKE) $(MFLAGS) clean\r
        cd ..\doc\lispintro\r
        $(MAKE) $(MFLAGS) clean\r
-       cd ..\doc\lispref\r
+       cd ..\lispref\r
        $(MAKE) $(MFLAGS) clean\r
-       cd ..\leim\r
+       cd ..\..\leim\r
        $(MAKE) $(MFLAGS) clean\r
        cd ..\doc\emacs\r
        $(MAKE) $(MFLAGS) clean\r
-       cd ..\doc\misc\r
+       cd ..\misc\r
        $(MAKE) $(MFLAGS) clean\r
-       cd ..\nt\r
+       cd ..\..\nt\r
 \r
 clean-other-dirs-gmake:\r
+       $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib clean\r
        $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src clean\r
        $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src clean\r
-       $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp clean\r
        $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim clean\r
+       $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/emacs clean\r
+       $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/misc clean\r
+       $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispintro clean\r
+       $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispref clean\r
 \r
 cleanall-other-dirs-nmake:\r
+       cd ..\lib\r
+       $(MAKE) $(MFLAGS) cleanall\r
        cd ..\lib-src\r
        $(MAKE) $(MFLAGS) cleanall\r
        cd ..\src\r
@@ -297,6 +356,7 @@ cleanall-other-dirs-nmake:
        cd ..\nt\r
 \r
 cleanall-other-dirs-gmake:\r
+       $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib cleanall\r
        $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src cleanall\r
        $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src cleanall\r
 \r
@@ -308,5 +368,98 @@ cleanall: clean cleanall-other-dirs-$(MAKETYPE)
         - $(DEL_TREE) oo\r
         - $(DEL_TREE) oo-spd\r
 \r
+top-distclean:\r
+       - $(DEL) $(COMPILER_TEMP_FILES)\r
+       - $(DEL_TREE) obj\r
+       - $(DEL_TREE) obj-spd\r
+       - $(DEL_TREE) oo\r
+       - $(DEL_TREE) oo-spd\r
+       - $(DEL) stamp_BLD\r
+       - $(DEL) ../etc/DOC ../etc/DOC-X\r
+       - $(DEL) config.log Makefile\r
+       - $(DEL) ../README.W32\r
+\r
+distclean: distclean-other-dirs-$(MAKETYPE) top-distclean\r
+\r
+distclean-other-dirs-nmake:\r
+       cd ..\lib\r
+       $(MAKE) $(MFLAGS) distclean\r
+       cd ..\lib-src\r
+       $(MAKE) $(MFLAGS) distclean\r
+       cd ..\src\r
+       $(MAKE) $(MFLAGS) distclean\r
+       cd ..\lisp\r
+       $(MAKE) $(MFLAGS) distclean\r
+       cd ..\leim\r
+       $(MAKE) $(MFLAGS) distclean\r
+       cd ..\doc\emacs\r
+       $(MAKE) $(MFLAGS) distclean\r
+       cd ..\misc\r
+       $(MAKE) $(MFLAGS) distclean\r
+       cd ..\lispintro\r
+       $(MAKE) $(MFLAGS) distclean\r
+       cd ..\lispref\r
+       $(MAKE) $(MFLAGS) distclean\r
+       cd ..\..\nt\r
+\r
+distclean-other-dirs-gmake:\r
+       $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib distclean\r
+       $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src distclean\r
+       $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src distclean\r
+       $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp distclean\r
+       $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim distclean\r
+       $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/emacs distclean\r
+       $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/misc distclean\r
+       $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispintro distclean\r
+       $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispref distclean\r
+\r
+maintainer-clean: maintainer-clean-other-dirs-$(MAKETYPE) top-distclean\r
+\r
+maintainer-clean-other-dirs-nmake:\r
+       cd ..\lib\r
+       $(MAKE) $(MFLAGS) maintainer-clean\r
+       cd ..\lib-src\r
+       $(MAKE) $(MFLAGS) maintainer-clean\r
+       cd ..\src\r
+       $(MAKE) $(MFLAGS) maintainer-clean\r
+       cd ..\lisp\r
+       $(MAKE) $(MFLAGS) maintainer-clean\r
+       cd ..\leim\r
+       $(MAKE) $(MFLAGS) maintainer-clean\r
+       cd ..\doc\emacs\r
+       $(MAKE) $(MFLAGS) maintainer-clean\r
+       cd ..\misc\r
+       $(MAKE) $(MFLAGS) maintainer-clean\r
+       cd ..\lispintro\r
+       $(MAKE) $(MFLAGS) maintainer-clean\r
+       cd ..\lispref\r
+       $(MAKE) $(MFLAGS) maintainer-clean\r
+       cd ..\..\nt\r
+\r
+maintainer-clean-other-dirs-gmake:\r
+       $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib maintainer-clean\r
+       $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src maintainer-clean\r
+       $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src maintainer-clean\r
+       $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp maintainer-clean\r
+       $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim maintainer-clean\r
+       $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/emacs maintainer-clean\r
+       $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/misc maintainer-clean\r
+       $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispintro maintainer-clean\r
+       $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispref maintainer-clean\r
+\r
 realclean: cleanall\r
        - $(DEL_TREE) ../bin\r
+\r
+TAGS: TAGS-$(MAKETYPE)\r
+\r
+frc:\r
+TAGS-gmake: frc\r
+       ../lib-src/$(BLD)/etags $(CURDIR)/*.c\r
+       $(MAKE) $(MFLAGS) -C ../src TAGS TAGS-LISP\r
+       $(MAKE) $(MFLAGS) -C ../lib-src TAGS\r
+       $(MAKE) $(MFLAGS) -C ../lib TAGS\r
+\r
+TAGS-nmake:\r
+       echo This target is not supported with NMake\r
+\r
+.PHONY: frc\r