Merge from trunk
[bpt/emacs.git] / nt / makefile.w32-in
index 026b8ab..31ca314 100644 (file)
@@ -1,6 +1,5 @@
 # -*- Makefile -*- for GNU Emacs on the Microsoft W32 API.\r
-# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,\r
-#    2008 Free Software Foundation, Inc.\r
+# Copyright (C) 2000-2011 Free Software Foundation, Inc.\r
 #\r
 # Top level makefile for building GNU Emacs on Windows NT\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
+VERSION                = 24.0.50\r
+\r
+TMP_DIST_DIR   = emacs-$(VERSION)\r
+\r
 TRES           = $(BLD)/emacs.res\r
 CLIENTRES      = $(BLD)/emacsclient.res\r
 \r
@@ -36,7 +39,8 @@ ALL           = addpm ddeclient runemacs cmdproxy addsection preprep
 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
@@ -88,6 +92,8 @@ $(BLD)/addpm.$(O) $(BLD)/ddeclient.$(O) $(BLD)/runemacs.$(O) $(BLD)/cmdproxy.$(O
 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
@@ -99,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
@@ -153,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
@@ -168,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
@@ -180,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
@@ -196,12 +209,16 @@ $(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
+.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)/addpm.exe $(INSTALL_DIR)/bin\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
+       - $(CP) README.W32 $(INSTALL_DIR)\r
        - $(DEL) ../same-dir.tst\r
        - $(DEL) $(INSTALL_DIR)/same-dir.tst\r
        echo SameDirTest > "$(INSTALL_DIR)/same-dir.tst"\r
@@ -237,6 +254,26 @@ install-other-dirs-gmake:
        $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp install\r
        $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim install\r
 \r
+install-shortcuts:\r
+       "$(INSTALL_DIR)/bin/addpm" -q\r
+\r
+dist: install-bin\r
+       mkdir $(TMP_DIST_DIR)\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) "$(INSTALL_DIR)/INSTALL" $(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
+       $(CP_DIR) $(DIST_FILES) $(TMP_DIST_DIR)/bin\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
@@ -269,6 +306,8 @@ 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
@@ -286,6 +325,7 @@ clean-other-dirs-nmake:
        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 ../leim clean\r
@@ -295,6 +335,8 @@ clean-other-dirs-gmake:
        $(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
@@ -302,6 +344,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
@@ -322,10 +365,13 @@ top-distclean:
        - $(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
@@ -345,6 +391,7 @@ distclean-other-dirs-nmake:
        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
@@ -357,6 +404,8 @@ distclean-other-dirs-gmake:
 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
@@ -376,6 +425,7 @@ maintainer-clean-other-dirs-nmake:
        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
@@ -387,3 +437,17 @@ maintainer-clean-other-dirs-gmake:
 \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