X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/da3ef617bfe45566bba433287e8fd93aa6025eee..eef223cc9b4dbefa7e1ccc9806a52db236dcf87d:/nt/makefile.w32-in diff --git a/nt/makefile.w32-in b/nt/makefile.w32-in index c8b94a639a..48b3ab1405 100644 --- a/nt/makefile.w32-in +++ b/nt/makefile.w32-in @@ -1,41 +1,43 @@ -# -*- Makefile -*- for GNU Emacs on the Microsoft W32 API. -# Copyright (C) 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007 Free Software Foundation, Inc. +# -*- 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. # -# Top level makefile for building GNU Emacs on Windows NT +# Top level makefile for building GNU Emacs on Windows NT # -# This file is part of GNU Emacs. -# -# GNU Emacs is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Emacs is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Emacs; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. +# This file is part of GNU Emacs. + +# GNU Emacs is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# GNU Emacs is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with GNU Emacs. If not, see . + # FIXME: This file uses DOS EOLs. Convert to Unix after 22.1 is out # (and remove or replace this comment). +TRES = $(BLD)/emacs.res +CLIENTRES = $(BLD)/emacsclient.res + +XMFLAGS = + ALL = addpm ddeclient runemacs cmdproxy addsection preprep .PHONY: $(ALL) -TRES = $(BLD)/emacs.res - -XMFLAGS = addpm: stamp_BLD $(BLD)/addpm.exe $(BLD)/addpm.exe: $(BLD)/addpm.$(O) $(LINK) $(LINK_OUT)$@ \ - $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32) + $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) \ + $(USER32) $(OLE32) $(UUID) $(SHELL32) ddeclient: stamp_BLD $(BLD)/ddeclient.exe $(BLD)/ddeclient.exe: $(BLD)/ddeclient.$(O) @@ -61,8 +63,11 @@ $(BLD)/preprep.exe: $(BLD)/preprep.$(O) # 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 stamp_BLD - $(RC) $(RC_OUT)$(BLD)/emacs.res emacs.rc +$(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) @@ -81,7 +86,7 @@ $(BLD)/addpm.$(O) $(BLD)/ddeclient.$(O) $(BLD)/runemacs.$(O) $(BLD)/cmdproxy.$(O # # Build emacs # -all: which-sh stamp_BLD $(ALL) maybe-bootstrap all-other-dirs-$(MAKETYPE) +all: which-sh stamp_BLD $(ALL) $(CLIENTRES) maybe-bootstrap all-other-dirs-$(MAKETYPE) all-other-dirs-nmake: addsection cd ..\lib-src @@ -234,23 +239,27 @@ install-other-dirs-gmake: $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim install force-info: -# Note that man/makefile knows how to +# Note that doc/emacs/makefile knows how to # put the info files in $(infodir), # so we can do ok running make in the build dir. info: force-info info-$(MAKETYPE) info-nmake: - cd ..\man + cd ..\doc\emacs + $(MAKE) $(MFLAGS) info + cd ..\misc $(MAKE) $(MFLAGS) info cd ..\lispref $(MAKE) $(MFLAGS) info cd ..\lispintro $(MAKE) $(MFLAGS) info + cd $(MAKEDIR) info-gmake: - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../man info - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lispref info - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lispintro info + $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/emacs info + $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/misc info + $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispref info + $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispintro info # # Maintenance # @@ -265,23 +274,26 @@ clean-other-dirs-nmake: $(MAKE) $(MFLAGS) clean cd ..\src $(MAKE) $(MFLAGS) clean - cd ..\lisp + cd ..\doc\lispintro $(MAKE) $(MFLAGS) clean - cd ..\lispintro - $(MAKE) $(MFLAGS) clean - cd ..\lispref + cd ..\doc\lispref $(MAKE) $(MFLAGS) clean cd ..\leim $(MAKE) $(MFLAGS) clean - cd ..\man + cd ..\doc\emacs + $(MAKE) $(MFLAGS) clean + cd ..\doc\misc $(MAKE) $(MFLAGS) clean cd ..\nt clean-other-dirs-gmake: $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src clean $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src clean - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp clean $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim clean + $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/emacs clean + $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/misc clean + $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispintro clean + $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispref clean cleanall-other-dirs-nmake: cd ..\lib-src @@ -302,5 +314,77 @@ cleanall: clean cleanall-other-dirs-$(MAKETYPE) - $(DEL_TREE) oo - $(DEL_TREE) oo-spd +top-distclean: + - $(DEL) $(COMPILER_TEMP_FILES) + - $(DEL_TREE) obj + - $(DEL_TREE) obj-spd + - $(DEL_TREE) oo + - $(DEL_TREE) oo-spd + - $(DEL) stamp_BLD + - $(DEL) ../etc/DOC ../etc/DOC-X + - $(DEL) config.log Makefile + +distclean: distclean-other-dirs-$(MAKETYPE) top-distclean + +distclean-other-dirs-nmake: + cd ..\lib-src + $(MAKE) $(MFLAGS) distclean + cd ..\src + $(MAKE) $(MFLAGS) distclean + cd ..\lisp + $(MAKE) $(MFLAGS) distclean + cd ..\leim + $(MAKE) $(MFLAGS) distclean + cd ..\doc\emacs + $(MAKE) $(MFLAGS) distclean + cd ..\doc\misc + $(MAKE) $(MFLAGS) distclean + cd ..\doc\lispintro + $(MAKE) $(MFLAGS) distclean + cd ..\doc\lispref + $(MAKE) $(MFLAGS) distclean + cd ..\nt + +distclean-other-dirs-gmake: + $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src distclean + $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src distclean + $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp distclean + $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim distclean + $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/emacs distclean + $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/misc distclean + $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispintro distclean + $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispref distclean + +maintainer-clean: maintainer-clean-other-dirs-$(MAKETYPE) top-distclean + +maintainer-clean-other-dirs-nmake: + cd ..\lib-src + $(MAKE) $(MFLAGS) maintainer-clean + cd ..\src + $(MAKE) $(MFLAGS) maintainer-clean + cd ..\lisp + $(MAKE) $(MFLAGS) maintainer-clean + cd ..\leim + $(MAKE) $(MFLAGS) maintainer-clean + cd ..\doc\emacs + $(MAKE) $(MFLAGS) maintainer-clean + cd ..\doc\misc + $(MAKE) $(MFLAGS) maintainer-clean + cd ..\doc\lispintro + $(MAKE) $(MFLAGS) maintainer-clean + cd ..\doc\lispref + $(MAKE) $(MFLAGS) maintainer-clean + cd ..\nt + +maintainer-clean-other-dirs-gmake: + $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src maintainer-clean + $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src maintainer-clean + $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp maintainer-clean + $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim maintainer-clean + $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/emacs maintainer-clean + $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/misc maintainer-clean + $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispintro maintainer-clean + $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispref maintainer-clean + realclean: cleanall - $(DEL_TREE) ../bin