Newer
Older
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
# DIST: This is the distribution Makefile for MKCL. configure can
# DIST: make most of the changes to this file you might want, so try
# DIST: that first.
#
#
# Copyright (c) 2010, Jean-Claude Beaudoin.
# Copyright by a number of previous anonymous authors
# presumed to be the same as for the rest of MKCL.
#
# MKCL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 3 of the License, or (at your option) any later version.
#
# See file './Copyright' for full details.
#
#
# 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.
SHELL = /bin/sh
MACHINE = @MACHINE_VERSION@
# ========================= Last release ================================
VERSION=@PACKAGE_VERSION@
WWW=
ADDRESS=
# ==================== Things `configure' Might Edit ====================
# Where to find the source code.
# This is set by the configure script's `--srcdir' option.
srcdir=@srcdir@
prefix=@prefix@
exec_prefix=@exec_prefix@
bindir=@bindir@
infodir=@infodir@
mandir=@mandir@
libdir=@libdir@
datarootdir=@datarootdir@
# What to release
TAR_CONTENTS=Makefile.in README.1st LGPL ANNOUNCEMENT Copyright doc \
configure src/c src/cmp src/clos src/CHANGELOG src/lsp src/doc \
src/mkcl src/gmp src/config* src/install.sh src/Makefile.in \
src/util contrib/ src/clx src/gc src/*.in src/*.m4 src/gabriel \
src/tests/Makefile.in src/ansi-tests/Makefile.in msvc examples
# ==================== Utility Programs for the Build ====================
# Allow the user to specify the install program.
@SET_MAKE@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
# ============================= Build ==============================
all:
cd src; $(MAKE) depend all
.PHONY: all
Makefile: Makefile.in src/config.status
(cd src; ./config.status)
depend:
cd src; $(MAKE) depend
# ==================== Installation ====================
INSTALL_TARGET = @INSTALL_TARGET@
install: src/Makefile
cd src; $(MAKE) $(INSTALL_TARGET)
uninstall:
cd src; $(MAKE) uninstall
# ==================== Cleaning up and miscellanea ====================
# `clean'
# 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.
#
clean:
cd src; $(MAKE) clean
# `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.
distclean: clean
cd src; $(MAKE) distclean
rm -f Makefile
# `realclean'
# Delete everything from the current directory that can be
# reconstructed with 'configure' and this Makefile.in.
# One exception, however: `make realclean' should not delete
# `configure' even if `configure' can be remade using a rule in the
# Makefile. More generally, `make realclean' should not delete
# anything that needs to exist in order to run `configure' and then
# begin to build the program.
realclean: distclean
rm -f *~
cd src; $(MAKE) realclean
# ==================== Various means of distribution ====================
TAR_DIR=mkcl-$(VERSION)
doc: src/doc/index.html
-mkdir doc
(cd src/doc; make html); cp src/doc/*.html doc
src/doc/index.html:
cd src/doc; $(MAKE)
source-dist: $(TAR_DIR).tgz
rpmdir=$(shell rpm --showrc | grep '^-[0-9]*:.*[^{]_topdir' | sed 's,^.*topdir[ ]*\(.*\)[ ]*,\1,')
rpmbuild=$(shell if [ -z `which rpmbuild` ]; then echo "rpm"; else echo "rpmbuild"; fi)
# OBSOLETE!!!
# rpm: doc
# -rm -rf $(TAR_DIR)
# mkdir $(TAR_DIR) $(TAR_DIR)/src \
# $(TAR_DIR)/src/tests $(TAR_DIR)/src/ansi-tests && \
# for i in $(TAR_CONTENTS); do cp -rf $$i $(TAR_DIR)/$$i; done && \
# tar -cz --exclude '*~' --exclude '#*' --exclude 'CVS' -f $(rpmdir)/SOURCES/$(TAR_DIR).tgz $(TAR_DIR)
# if [ -f /etc/SuSE-release ]; then HOST=SUSE; else HOST=REDHAT; fi; \
# cat src/util/mkcl.spec |\
# sed 's,MKCL_VERSION,$(VERSION),;s,^#% '$${HOST}' ,,g;'|\
# grep -v '^#% ' > $(rpmdir)/SPECS/mkcl.spec;
# rpm -ba $(rpmdir)/SPECS/mkcl.spec
$(TAR_DIR):
git clone .git $(TAR_DIR)
$(TAR_DIR).tgz: $(TAR_DIR)
cd $(TAR_DIR) && git pull && git reset --hard
tar -cz --exclude .git -f $(TAR_DIR).tgz $(TAR_DIR)
binary-dist: all
su -c "rm -rf tmp"
mkdir tmp
for i in tmp$(bindir) tmp$(infodir) tmp$(mandir) tmp$(libdir); do \
(echo $$i; IFS="/"; \for k in $$i; do echo $$k; (test -d $$k || mkdir $$k); chmod 755 $$k; cd $$k; done); \
done
prefix=`pwd`/tmp; cd src; $(MAKE) install prefix=$(prefix)
su -c "chown -R root.root tmp && cd tmp; tar czf ../mkcl-$(VERSION)-$(MACHINE).tgz * && cd .. && rm -rf tmp"
# This creates a ZIP file with a flattened directory structure
windows-dist: all
cd src; rm -rf $(TAR_DIR); mkdir $(TAR_DIR); \
$(MAKE) flatinstall prefix=`pwd`/$(TAR_DIR); \
zip -r $(TAR_DIR).zip $(TAR_DIR)
windows-nsi: all
cd src; rm -rf $(TAR_DIR); mkdir $(TAR_DIR); \
$(MAKE) flatinstall prefix=`pwd`/$(TAR_DIR)
`pwd`/src/util/mkcl_nsi.sh `pwd`/src/util/mkcl.nsi src/$(TAR_DIR)
makensis.exe src/$(TAR_DIR)/mkcl.nsi
mv src/$(TAR_DIR)/Setup.exe mkcl-$(VERSION).exe