aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/makefile.nt
blob: c1b905498b952a1b7dee2e13f8aecd2e65d5eb06 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#  Hacked up Nmake makefile for GNU Emacs
#   Geoff Voelker ([email protected])
#  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