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
|
# DIST: This is the distribution Makefile for ECL. configure can
# DIST: make most of the changes to this file you might want, so try
# DIST: that first.
# 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=http://ecls.sourceforge.net/
# ==================== 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@
# 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/h 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: build/Makefile
cd build; $(MAKE)
.PHONY: all
Makefile: Makefile.in build/config.status
(cd build; ./config.status)
# ==================== Installation ====================
INSTALL_TARGET = @INSTALL_TARGET@
install: build/Makefile
cd build; $(MAKE) $(INSTALL_TARGET)
uninstall:
cd build; $(MAKE) uninstall
# ==================== Documentation ====================
info:
(cd ${srcdir}/doc; $(MAKE) info)
dvi:
(cd ${srcdir}/doc; $(MAKE) dvi)
# ==================== 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 build; $(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
rm -fr build/config.status
rm -f Makefile
# `realclean'
# Delete everything from the current directory that can be
# reconstructed with this Makefile.
# 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
TAGS tags:
(cd ${srcdir}/src; \
etags c/*.[cd] h/*.h)
check test:
cd build; $(MAKE) test
TAR_DIR=ecl-$(VERSION)
doc: build/doc/index.html
-mkdir doc
(cd build/doc; make html); cp build/doc/*.html doc
build/doc/index.html:
cd build/doc; $(MAKE)
source-dist: $(TAR_DIR).tgz $(TAR_DIR)-tests.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)
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/ecl.spec |\
sed 's,ECL_VERSION,$(VERSION),;s,^#% '$${HOST}' ,,g;'|\
grep -v '^#% ' > $(rpmdir)/SPECS/ecl.spec;
rpm -ba $(rpmdir)/SPECS/ecl.spec
$(TAR_DIR).tgz: 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 $(TAR_DIR).tgz $(TAR_DIR)
$(TAR_DIR)-tests.tgz:
-rm -rf $(TAR_DIR)
mkdir $(TAR_DIR) && \
mkdir $(TAR_DIR)/src && \
cp -rf src/ansi-tests $(TAR_DIR)/src && \
tar -cz --exclude '*~' --exclude '#*' --exclude 'CVS' -f $(TAR_DIR)-tests.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 build; $(MAKE) install prefix=$(prefix)
su -c "chown -R root.root tmp && cd tmp; tar czf ../ecl-$(VERSION)-$(MACHINE).tgz * && cd .. && rm -rf tmp"
# This creates a ZIP file with a flattened directory structure
windows-dist: all
cd build; rm -rf $(TAR_DIR); mkdir $(TAR_DIR); \
$(MAKE) flatinstall prefix=`pwd`/$(TAR_DIR); \
zip -r $(TAR_DIR).zip $(TAR_DIR)
windows-nsi: all
cd build; rm -rf $(TAR_DIR); mkdir $(TAR_DIR); \
$(MAKE) flatinstall prefix=`pwd`/$(TAR_DIR)
`pwd`/src/util/ecl_nsi.sh `pwd`/src/util/ecl.nsi build/$(TAR_DIR)
makensis.exe build/$(TAR_DIR)/ecl.nsi
mv build/$(TAR_DIR)/Setup.exe ecl-$(VERSION).exe
dist:
cd dist; make-dist
|