Makefile 4.45 KB
Newer Older
David Kågedal's avatar
David Kågedal committed
1
# -*- Makefile -*-
Linus Tolke's avatar
Linus Tolke committed
2
# $Id$
3
# Copyright (C) 1991, 1996  Lysator Academic Computer Association.
Linus Tolke's avatar
Linus Tolke committed
4
5
6
7
8
#
# This file is part of the LysKOM server.
# 
# LysKOM is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by 
9
# the Free Software Foundation; either version 2, or (at your option) 
Linus Tolke's avatar
Linus Tolke committed
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# any later version.
# 
# LysKOM 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 LysKOM; see the file COPYING.  If not, write to
# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
# MA 02139, USA.
#
# Please mail bug reports to bug-lyskom@lysator.liu.se. 
#
25
26
# $Id$
#
Per Cederqvist's avatar
.    
Per Cederqvist committed
27

28

David Byers's avatar
David Byers committed
29
30
31
32
33
34
35
36
37
38
# ======================================================================
# Useful targets: all, lyskom.el lyskom.elc check verbose TAGS release
# clean distclean install
# ======================================================================

#
# NOTE: If you change this file, don't forget to change the distribution 
# makefile too!
#

39
CLIENTVERSION = 0.46-BETA-9
40
DOCFILES=NEWS-0.46
41

David Byers's avatar
David Byers committed
42
43
FTPDIR=/home/davby/www-pub
#FTPDIR = /usr/ftp/pub/lyskom/elisp-client
David Byers's avatar
David Byers committed
44
45
LISPDIR = /usr/gnu/share/emacs/site-lisp
LANGUAGES = swedish english
46

David Byers's avatar
David Byers committed
47
48
SHELL = /bin/sh
RM = /bin/rm -f
49
EMACS=xemacs
David Byers's avatar
David Byers committed
50
EMACS-BATCH = $(EMACS) -batch
51
52
GENERIC-CLEAN = *~ *.o core
GENERIC-DIST-CLEAN = TAGS
Linus Tolke's avatar
Linus Tolke committed
53

54
LANGUAGE-EL=$(LANGUAGES:=-strings.el)
David Byers's avatar
David Byers committed
55
56
57
58
59
60
EMACS-BATCH=$(EMACS) -batch
SOURCES	 = 	$(LANGUAGE-EL) \
		komtypes.el \
		clienttypes.el \
		deferred-insert.el \
		utilities.el \
61
		command.el \
David Byers's avatar
David Byers committed
62
		buffers.el \
63
		aux-items.el \
David Byers's avatar
David Byers committed
64
65
66
67
68
69
70
		prefetch.el \
		startup.el \
		reading.el \
		internal.el \
		services.el \
		parse.el \
		cache.el \
David Byers's avatar
David Byers committed
71
		view-mode.el \
David Byers's avatar
David Byers committed
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
		commands1.el \
		commands2.el \
		review.el \
		edit-text.el \
		filter.el \
		filter-edit.el \
		lyskom-buttons.el \
		view-text.el \
		async.el \
		completing-read.el \
		prioritize.el \
		flags.el \
		messages.el \
		ansaphone.el \
		remote-control.el \
		menus.el slow.el \
		elib-string.el \
		option-edit.el \
		lyskom-rest.el

HEADER = 	defvar.el \
David Byers's avatar
David Byers committed
93
		feature.el \
David Byers's avatar
David Byers committed
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
		vars.el \
		macros.el \
		compatibility.el \
		language.el

MISC =		envcheck.el \
		lpath.el

DISTFILES =     Makefile \
		README \
		COPYING

DISTSRC = $(DISTFILES:%=distribution-%)
HEADER-ELC = $(HEADER:%.el=%.elc)
SOURCES-ELC = $(SOURCES:%.el=%.elc)
109

Per Cederqvist's avatar
.    
Per Cederqvist committed
110

David Byers's avatar
David Byers committed
111
all: lyskom.elc
112

113
vars.el: vars.el.in Makefile
114
	rm -f vars.el
115
	sed 's/@@CLIENTVERSION@@/$(CLIENTVERSION)/' < vars.el.in > vars.el
116
	chmod 444 vars.el
117

118
119
120
121
122
123
124
125
126
%.elc: %.el header.el
	$(EMACS-BATCH) -l ./header.el -l ./lpath.el -f batch-byte-compile $<

header.el: $(HEADER)
	cat $(HEADER) > header.el

fast: $(HEADER-ELC) $(SOURCES-ELC)
	cat $(HEADER-ELC) $(SOURCES-ELC) > lyskom.elc

David Byers's avatar
David Byers committed
127
128
lyskom.el: $(HEADER) $(SOURCES)
	cat $(HEADER) $(SOURCES) > lyskom.el
129

David Kågedal's avatar
David Kågedal committed
130
lyskom.elc: lyskom.el
131
	$(EMACS-BATCH) -l ./lpath.el -f batch-byte-compile lyskom.el
David Kågedal's avatar
David Kågedal committed
132

David Byers's avatar
David Byers committed
133
check: lyskom.el
David Byers's avatar
David Byers committed
134
135
	$(EMACS-BATCH) -l ./lpath.el -l ./lyskom.el  -l ./check-strings.el \
			-f lyskom-check-strings
136

137
.PHONY: verbose
David Byers's avatar
David Byers committed
138
139
.PHONY: verbose-el

140
141
verbose: verbose-el lyskom.elc

David Byers's avatar
David Byers committed
142
verbose-el: $(HEADER) $(SOURCES)
143
144
	@echo "Building lyskom.el"
	@echo "" > lyskom.el
David Byers's avatar
David Byers committed
145
146
147
	@for i in $(HEADER) $(SOURCES) ; do \
		echo '(eval-when-compile (message "Compiling %s" "'$$i'"))' \
			>> lyskom.el ;\
148
149
150
		cat $$i >> lyskom.el ; \
	done 

Per Cederqvist's avatar
.    
Per Cederqvist committed
151

David Byers's avatar
David Byers committed
152
153
TAGS: $(HEADER) $(SOURCES)
	etags $(HEADER) $(SOURCES)
Per Cederqvist's avatar
.    
Per Cederqvist committed
154

155
install: lyskom.elc lyskom.el
David Kågedal's avatar
David Kågedal committed
156
	cp lyskom.el lyskom.elc $(LISPDIR)
157

158
release: $(HEADER) $(SOURCES) $(DISTSRC) $(MISC) lyskom.el
David Byers's avatar
David Byers committed
159
160
161
162
163
	mkdir lyskom-$(CLIENTVERSION)
	cp $(HEADER) $(SOURCES) $(MISC) lyskom-$(CLIENTVERSION)
	for i in $(DISTFILES) ; do \
		cp distribution-$$i lyskom-$(CLIENTVERSION)/$$i ; \
	done
David Byers's avatar
Bugfix    
David Byers committed
164
165
166
	for i in $(DOCFILES) ; do \
		cp ../doc/$$i lyskom-$(CLIENTVERSION)/$$i ; \
	done
David Byers's avatar
David Byers committed
167
	chmod -R u+rw,g+r,o+r lyskom-$(CLIENTVERSION)
David Byers's avatar
David Byers committed
168
169
170
171
172
	tar cvf lyskom-$(CLIENTVERSION).tar lyskom-$(CLIENTVERSION)
	gzip -9 lyskom-$(CLIENTVERSION).tar
	cp lyskom-$(CLIENTVERSION).tar.gz $(FTPDIR)
	rm -rf lyskom-$(CLIENTVERSION)
	rm -rf lyskom-$(CLIENTVERSION).tar.gz
173
	mv lyskom.el $(FTPDIR)/lyskom-$(CLIENTVERSION).el
174

175
176
clean:
	$(RM) *.el.gz *.elc.gz lyskom.el english-lyskom.el
David Byers's avatar
David Byers committed
177
178
179
	$(RM) -rf lyskom-$(CLIENTVERSION) \
		  lyskom-$(CLIENTVERSION).tar \
		  lyskom-$(CLIENTVERSION).tar.gz
180
	$(RM) *~ *.elc $(GENERIC-CLEAN)
Per Cederqvist's avatar
.    
Per Cederqvist committed
181

Linus Tolke's avatar
Linus Tolke committed
182
distclean: clean
183
	$(RM) $(GENERIC-DIST-CLEAN) vars.el