Mercurial > emacs
diff nt/makefile.w32-in @ 31146:8779f864ca44
New file.
author | Andrew Innes <andrewi@gnu.org> |
---|---|
date | Thu, 24 Aug 2000 11:05:18 +0000 |
parents | |
children | 9f1ccd1adccf |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nt/makefile.w32-in Thu Aug 24 11:05:18 2000 +0000 @@ -0,0 +1,128 @@ +# +# 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 + +$(INSTALL_DIR): + - mkdir "$(INSTALL_DIR)" + +$(INSTALL_DIR)/bin: + - mkdir "$(INSTALL_DIR)/bin" + +# +# Build and install emacs in INSTALL_DIR +# +install: all $(INSTALL_DIR)/bin install-other-dirs + - $(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 + - mkdir "$(INSTALL_DIR)/etc/icons" + - $(CP_DIR) icons $(INSTALL_DIR)/etc/icons + echo SameDirTest > "$(INSTALL_DIR)/same-dir.tst" + $(IFNOTSAMEDIR) $(MAKE) real_install $(ENDIF) + - $(DEL) ../same-dir.tst + - $(DEL) $(INSTALL_DIR)/same-dir.tst + +real_install: + - $(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" + - $(CP_DIR) icons $(INSTALL_DIR)/etc/icons + $(IFNOTSAMEDIR) $(CP_DIR) ../etc $(INSTALL_DIR)/etc $(ENDIF) + $(IFNOTSAMEDIR) $(CP_DIR) ../info $(INSTALL_DIR)/info $(ENDIF) + - $(DEL) ../same-dir.tst + - $(DEL) $(INSTALL_DIR)/same-dir.tst + +# +# Maintenance +# +clean: clean-other-dirs + - $(DEL) *~ *.pdb + - $(DEL_TREE) $(OBJDIR) + - $(DEL) ../etc/DOC ../etc/DOC-X + +cleanall: clean + - $(DEL_TREE) obj + - $(DEL_TREE) obj-spd + - $(DEL_TREE) oo + - $(DEL_TREE) oo-spd + +realclean: cleanall + - $(DEL_TREE) ../bin