Mercurial > emacs
view msdos/mainmake.v2 @ 34235:c8945341a908
GFDL
author | Dave Love <fx@gnu.org> |
---|---|
date | Tue, 05 Dec 2000 23:02:24 +0000 |
parents | 0eab133958e6 |
children | 40a7360c9f8d |
line wrap: on
line source
# Top-level Makefile for Emacs under MS-DOS/DJGPP v2.0 or higher. -*-makefile-*- # # make all to compile and build Emacs. # make install to install it. # make TAGS to update tags tables. # # make clean or make mostlyclean # Delete all files from the current directory that are normally # created by building the program. Don't delete the files that # record the configuration. Also preserve files that could be made # by building, but normally aren't because the distribution comes # with them. # # Delete `.dvi' files here if they are not part of the distribution. # # make distclean # Delete all files from the current directory that are created by # configuring or building the program. If you have unpacked the # source and built the program without creating any other files, # `make distclean' should leave only the files that were in the # distribution. # # make realclean # Delete everything from the current directory that can be # reconstructed with this Makefile. This typically includes # everything deleted by distclean, plus more: C source files # produced by Bison, tags tables, info files, and so on. # # make extraclean # Still more severe - delete backup and autosave files, too. # 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. # (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)) # Find out which version of Emacs this is. version := ${shell sed -n -e '/(defconst emacs-version/s/^[^"]*\("[^"]*"\).*/\1/p' lisp/version.el} all: lib-src src man lib-src: FRC cd lib-src $(MAKE) top_srcdir=${top_srcdir} version=${version} cd .. src: FRC cd src $(MAKE) top_srcdir=${top_srcdir} 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 $(MAKE) top_srcdir=${top_srcdir} cd .. install: all if not exist bin\nul md bin cd lib-src 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 stubedit emacs.exe minstack=512k mv -f emacs.exe ../bin/ cd .. 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 .../*.el cd .. cd src ../bin/etags --include=../lisp/TAGS \ '--regex=/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' *.c *.h s/msdos.h m/intel386.h cd .. ./bin/etags --include=src/TAGS check: @echo "We don't have any tests for GNU Emacs yet." clean: cd lib-src $(MAKE) clean cd .. cd src $(MAKE) clean cd .. cd oldxmenu -$(MAKE) clean cd .. cd leim if exist Makefile redir $(MAKE) clean cd ..