Newer
Older
# 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 ECL.
# 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=https://common-lisp.net/project/ecl/
ADDRESS=https://gitlab.com/embeddable-common-lisp/ecl
# ==================== 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@
datarootdir=@datarootdir@
datadir=@datadir@
bindir=@bindir@
infodir=@infodir@
mandir=@mandir@
libdir=@libdir@
# ==================== 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)
Makefile: Makefile.in build/config.status
(cd build; ./config.status)
ecl_min: build/Makefile
cd build; $(MAKE) ecl_min
INSTALL_TARGET = @INSTALL_TARGET@
install: build/Makefile
cd build; $(MAKE) $(INSTALL_TARGET)
# ==================== 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.
# `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
# `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
# ==================== Various means of distribution ====================
TAR_DIR=ecl-$(VERSION)
doc:
$(MAKE) -C build/doc
.PHONY: doc
$(TAR_DIR).tgz:
git archive --format=tar.gz --prefix=$(TAR_DIR)/ HEAD > $@
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); \
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); \
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