view msdos/mainmake.v2 @ 31383:860d7ac182e3

(vc-rcs-show-log-entry): New function. (vc-rcs-checkin, vc-rcs-checkout): Don't set all properties. (vc-rcs-register): If there is no RCS subdir, ask the user whether to create one. (vc-rcs-state-heuristic): Use file-ownership-preserved-p. (vc-rcs-checkout): Remove the error-handling for missing-rcs. (vc-rcs-state-heuristic): Don't use file-writable-p. (vc-rcs-print-log): Insert in the current buffer. (vc-rcs-diff): Insert in the current buffer and remove unused arg CMP. (vc-rcs-workfile-unchanged-p): Use vc-do-command instead of vc-simple-command. (vc-rcs-fetch-master-state): Removed check for unlocked-changes to avoid doing a diff when opening a file. (vc-rcs-state): Added check for unlocked-changes. (vc-rcs-header): Escape Id. (vc-rcs-workfile-unchanged-p): Remove optional arg VERSION. (vc-rcs-state): Call vc-workfile-unchanged-p, not the RCS-specific version. (vc-rcs-state-heuristic): Use file-writable-p instead of comparing userids. (vc-rcs-fetch-master-state): Handle the case where rcs is missing. Simplify the logic by eliminating unreachable code. (vc-rcs-diff): Only pass `2' to vc-do-command if necessary and just do a recursive call if we need to retry. (vc-rcs-checkout): Handle the case where rcs is missing by making the buffer read-write if requested and re-signalling the error. (vc-rcs-find-most-recent-rev): New function. The code derives from the old vc-parse-buffer but uses the revision number rather than the date (much easier to compare robustly). (vc-rcs-fetch-master-state): Use `with-temp-buffer'. Adapt to the new vc-parse-buffer (and vc-rcs-find-most-recent-rev). Find the locking-user more directly. Check strict locking and set checkout-model appropriately. (vc-rcs-parse-locks): Remove. (vc-rcs-latest-on-branch-p): Use with-temp-buffer and adapt to the new vc-parse-buffer (and vc-rcs-find-most-recent-rev). (vc-rcs-system-release): Use with-current-buffer and vc-parse-buffer. (vc-rcs-register, vc-rcs-checkout): Use with-current-buffer. Merge in code from vc-rcs-hooks.el. Don't require 'vc anymore. (vc-rcs-responsible-p): Use expand-file-name instead of concat and file-directory-p instead of file-exists-p. (vc-rcs-exists): Remove. (vc-rcs-header): New var. Update Copyright. (vc-rcs-rename-file): New function. (vc-rcs-diff): Remove unused `backend' variable. (vc-rcs-clear-headers): New function; code moved here from vc-clear-headers in vc.el. (tail): Provide vc-rcs and remove vc-rcs-logentry-check. (vc-rcs-register): Parse command output to find master file name and workfile version. (vc-rcs-checkout): Removed call to vc-file-clear-masterprops. Require vc and vc-rcs-hooks. (vc-rcs-trunk-p, vc-rcs-branch-part): Move to vc-rcs-hooks. (vc-rcs-backend-release-p): Remove (use vc-rcs-release-p). (vc-release-greater-or-equal-p): Move from vc. (vc-rcs-trunk-p, vc-rcs-branch-p, vc-rcs-branch-part, vc-rcs-minor-part, vc-rcs-previous-version): Remove duplicates. (vc-rcs-checkout): Add a missing `new-version' argument in the call to vc-rcs-latest-on-branch-p. Hopefully that was the right one. (vc-rcs-steal-lock): Renamed from `vc-rcs-steal'. Updated everything to use `vc-checkout-model'. (vc-rcs-backend-release-p): function added. other stuff updated to reference this function instead of the old `vc-backend-release-p'. (vc-rcs-logentry-check): Function added. (vc-rcs-checkin, vc-rcs-previous-version) (vc-rcs-checkout): Name space cleaned up. No more revision number crunching function names that are not prefixed with vc-rcs. (vc-rcs-checkout-model): Function added. References to `vc-checkout-model' replaced. (vc-rcs-admin): Added the query-only option as required by the vc.el file. (vc-rcs-exists): Function added. (vc-*-checkout): Use with-temp-file instead of /bin/sh. Merged from mainline (vc-rcs-latest-on-branch-p): Moved to vc-rcs-hooks.el. (vc-rcs-latest-on-branch-p, vc-rcs-trunk-p) (vc-rcs-branch-p, vc-rcs-branch-part, vc-rcs-minor-part) (vc-rcs-previous-version): Functions added. (vc-rcs-diff): Function added. (vc-rcs-checkout) Bug (typo) found and fixed. (vc-rcs-register-switches) Variable `vc-rcs-register-switches' added. Require vc when compiling. (vc-rcs-print-log, vc-rcs-assign-name, vc-rcs-merge) (vc-rcs-check-headers, vc-rcs-steal, vc-rcs-uncheck, vc-rcs-revert) (vc-rcs-checkin): New functions (code from vc.el). (vc-rcs-previous-version, vc-rcs-system-release, vc-rcs-checkout): Doc fix. (vc-rcs-release): Deleted. (Duplicated vc-rcs-system-release). (vc-rcs-trunk-p, vc-rcs-branch-p, vc-rcs-branch-part) (vc-rcs-minor-part, vc-rcs-previous-version, vc-rcs-release) (vc-rcs-release-p, vc-rcs-admin, vc-rcs-checkout): New functions from vc.el. (vc-rcs-system-release): Renamed from vc-rcs-backend-release.
author Gerd Moellmann <gerd@gnu.org>
date Mon, 04 Sep 2000 19:47:43 +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 ..