]> code.delx.au - gnu-emacs/blobdiff - nt/makefile.w32-in
*** empty log message ***
[gnu-emacs] / nt / makefile.w32-in
index 166314ce686b17e0b298d6b1022d08c37a332c9d..10f6d6bebd2bf3d2e2b226eca2c4657f674c8349 100644 (file)
-#  Makefile for GNU Emacs on the Microsoft W32 API.
-#  Copyright (c) 2000-2001 Free Software Foundation, Inc.
-#
-#  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 2, 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., 59 Temple Place - Suite 330,
-#  Boston, MA 02111-1307, USA.
-
-ALL            = addpm ddeclient runemacs cmdproxy addsection preprep
-
-.PHONY: $(ALL)
-
-TRES           = $(BLD)/emacs.res
-
-addpm:           $(BLD) $(BLD)/addpm.exe
-$(BLD)/addpm.exe: $(BLD)/addpm.$(O)
-                 $(LINK) $(LINK_OUT)$@ \
-                 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32)
-
-ddeclient:       $(BLD) $(BLD)/ddeclient.exe
-$(BLD)/ddeclient.exe: $(BLD)/ddeclient.$(O)
-                 $(LINK) $(LINK_OUT)$@ \
-                 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32)
-
-cmdproxy:        $(BLD) $(BLD)/cmdproxy.exe
-$(BLD)/cmdproxy.exe: $(BLD)/cmdproxy.$(O)
-                 $(LINK) $(LINK_OUT)$@ \
-                 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(USER32)
-
-addsection:      $(BLD) $(BLD)/addsection.exe
-$(BLD)/addsection.exe: $(BLD)/addsection.$(O)
-                 $(LINK) $(LINK_OUT)$@ \
-                 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(USER32)
-
-preprep:         $(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
-               $(RC) $(RC_OUT)$(BLD)/emacs.res $(ALL_DEPS)
-
-runemacs:        $(BLD) $(BLD)/runemacs.exe
-$(BLD)/runemacs.exe: $(BLD)/runemacs.$(O) $(TRES)
-                 $(LINK) $(LINK_OUT)$@ $(SUBSYSTEM_WINDOWS) \
-                 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32)
-
-which-sh:
-       @echo Using $(THE_SHELL) as shell.
-
-#
-# Build emacs
-#
-all:   which-sh $(BLD) $(ALL) all-other-dirs-$(MAKETYPE)
-
-all-other-dirs-nmake:
-       cd ..\lib-src
-       $(MAKE) $(MFLAGS) all
-       cd ..\src
-       $(MAKE) $(MFLAGS) all
-       cd ..\lisp
-       $(MAKE) $(MFLAGS) all
-       cd ..\leim
-       $(MAKE) $(MFLAGS) all
-       cd ..\nt
-
-all-other-dirs-gmake:
-       $(MAKE) $(MFLAGS) -C ../lib-src all
-       $(MAKE) $(MFLAGS) -C ../src all
-       $(MAKE) $(MFLAGS) -C ../lisp all
-       $(MAKE) $(MFLAGS) -C ../leim all
-
-recompile:     recompile-$(MAKETYPE)
-
-recompile-nmake:
-       cd ..\lisp
-       $(MAKE) $(MFLAGS) recompile
-       cd ..\nt
-
-recompile-gmake:
-       $(MAKE) $(MFLAGS) -C ../lisp recompile
-
-bootstrap:     $(BLD) $(ALL) bootstrap-$(MAKETYPE)
-
-bootstrap-nmake:
-       cd ..\src
-       $(MAKE) $(MFLAGS) bootstrap
-       $(MAKE) $(MFLAGS) bootstrap-clean
-       cd ..\lisp
-       $(MAKE) $(MFLAGS) bootstrap
-       cd ..\nt
-
-bootstrap-gmake:
-       $(MAKE) $(MFLAGS) -C ../src bootstrap
-       $(MAKE) $(MFLAGS) -C ../src bootstrap-clean
-       $(MAKE) $(MFLAGS) -C ../lisp bootstrap
-
-bootstrap-clean: bootstrap-clean-$(MAKETYPE)
-
-bootstrap-clean-nmake:
-       cd ..\src
-       $(MAKE) $(MFLAGS) bootstrap-clean
-       cd ..\lisp
-       $(MAKE) $(MFLAGS) bootstrap-clean
-
-bootstrap-clean-gmake:
-       $(MAKE) $(MFLAGS) -C ../src bootstrap-clean
-       $(MAKE) $(MFLAGS) -C ../lisp bootstrap-clean
-
-$(INSTALL_DIR):
-       - mkdir "$(INSTALL_DIR)"
-
-$(INSTALL_DIR)/bin: $(INSTALL_DIR)
-       - mkdir "$(INSTALL_DIR)/bin"
-
-#
-# Build and install emacs in INSTALL_DIR
-#
-install: all $(INSTALL_DIR)/bin install-other-dirs-$(MAKETYPE)
-       - $(CP) $(BLD)/addpm.exe $(INSTALL_DIR)/bin
-       - $(CP) $(BLD)/ddeclient.exe $(INSTALL_DIR)/bin
-       - $(CP) $(BLD)/cmdproxy.exe $(INSTALL_DIR)/bin
-       - $(CP) $(BLD)/runemacs.exe $(INSTALL_DIR)/bin
-       - $(CP) ../lib-src/fns-*.el $(INSTALL_DIR)/bin
-       - "$(INSTALL_DIR)/bin/addpm" /q
-       - $(DEL) ../same-dir.tst
-       - $(DEL) $(INSTALL_DIR)/same-dir.tst
-       echo SameDirTest > "$(INSTALL_DIR)/same-dir.tst"
-       - mkdir "$(INSTALL_DIR)/etc"
-       - mkdir "$(INSTALL_DIR)/info"
-       - mkdir "$(INSTALL_DIR)/lock"
-       - mkdir "$(INSTALL_DIR)/data"
-       - mkdir "$(INSTALL_DIR)/site-lisp"
-       - mkdir "$(INSTALL_DIR)/etc/icons"
-       $(IFNOTSAMEDIR) $(CP) ../site-lisp/subdirs.el $(INSTALL_DIR)/site-lisp $(ENDIF)
-       $(IFNOTSAMEDIR) $(CP_DIR) ../etc $(INSTALL_DIR) $(ENDIF)
-       - $(CP_DIR) icons $(INSTALL_DIR)/etc
-       $(IFNOTSAMEDIR) $(CP_DIR) ../info $(INSTALL_DIR) $(ENDIF)
-       - $(DEL) ../same-dir.tst
-       - $(DEL) $(INSTALL_DIR)/same-dir.tst
-
-install-other-dirs-nmake:
-       cd ..\lib-src
-       $(MAKE) $(MFLAGS) install
-       cd ..\src
-       $(MAKE) $(MFLAGS) install
-       cd ..\lisp
-       $(MAKE) $(MFLAGS) install
-       cd ..\leim
-       $(MAKE) $(MFLAGS) install
-       cd ..\nt
-
-install-other-dirs-gmake:
-       $(MAKE) $(MFLAGS) -C ../lib-src install
-       $(MAKE) $(MFLAGS) -C ../src install
-       $(MAKE) $(MFLAGS) -C ../lisp install
-       $(MAKE) $(MFLAGS) -C ../leim install
-
-#
-# Maintenance
-# 
-clean: clean-other-dirs-$(MAKETYPE)
-       - $(DEL) *~ $(COMPILER_TEMP_FILES)
-       - $(DEL_TREE) $(OBJDIR)
-       - $(DEL) ../etc/DOC ../etc/DOC-X
-
-clean-other-dirs-nmake:
-       cd ..\lib-src
-       $(MAKE) $(MFLAGS) clean
-       cd ..\src
-       $(MAKE) $(MFLAGS) clean
-       cd ..\lisp
-       $(MAKE) $(MFLAGS) clean
-       cd ..\leim
-       $(MAKE) $(MFLAGS) clean
-       cd ..\nt
-
-clean-other-dirs-gmake:
-       $(MAKE) $(MFLAGS) -C ../lib-src clean
-       $(MAKE) $(MFLAGS) -C ../src clean
-       $(MAKE) $(MFLAGS) -C ../lisp clean
-       $(MAKE) $(MFLAGS) -C ../leim clean
-
-cleanall-other-dirs-nmake:
-       cd ..\lib-src
-       $(MAKE) $(MFLAGS) cleanall
-       cd ..\src
-       $(MAKE) $(MFLAGS) cleanall
-       cd ..\nt
-
-cleanall-other-dirs-gmake:
-       $(MAKE) $(MFLAGS) -C ../lib-src cleanall
-       $(MAKE) $(MFLAGS) -C ../src cleanall
-
-cleanall: clean cleanall-other-dirs-$(MAKETYPE)
-        - $(DEL_TREE) obj
-        - $(DEL_TREE) obj-spd
-        - $(DEL_TREE) oo
-        - $(DEL_TREE) oo-spd
-
-realclean: cleanall
-       - $(DEL_TREE) ../bin
+#  Makefile for GNU Emacs on the Microsoft W32 API.\r
+#  Copyright (c) 2000-2001 Free Software Foundation, Inc.\r
+#\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 2, 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., 59 Temple Place - Suite 330,\r
+#  Boston, MA 02111-1307, USA.\r
+\r
+ALL            = addpm ddeclient runemacs cmdproxy addsection preprep\r
+\r
+.PHONY: $(ALL)\r
+\r
+TRES           = $(BLD)/emacs.res\r
+\r
+addpm:           $(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
+\r
+ddeclient:       $(BLD) $(BLD)/ddeclient.exe\r
+$(BLD)/ddeclient.exe: $(BLD)/ddeclient.$(O)\r
+                 $(LINK) $(LINK_OUT)$@ \\r
+                 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32)\r
+\r
+cmdproxy:        $(BLD) $(BLD)/cmdproxy.exe\r
+$(BLD)/cmdproxy.exe: $(BLD)/cmdproxy.$(O)\r
+                 $(LINK) $(LINK_OUT)$@ \\r
+                 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(USER32)\r
+\r
+addsection:      $(BLD) $(BLD)/addsection.exe\r
+$(BLD)/addsection.exe: $(BLD)/addsection.$(O)\r
+                 $(LINK) $(LINK_OUT)$@ \\r
+                 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(USER32)\r
+\r
+preprep:         $(BLD) $(BLD)/preprep.exe\r
+$(BLD)/preprep.exe: $(BLD)/preprep.$(O)\r
+                 $(LINK) $(LINK_OUT)$@ \\r
+                 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS)\r
+\r
+#\r
+# 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\r
+               $(RC) $(RC_OUT)$(BLD)/emacs.res $(ALL_DEPS)\r
+\r
+runemacs:        $(BLD) $(BLD)/runemacs.exe\r
+$(BLD)/runemacs.exe: $(BLD)/runemacs.$(O) $(TRES)\r
+                 $(LINK) $(LINK_OUT)$@ $(SUBSYSTEM_WINDOWS) \\r
+                 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32)\r
+\r
+which-sh:\r
+       @echo Using $(THE_SHELL) as shell.\r
+\r
+#\r
+# Build emacs\r
+#\r
+all:   which-sh $(BLD) $(ALL) maybe-bootstrap all-other-dirs-$(MAKETYPE)\r
+\r
+all-other-dirs-nmake:\r
+       cd ..\lib-src\r
+       $(MAKE) $(MFLAGS) all\r
+       cd ..\src\r
+       $(MAKE) $(MFLAGS) all\r
+       cd ..\lisp\r
+       $(MAKE) $(MFLAGS) all\r
+       cd ..\leim\r
+       $(MAKE) $(MFLAGS) all\r
+       cd ..\nt\r
+\r
+all-other-dirs-gmake:\r
+       $(MAKE) $(MFLAGS) -C ../lib-src all\r
+       $(MAKE) $(MFLAGS) -C ../src all\r
+       $(MAKE) $(MFLAGS) -C ../lisp all\r
+       $(MAKE) $(MFLAGS) -C ../leim all\r
+\r
+recompile:     recompile-$(MAKETYPE)\r
+\r
+recompile-nmake:\r
+       cd ..\lisp\r
+       $(MAKE) $(MFLAGS) recompile\r
+       cd ..\nt\r
+\r
+recompile-gmake:\r
+       $(MAKE) $(MFLAGS) -C ../lisp recompile\r
+\r
+#### Bootstrapping.\r
+\r
+### This is meant for Emacs maintainers only.  It first cleans the\r
+### lisp subdirectory, removing all compiled Lisp files.  Then a\r
+### special emacs executable is built from Lisp sources, which is then\r
+### used to compile Lisp files.  The last step is a "normal" make.\r
+\r
+maybe-bootstrap: maybe-bootstrap-$(SHELLTYPE)\r
+\r
+# dummy target to force other targets to be evaluated.\r
+doit:\r
+\r
+maybe-bootstrap-CMD:   doit\r
+       @echo.\r
+       @if not EXIST ..\lisp\abbrev.elc echo Essential Lisp files seem to be missing.  You should either\r
+       @if not EXIST ..\lisp\abbrev.elc echo do 'make bootstrap' or create 'lisp/abbrev.elc' somehow\r
+       @echo.\r
+       @if not EXIST ..\lisp\abbrev.elc exit -1\r
+\r
+maybe-bootstrap-SH: doit\r
+       @if [ ! -f ../lisp/abbrev.elc ] ; then \\r
+         echo; \\r
+         echo "Essential Lisp files seem to be missing.  You should either"; \\r
+         echo "do \`make bootstrap' or create \`lisp/abbrev.elc' somehow.";  \\r
+         echo; \\r
+         exit -1; \\r
+       fi\r
+\r
+bootstrap:     addsection bootstrap-$(MAKETYPE) all\r
+\r
+bootstrap-nmake:\r
+       cd ..\lisp\r
+       $(MAKE) $(MFLAGS) bootstrap-clean\r
+       cd ..\src\r
+       $(MAKE) $(MFLAGS) clean\r
+       cd ..\lib-src\r
+       $(MAKE) $(MFLAGS) clean\r
+       cd ..\src\r
+       $(MAKE) $(MFLAGS) bootstrap\r
+       $(MAKE) $(MFLAGS) bootstrap-clean\r
+       cd ..\lisp\r
+       $(MAKE) $(MFLAGS) bootstrap\r
+       cd ..\lib-src\r
+       $(MAKE) $(MFLAGS) DOC\r
+       cd ..\nt\r
+\r
+bootstrap-gmake:\r
+       $(MAKE) $(MFLAGS) -C ../lisp bootstrap-clean\r
+       $(MAKE) $(MFLAGS) -C ../src clean\r
+       $(MAKE) $(MFLAGS) -C ../lib-src clean\r
+       $(MAKE) $(MFLAGS) -C ../src bootstrap\r
+       $(MAKE) $(MFLAGS) -C ../src bootstrap-clean\r
+       $(MAKE) $(MFLAGS) -C ../lisp bootstrap\r
+       $(MAKE) $(MFLAGS) -C ../lib-src DOC\r
+\r
+bootstrap-clean: bootstrap-clean-$(MAKETYPE)\r
+\r
+bootstrap-clean-nmake:\r
+       cd ..\src\r
+       $(MAKE) $(MFLAGS) bootstrap-clean\r
+       cd ..\lisp\r
+       $(MAKE) $(MFLAGS) bootstrap-clean\r
+\r
+bootstrap-clean-gmake:\r
+       $(MAKE) $(MFLAGS) -C ../src bootstrap-clean\r
+       $(MAKE) $(MFLAGS) -C ../lisp bootstrap-clean\r
+\r
+$(INSTALL_DIR):\r
+       - mkdir "$(INSTALL_DIR)"\r
+\r
+$(INSTALL_DIR)/bin: $(INSTALL_DIR)\r
+       - mkdir "$(INSTALL_DIR)/bin"\r
+\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
+       - $(CP) $(BLD)/ddeclient.exe $(INSTALL_DIR)/bin\r
+       - $(CP) $(BLD)/cmdproxy.exe $(INSTALL_DIR)/bin\r
+       - $(CP) $(BLD)/runemacs.exe $(INSTALL_DIR)/bin\r
+       - $(CP) ../lib-src/fns-*.el $(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
+       - mkdir "$(INSTALL_DIR)/etc"\r
+       - mkdir "$(INSTALL_DIR)/info"\r
+       - mkdir "$(INSTALL_DIR)/lock"\r
+       - mkdir "$(INSTALL_DIR)/data"\r
+       - mkdir "$(INSTALL_DIR)/site-lisp"\r
+       - mkdir "$(INSTALL_DIR)/etc/icons"\r
+       $(IFNOTSAMEDIR) $(CP) ../site-lisp/subdirs.el $(INSTALL_DIR)/site-lisp $(ENDIF)\r
+       $(IFNOTSAMEDIR) $(CP_DIR) ../etc $(INSTALL_DIR) $(ENDIF)\r
+       - $(CP_DIR) icons $(INSTALL_DIR)/etc\r
+       $(IFNOTSAMEDIR) $(CP_DIR) ../info $(INSTALL_DIR) $(ENDIF)\r
+       - $(DEL) ../same-dir.tst\r
+       - $(DEL) $(INSTALL_DIR)/same-dir.tst\r
+\r
+install-other-dirs-nmake:\r
+       cd ..\lib-src\r
+       $(MAKE) $(MFLAGS) install\r
+       cd ..\src\r
+       $(MAKE) $(MFLAGS) install\r
+       cd ..\lisp\r
+       $(MAKE) $(MFLAGS) install\r
+       cd ..\leim\r
+       $(MAKE) $(MFLAGS) install\r
+       cd ..\nt\r
+\r
+install-other-dirs-gmake:\r
+       $(MAKE) $(MFLAGS) -C ../lib-src install\r
+       $(MAKE) $(MFLAGS) -C ../src install\r
+       $(MAKE) $(MFLAGS) -C ../lisp install\r
+       $(MAKE) $(MFLAGS) -C ../leim install\r
+\r
+#\r
+# Maintenance\r
+# \r
+clean: clean-other-dirs-$(MAKETYPE)\r
+       - $(DEL) *~ $(COMPILER_TEMP_FILES)\r
+       - $(DEL_TREE) $(OBJDIR)\r
+       - $(DEL) ../etc/DOC ../etc/DOC-X\r
+\r
+clean-other-dirs-nmake:\r
+       cd ..\lib-src\r
+       $(MAKE) $(MFLAGS) clean\r
+       cd ..\src\r
+       $(MAKE) $(MFLAGS) clean\r
+       cd ..\lisp\r
+       $(MAKE) $(MFLAGS) clean\r
+       cd ..\leim\r
+       $(MAKE) $(MFLAGS) clean\r
+       cd ..\nt\r
+\r
+clean-other-dirs-gmake:\r
+       $(MAKE) $(MFLAGS) -C ../lib-src clean\r
+       $(MAKE) $(MFLAGS) -C ../src clean\r
+       $(MAKE) $(MFLAGS) -C ../lisp clean\r
+       $(MAKE) $(MFLAGS) -C ../leim clean\r
+\r
+cleanall-other-dirs-nmake:\r
+       cd ..\lib-src\r
+       $(MAKE) $(MFLAGS) cleanall\r
+       cd ..\src\r
+       $(MAKE) $(MFLAGS) cleanall\r
+       cd ..\nt\r
+\r
+cleanall-other-dirs-gmake:\r
+       $(MAKE) $(MFLAGS) -C ../lib-src cleanall\r
+       $(MAKE) $(MFLAGS) -C ../src cleanall\r
+\r
+cleanall: clean cleanall-other-dirs-$(MAKETYPE)\r
+        - $(DEL_TREE) obj\r
+        - $(DEL_TREE) obj-spd\r
+        - $(DEL_TREE) oo\r
+        - $(DEL_TREE) oo-spd\r
+\r
+realclean: cleanall\r
+       - $(DEL_TREE) ../bin\r