X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/32372ef84c272010ae644eb5f6e63ac5bae23b18..d7d7da3780dbdf404a49aaa6791c6cb82234f623:/msdos/mainmake.v2 diff --git a/msdos/mainmake.v2 b/msdos/mainmake.v2 index 0f137cd12a..fc91310ef0 100644 --- a/msdos/mainmake.v2 +++ b/msdos/mainmake.v2 @@ -1,5 +1,24 @@ # Top-level Makefile for Emacs under MS-DOS/DJGPP v2.0 or higher. -*-makefile-*- -# + +# Copyright (C) 1996,1997,1998,1999,2000,2001 Free Software Foundation, Inc. + +# 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. + # make all to compile and build Emacs. # make install to install it. # make TAGS to update tags tables. @@ -32,8 +51,15 @@ # This gork is required for those who use a Unix-style shell, and # have SHELL in the environment pointing to it. Here we force # Make to use COMMAND.COM instead. This Makefile won't work otherwise. -override SHELL=/dos/command -override MAKESHELL=/dos/command +# (The /xyzzy directory is used to minimize the chance that someone +# actually has such a directory with an incompatible command.com. We +# used to have /dos there, but some Windows installations have an old +# version of DOS stashed in that directory, and command.com from there +# won't run on Windows, complaining about "Incorrect DOS version". +# Make will look up PATH for the shell executable, so the directory name +# is not important.) +SHELL=/xyzzy/command +MAKESHELL=/xyzzy/command # Generate a full pathname of the top-level installation directory top_srcdir := $(subst \,/,$(shell cd)) @@ -51,17 +77,18 @@ lib-src: FRC src: FRC cd src $(MAKE) top_srcdir=${top_srcdir} - redir -o gdb.sed echo '/-geometry/s,^.*,set environment HOME $(top_srcdir),' - redir -oa gdb.sed echo '/environment *TERM/s/^.*/set environment TERM internal/' - redir -oa gdb.sed echo '/x_error_quitter/s/^.*/set environment NAME root/' - redir -o gdb.tmp sed -f gdb.sed _gdbinit - redir -oa gdb.tmp echo 'set environment USER root' - redir -oa gdb.tmp echo 'set environment EMACSPATH $(top_srcdir)/bin' - redir -oa gdb.tmp echo 'set environment SHELL $(subst \,/,$(COMSPEC))' - redir -oa gdb.tmp echo 'set environment PATH $(subst \,/,$(PATH))' + djecho -s '/-geometry/s,^.*,set environment HOME $(top_srcdir),' \ + '/environment *TERM/s/^.*/set environment TERM internal/' \ + '/x_error_quitter/s/^.*/set environment NAME root/' >gdb.sed + sed -f gdb.sed _gdbinit >gdb.tmp + djecho -a gdb.tmp -s 'set environment USER root' \ + 'set environment EMACSPATH $(top_srcdir)/bin' \ + 'set environment SHELL $(subst \,/,$(COMSPEC))' \ + 'set environment PATH $(subst \,/,$(PATH))' update gdb.tmp gdb.ini rm -f gdb.tmp gdb.sed cd .. + if exist leim\Makefile redir $(MAKE) -C leim top_srcdir=${top_srcdir} man: FRC cd man @@ -71,10 +98,9 @@ man: FRC install: all if not exist bin\nul md bin cd lib-src - if exist hexl.exe mv -f hexl.exe ../bin - if exist etags.exe mv -f etags.exe ../bin - if exist ctags.exe mv -f ctags.exe ../bin - if exist b2m.exe mv -f b2m.exe ../bin + command.com /c >/dev/null for %p in (hexl etags ctags b2m ebrowse) do\ + if exist %p.exe mv -f %p.exe ../bin + if exist fns.el update fns.el ../bin/fns.el cd .. cd src stubify emacs @@ -84,12 +110,14 @@ install: all FRC: +# We cannot use [a-zA-Z]* like the mainline distribution does, because +# that causes all file names to be returned in upper-case on DOS... TAGS tags: lib-src FRC cd lib-src if exist etags.exe mv -f etags.exe ../bin cd .. cd lisp - ../bin/etags [a-zA-Z]*.el [a-zA-Z]*/[a-zA-Z]*.el + ../bin/etags .../*.el cd .. cd src ../bin/etags --include=../lisp/TAGS \ @@ -110,3 +138,6 @@ clean: cd oldxmenu -$(MAKE) clean cd .. + cd leim + if exist Makefile redir $(MAKE) clean + cd ..