view lisp/makefile.nt @ 27622:e024ab46002c

(install): Synchronize rules for compiling with Unix version.
author Andrew Innes <andrewi@gnu.org>
date Sun, 06 Feb 2000 23:36:33 +0000
parents 5df541fa3e2b
children 39e2dae95929
line wrap: on
line source

#  Hacked up Nmake makefile for GNU Emacs
#   Geoff Voelker (voelker@cs.washington.edu)
#  Copyright (c) 1994 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.
#

!include ..\nt\makefile.def

all:

# You can specify a different executable on the make command line,
# e.g. "make EMACS=../src/emacs ...".

EMACS = ..\src\$(BLD)\emacs

# Command line flags for Emacs.  This must include --multibyte,
# otherwise some files will not compile.

EMACSOPT = --no-init-file --no-site-file --multibyte -batch

# Files which should not be compiled.  All file names must be relative
# to the `lisp' directory.
# - emacs-lisp/cl-specs.el:  only contains `def-edebug-spec's so there's
#   no point compiling it, although it doesn't hurt.

DONTCOMPILE = bindings.el mail/blessmail.el play/bruce.el cus-load.el \
	cus-start.el forms-d2.el forms-pass.el \
	international/latin-1.el international/latin-2.el \
	international/latin-3.el international/latin-4.el \
	international/latin-5.el \
	loaddefs.el loadup.el international/mule-conf.el patcomp.el \
	paths.el mail/sc.el subdirs.el version.el \
	generic-x.el international/latin-8.el international/latin-9.el \
	emacs-lisp/cl-specs.el finder-inf.el term/internal.el

# The actual Emacs command run in the targets below.

emacs = $(EMACS) $(EMACSOPT)

.el.elc:
	-$(emacs) -f batch-byte-compile $<

$(DONTCOMPILE:.el=.elc):
	-$(DEL) $@

# Recompile all Lisp files which are newer than their .elc files.
# Note that this doesn't create .elc files.  It only recompiles if an
# .elc is present.

recompile:
	$(emacs) -f batch-byte-recompile-directory .

#
# Assuming INSTALL_DIR is defined, copy the elisp files to it
# Windows 95 makes this harder than it should be.
#
install:
		- mkdir $(INSTALL_DIR)\lisp
		- $(DEL) .\same-dir.tst
		- $(DEL) $(INSTALL_DIR)\lisp\same-dir.tst
		echo SameDirTest > $(INSTALL_DIR)\lisp\same-dir.tst
!ifdef COPY_LISP_SOURCE
		if not exist .\same-dir.tst $(CP_DIR) . $(INSTALL_DIR)\lisp
!else
		if not exist .\same-dir.tst $(CP_DIR) *.elc $(INSTALL_DIR)\lisp
		if not exist .\same-dir.tst $(CP) cus-load.el $(INSTALL_DIR)\lisp
		if not exist .\same-dir.tst $(CP) forms*.el $(INSTALL_DIR)\lisp
		if not exist .\same-dir.tst $(CP) patcomp.el $(INSTALL_DIR)\lisp
		if not exist .\same-dir.tst $(CP) subdirs.el $(INSTALL_DIR)\lisp
		if not exist .\same-dir.tst $(CP) version.el $(INSTALL_DIR)\lisp
		if not exist .\same-dir.tst $(CP) mail\blessmail.el $(INSTALL_DIR)\lisp\mail
		if not exist .\same-dir.tst $(CP) mail\sc.el $(INSTALL_DIR)\lisp\mail
		if not exist .\same-dir.tst $(CP) play\bruce.el $(INSTALL_DIR)\lisp\play
		if not exist .\same-dir.tst $(CP) international\latin-*.el $(INSTALL_DIR)\lisp\international
		if not exist .\same-dir.tst $(CP) international\mule-conf.el $(INSTALL_DIR)\lisp\international
		- $(DEL) $(INSTALL_DIR)\lisp\same-dir.tst
!endif

#
# Maintenance
# 
clean:;		- $(DEL) *~ term\*~
		- $(DEL) *.orig *.rej *.crlf
		- $(DEL) emacs-lisp\*.orig emacs-lisp\*.rej emacs-lisp\*.crlf
		- $(DEL) emulation\*.orig emulation\*.rej emulation\*.crlf
		- $(DEL) gnus\*.orig gnus\*.rej gnus\*.crlf
		- $(DEL) international\*.orig international\*.rej international\*.crlf
		- $(DEL) language\*.orig language\*.rej language\*.crlf
		- $(DEL) mail\*.orig mail\*.rej mail\*.crlf
		- $(DEL) play\*.orig play\*.rej play\*.crlf
		- $(DEL) progmodes\*.orig progmodes\*.rej progmodes\*.crlf
		- $(DEL) term\*.orig term\*.rej term\*.crlf
		- $(DEL) textmodes\*.orig textmodes\*.rej textmodes\*.crlf
		- $(DEL_TREE) deleted