summaryrefslogtreecommitdiff
path: root/nt/makefile.w32-in
diff options
context:
space:
mode:
authorAndrew Innes <andrewi@gnu.org>2001-12-03 11:40:21 +0000
committerAndrew Innes <andrewi@gnu.org>2001-12-03 11:40:21 +0000
commit8af54a640d6519abbb9b11777129d01aaf2ab3cd (patch)
treeb0a0cea28df3036782375f1865fb6cc2fc4725d7 /nt/makefile.w32-in
parent76054cc87603ff2f11205562479c8f295e759aea (diff)
downloademacs-8af54a640d6519abbb9b11777129d01aaf2ab3cd.tar.gz
(bootstrap-nmake):
(bootstrap-gmake): Extend bootstrap process to first do bootstrap-clean in lisp dir and rebuild the DOC file. (bootstrap): Do a "normal" make after the bootstrap work.
Diffstat (limited to 'nt/makefile.w32-in')
-rw-r--r--nt/makefile.w32-in456
1 files changed, 236 insertions, 220 deletions
diff --git a/nt/makefile.w32-in b/nt/makefile.w32-in
index 166314ce686..ab8940c34b2 100644
--- a/nt/makefile.w32-in
+++ b/nt/makefile.w32-in
@@ -1,220 +1,236 @@
-# 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.
+# 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
+
+#### Bootstrapping.
+
+### This is meant for Emacs maintainers only. It first cleans the
+### lisp subdirectory, removing all compiled Lisp files. Then a
+### special emacs executable is built from Lisp sources, which is then
+### used to compile Lisp files. The last step is a "normal" make.
+
+bootstrap: bootstrap-$(MAKETYPE) all
+
+bootstrap-nmake:
+ cd ..\lisp
+ $(MAKE) $(MFLAGS) bootstrap-clean
+ cd ..\src
+ $(MAKE) $(MFLAGS) clean
+ cd ..\lib-src
+ $(MAKE) $(MFLAGS) clean DOC
+ cd ..\src
+ $(MAKE) $(MFLAGS) bootstrap
+ $(MAKE) $(MFLAGS) bootstrap-clean
+ cd ..\lisp
+ $(MAKE) $(MFLAGS) bootstrap
+ cd ..\nt
+
+bootstrap-gmake:
+ $(MAKE) $(MFLAGS) -C ../lisp bootstrap-clean
+ $(MAKE) $(MFLAGS) -C ../src clean
+ $(MAKE) $(MFLAGS) -C ../lib-src clean DOC
+ $(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