# -*- 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-2012 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.97\r
+\r
+TMP_DIST_DIR = emacs-$(VERSION)\r
+\r
TRES = $(BLD)/emacs.res\r
CLIENTRES = $(BLD)/emacsclient.res\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
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
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
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
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
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
#\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
$(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
$(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
- $(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 ..\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 ../leim 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
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
- $(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 ..\doc\emacs\r
$(MAKE) $(MFLAGS) distclean\r
- cd ..\doc\misc\r
+ cd ..\misc\r
$(MAKE) $(MFLAGS) distclean\r
- cd ..\doc\lispintro\r
+ cd ..\lispintro\r
$(MAKE) $(MFLAGS) distclean\r
- cd ..\doc\lispref\r
+ cd ..\lispref\r
$(MAKE) $(MFLAGS) distclean\r
- cd ..\nt\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
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 ..\doc\emacs\r
$(MAKE) $(MFLAGS) maintainer-clean\r
- cd ..\doc\misc\r
+ cd ..\misc\r
$(MAKE) $(MFLAGS) maintainer-clean\r
- cd ..\doc\lispintro\r
+ cd ..\lispintro\r
$(MAKE) $(MFLAGS) maintainer-clean\r
- cd ..\doc\lispref\r
+ cd ..\lispref\r
$(MAKE) $(MFLAGS) maintainer-clean\r
- cd ..\nt\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
\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