Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Hugo Ishimaru
asdf
Commits
023dece3
Commit
023dece3
authored
Feb 27, 2016
by
Robert Goldman
Browse files
Classic Makefile becomes default.
parent
ca822b7f
Changes
3
Hide whitespace changes
Inline
Side-by-side
Makefile
View file @
023dece3
# -*- Makefile -*- This minimal Makefile delegates most work to the asdf-tools script
#
# End-Users, all you need to do is:
# make
#
# Vendors, you may want to test your implementation with:
# make test l=sbcl
# BUT you first need have installed the development-time external dependencies of ASDF;
# this will be done automatically if you are using quicklisp;
# you can do it manually with your favorite tools (e.g. clbuild or git);
# or you can do it using `git submodule update` which is also available as:
# make ext
# To undo the `git submodule update` you can use: `make noext`
#
# Other targets are for maintainer use only. If you want a list of all of the targets, use
# make help
#
### Default fall back rule: delegate to asdf-tools.
# Note that the l= L= etc. are the only way I (Faré) have found to
# pass arguments from the Makefile to the underlying script:
# l= overrides $ASDF_TEST_LISPS to specify which lisp implementations to use
# L= overrides $ASDF_UPGRADE_TEST_LISPS (defaults to the former) to lisps during upgrade
# s= overrides $ASDF_TEST_SYSTEMS to specify systems with which to test ASDF
# t= overrides $ASDF_TESTS to specify test script patterns to use (default to *.script)
# u= overrides $ASDF_UPGRADE_TEST_TAGS to specify versions to upgrade from (e.g. 3.0.3 or REQUIRE)
# U= overrides $ASDF_UPGRADE_TEST_METHODS to specify upgrade methods
# v= overrides the default next version for bump-version or bump.
# see in tools/test-environment.lisp for details.
# Note that because of how make and the shell quote arguments,
# thou shalt not use the single-quote character in any of the short x= parameters
# (but you may use them in the long variant in the exported environment variable).
# To have a list of commands, see make help or ./tools/asdf-tools help
# Note that when you call ./tools/asdf-tools directly,
# you may have to use positional parameters instead (unless you use env as below), as in
# ./tools/asdf-tools bump 3.2.1
# instead of
# make bump v=3.2.1
# or
# ./make.sh v=3.2.1 bump
# or
# ./tools/asdf-tools env v=3.2.1 bump
# or
# v=3.2.1 ./tools/asdf-tools bump
ifeq
($(OS),Windows_NT)
MAKE_SCRIPT
:=
cmd /c make.bat
# Configuring this Makefile for your personal use:
# Set environment variable ASDF_TEST_LISPS to a space-separated list of values
# (see "defaultlisps" below, for an example).
# If you have a special way to find libraries that are used in the build and
# test process, you may bind ASDF_DEVEL_SOURCE_REGISTRY to a source registry to
# use (using the environment variable syntax), or bind it to "override" to use
# your normal CL source registry. Otherwise, it will use local copies of
# everything.
system
:=
"asdf"
webhome_private
:=
common-lisp.net:/project/asdf/public_html/
webhome_public
:=
"http://common-lisp.net/project/asdf/"
clnet_home
:=
"/project/asdf/public_html/"
sourceDirectory
:=
$(
shell
dirname
$(
realpath
$(
lastword
$(MAKEFILE_LIST)
)))
#### Common Lisp implementations available for testing.
## export ASDF_TEST_LISPS to override the default list of such implementations,
## or specify a lisps= argument at the make command-line
defaultLisps
=
ccl clisp sbcl ecl ecl_bytecodes cmucl abcl scl allegro lispworks allegromodern gcl xcl mkcl
ifdef
ASDF_TEST_LISPS
lisps
?=
${ASDF_TEST_LISPS}
else
lisps
?=
${defaultLisps}
endif
ifdef
ASDF_UPGRADE_TEST_LISPS
ulisps
?=
${ASDF_UPGRADE_TEST_LISPS}
else
MAKE_SCRIPT
:=
./make.sh
ifdef
ASDF_TEST_LISPS
ulisps
?=
${ASDF_TEST_LISPS}
else
ulisps
?=
${defaultLisps}
endif
endif
## grep for #+/#- features in the test/ directory to see plenty of disabled tests on some platforms
## NOT SUPPORTED BY OUR AUTOMATED TESTS:
## cormancl genera lispworks-personal-edition rmcl
## Some are manually tested once in a while.
ifdef
ASDF_TEST_SYSTEMS
s
?=
${ASDF_TEST_SYSTEMS}
endif
ifdef
ASDF_DEVEL_SOURCE_REGISTRY
ifeq
($(ASDF_DEVEL_SOURCE_REGISTRY), override)
# do nothing... Use the user's CL_SOURCE_REGISTRY
else
export
CL_SOURCE_REGISTRY
=
${ASDF_DEVEL_SOURCE_REGISTRY}
endif
else
# no ASDF_DEVEL_SOURCE_REGISTRY
export
CL_SOURCE_REGISTRY
=
${sourceDirectory}
/:
${sourceDirectory}
/uiop/:
${sourceDirectory}
/ext//:
endif
l
?=
sbcl
ABCL
?=
abcl
ALLEGRO
?=
alisp
ALLEGROMODERN
?=
mlisp
CCL
?=
ccl
CLISP
?=
clisp
CMUCL
?=
cmucl
ECL
?=
ecl
GCL
?=
gcl
LISPWORKS
?=
lispworks
MKCL
?=
mkcl
SBCL
?=
sbcl
SCL
?=
scl
XCL
?=
xcl
header_lisp
:=
header.lisp
driver_lisp
:=
uiop/package.lisp uiop/common-lisp.lisp uiop/utility.lisp uiop/os.lisp uiop/pathname.lisp uiop/filesystem.lisp uiop/stream.lisp uiop/image.lisp uiop/run-program.lisp uiop/lisp-build.lisp uiop/configuration.lisp uiop/backward-driver.lisp uiop/driver.lisp
defsystem_lisp
:=
upgrade.lisp component.lisp system.lisp cache.lisp find-system.lisp find-component.lisp operation.lisp action.lisp lisp-action.lisp plan.lisp operate.lisp output-translations.lisp source-registry.lisp parse-defsystem.lisp bundle.lisp concatenate-source.lisp package-inferred-system.lisp backward-internals.lisp backward-interface.lisp interface.lisp user.lisp footer.lisp
all_lisp
:=
$(header_lisp)
$(driver_lisp)
$(defsystem_lisp)
# Making ASDF itself should be our first, default, target:
build/asdf.lisp
:
$(all_lisp)
mkdir
-p
build
rm
-f
$@
cat
$(all_lisp)
>
$@
ext
:
git submodule update
--init
noext
:
git submodule deinit .
# This quickly locates such mistakes as unbalanced parentheses:
load
:
build/asdf.lisp
./test/run-tests.sh
-t
$l
$(all_lisp)
install
:
archive
bump
:
bump-version
git commit
-a
-m
"Bump version to
$
$(
eval
a=
$$
(cat version.lisp-expr
)
; echo
$$
a
)
"
temp
=
$$
(
cat
version.lisp-expr
)
;
temp
=
"
$
${
temp
%\
"}"
; temp=
"
$
${
temp
#\
"}"
; git tag
$$temp
bump-version
:
build/asdf.lisp
./bin/bump-version
${v}
driver-files
:
@
echo
$(driver_lisp)
defsystem-files
:
@
echo
$(defsystem_lisp)
# FIXME: needs rewrite
#archive: build/asdf.lisp
# ./bin/asdf-builder make-and-publish-archive
### Count lines separately for asdf-driver and asdf itself:
wc
:
@
wc
$(driver_lisp)
|
sort
-n
;
echo
;
\
wc
$(header_lisp)
$(defsystem_lisp)
|
sort
-n
;
\
echo
;
\
wc
$(header_lisp)
$(driver_lisp)
$(defsystem_lisp)
|
tail
-n
1
push
:
git status
git push
--tags
cl.net release master
git push
--tags
github release master
git fetch
git status
all ext noext driver_files defsystem_files build_asdf build_asdf_tools
:
force
${MAKE_SCRIPT}
$@
# doc:
# ${MAKE} -C doc
# don't have the toolchain to build docs installed...
doc
:
;
website
:
${MAKE}
-C
doc website
build/asdf.lisp
:
build_asdf
build/asdf-tools build/asdf-tools.exe
:
build_asdf_tools
clean_dirs
=
$(sourceDirectory)
clean_extensions
=
fasl dfsl cfsl fasl fas lib dx32fsl lx64fsl lx32fsl ufasl o bak x86f vbin amd64f sparcf sparc64f hpf hp64f
.PHONY
:
force all ext noext driver_files defsystem_files build_asdf build_asdf_tools
clean
:
@
for
dir
in
$(clean_dirs)
;
do
\
if
test
-d
$$
dir
;
then
\
echo
Cleaning
$$
dir
;
\
for
ext
in
$(clean_extensions)
;
do
\
find
$$
dir
\(
-name
"*.
$$
ext"
\)
\
-and
-not
-path
\"
"*/.git/*"
\"
\
-and
-not
-path
\"
"*/_darcs/*"
\"
\
-and
-not
-path
\"
"*/tags/*"
\"
-print
-delete
;
\
done
;
\
fi
;
\
done
rm
-rf
build/ LICENSE
test
/try-reloading-dependency.asd
test
/hello-world-example asdf.lisp
rm
-rf
test
/hello-world-example.exe
test
/mkcl_
*
.dll
# needed only on MS-Windows
rm
-rf
.pc/ build-stamp debian/patches/ debian/debhelper.log debian/cl-asdf/
# debian crap
${MAKE}
-C
doc clean
# The text below was automaticaly generated by `make --silent makefile-targets`
# then manually inserted here to provide for completion:
.PHONY
:
archive build-asdf build-asdf-tools bump bump-version check-all-results check-all-scripts-results check-all-upgrade-results clean debian-package doc ext-clear ext-init ext-reset ext-update extract extract-all-tagged-asdf extract-tagged-asdf fix-local-git-tags fix-remote-git-tags git-all-committed-p help install install-asdf link-archive load make-and-publish-archive make-archive makefile-targets merge-master-into-release publish-archive publish-debian-package push re show-commands t test test-all test-all-clean-load test-all-no-stop test-all-no-upgrade test-all-no-upgrade-no-stop test-all-scripts test-all-scripts-no-stop test-all-upgrade test-all-upgrade-no-stop test-ascii test-basic test-clean-load test-load-systems test-scripts test-upgrade u wc website
mrproper
:
git clean
-xfd
archive build-asdf build-asdf-tools bump bump-version check-all-results check-all-scripts-results check-all-upgrade-results clean debian-package doc ext-clear ext-init ext-reset ext-update extract extract-all-tagged-asdf extract-tagged-asdf fix-local-git-tags fix-remote-git-tags git-all-committed-p help install install-asdf link-archive load make-and-publish-archive make-archive makefile-targets merge-master-into-release publish-archive publish-debian-package push re show-commands t test test-all test-all-clean-load test-all-no-stop test-all-no-upgrade test-all-no-upgrade-no-stop test-all-scripts test-all-scripts-no-stop test-all-upgrade test-all-upgrade-no-stop test-ascii test-basic test-clean-load test-load-systems test-scripts test-upgrade u wc website
:
force
${MAKE_SCRIPT}
l
=
'$l'
L
=
'$L'
u
=
'$u'
U
=
'$U'
v
=
'$v'
s
=
'$s'
t
=
'$t'
$@
test-upgrade
:
build/asdf.lisp
./test/run-tests.sh
-u
${l}
u
:
test-upgrade
test-clean-load
:
build/asdf.lisp
./test/run-tests.sh
-c
${l}
# test-glob has been replaced by t, and lisp by l, easier to type
test-lisp
:
build/asdf.lisp
@
cd test
;
./run-tests.sh
${l}
${t}
t
:
test-lisp
test
:
doc test-lisp test-clean-load test-load-systems
test-load-systems
:
build/asdf.lisp
./test/run-tests.sh
-l
${l}
${s}
test-all-lisps
:
test-load-systems test-all-clean-load test-all-lisp test-all-upgrade
test-all-clean-load
:
@
for
lisp
in
${lisps}
;
do
${MAKE}
test-clean-load
l
=
$$
lisp
||
exit
1
;
done
test-all-lisp
:
@
for
lisp
in
${lisps}
;
do
${MAKE}
test-lisp
l
=
$$
lisp
||
exit
1
;
done
test-all-upgrade
:
@
for
lisp
in
${ulisps}
;
do
${MAKE}
test-upgrade
l
=
$$
lisp
||
exit
1
;
done
test-all-no-upgrade
:
doc test-load-systems test-all-clean-load test-all-lisp
test-all
:
test-all-no-upgrade test-all-upgrade
test-all-lisp-no-stop
:
@
for
lisp
in
${lisps}
;
do
${MAKE}
test-lisp
l
=
$$
lisp
;
done
;
:
test-all-upgrade-no-stop
:
@
for
lisp
in
${ulisps}
;
do
${MAKE}
test-upgrade
l
=
$$
lisp
;
done
;
:
test-all-no-upgrade-no-stop
:
doc test-load-systems test-all-clean-load test-all-lisp-no-stop
make
--quiet
check-all-test-results
test-all-no-stop
:
doc test-load-systems test-all-clean-load test-all-lisp-no-stop test-all-upgrade-no-stop
make
--quiet
check-all-results
check-all-test-results
:
@
A
=
"
`
grep
-L
'[5-9][0-9] passing and 0 failing'
build/results/
*
-test
.text
`
"
;
\
if
[
-n
"
$$
A"
]
;
then
\
echo
"Unexpected test failures on these implementations:"
;
\
echo
"
$$
A"
;
\
exit
1
;
\
fi
check-all-upgrade-results
:
@
A
=
"
`
grep
-L
'Upgrade test succeeded for '
build/results/
*
-upgrade
.text
`
"
;
\
if
[
-n
"
$$
A"
]
;
then
\
echo
"Unexpected upgrade failures on these implementations:"
;
\
echo
"
$$
A"
;
\
exit
1
;
\
fi
check-all-results
:
@
r
=
0
;
\
make
--quiet
check-all-test-results
||
r
=
1
;
\
make
--quiet
check-all-upgrade-results
||
r
=
1
;
\
exit
$r
extract
:
extract-all-tagged-asdf
extract-all-tagged-asdf
:
build/asdf.lisp
./test/run-tests.sh
-H
# Delete wrongful tags from local repository
fix-local-git-tags
:
for
i
in
${WRONGFUL_TAGS}
;
do
git tag
-d
$$
i
;
done
# Delete wrongful tags from remote repository
fix-remote-git-tags
:
for
i
in
${WRONGFUL_TAGS}
;
do
git push
$
${
REMOTE
:-
cl
.net
}
:refs/tags/
$$
i
;
done
release-push
:
git checkout master
git merge release
git checkout release
git merge master
git checkout master
TODO
:
exit
2
release
:
TODO test-all test-on-other-machines-too debian-changelog debian-package send-mail-to-mailing-lists
.PHONY
:
install archive push doc website clean mrproper
\
test-forward-references test test-lisp test-upgrade test-forward-references
\
test-all test-all-lisps test-all-no-upgrade
\
debian-package release
\
replace-sbcl-asdf replace-ccl-asdf
\
fix-local-git-tags fix-remote-git-tags wc wc-driver wc-asdf
\
list-source-registry
\
ext noext
# debug the source registry that will be used to execute commands from this Makefile.
#list-source-registry:
# ${sourceDirectory}/bin/asdf-builder re '(uiop:writeln (sort (alexandria:hash-table-alist asdf::*source-registry*) `string< :key `car))'
# RELEASE or PUSH checklist:
# make test-all
# make test-load-systems s=fare-all
# make bump v=3.0
# edit debian/changelog # RELEASE only...
# git commit
# git tag 3.0 # for example ...
# make debian-package
# git push
# git push origin 3.0 # for example...
# everything from here for RELEASE only
# make release-push archive website debian-package
# dput mentors ../*.changes
# send debian mentors request
# send announcement to asdf-announce, asdf-devel, etc.
# Move all fixed bugs from Fix Committed -> Fix Released on launchpad
#
## Users don't release as above, only maintainers do.
## Users, all you need to do is: make
## Vendors, you may want to test your implementation with: make test l=sbcl
Makefile-classic
deleted
100644 → 0
View file @
ca822b7f
# Configuring this Makefile for your personal use:
# Set environment variable ASDF_TEST_LISPS to a space-separated list of values
# (see "defaultlisps" below, for an example).
# If you have a special way to find libraries that are used in the build and
# test process, you may bind ASDF_DEVEL_SOURCE_REGISTRY to a source registry to
# use (using the environment variable syntax), or bind it to "override" to use
# your normal CL source registry. Otherwise, it will use local copies of
# everything.
system := "asdf"
webhome_private := common-lisp.net:/project/asdf/public_html/
webhome_public := "http://common-lisp.net/project/asdf/"
clnet_home := "/project/asdf/public_html/"
sourceDirectory := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
#### Common Lisp implementations available for testing.
## export ASDF_TEST_LISPS to override the default list of such implementations,
## or specify a lisps= argument at the make command-line
defaultLisps = ccl clisp sbcl ecl ecl_bytecodes cmucl abcl scl allegro lispworks allegromodern gcl xcl mkcl
ifdef ASDF_TEST_LISPS
lisps ?= ${ASDF_TEST_LISPS}
else
lisps ?= ${defaultLisps}
endif
ifdef ASDF_UPGRADE_TEST_LISPS
ulisps ?= ${ASDF_UPGRADE_TEST_LISPS}
else
ifdef ASDF_TEST_LISPS
ulisps ?= ${ASDF_TEST_LISPS}
else
ulisps ?= ${defaultLisps}
endif
endif
## grep for #+/#- features in the test/ directory to see plenty of disabled tests on some platforms
## NOT SUPPORTED BY OUR AUTOMATED TESTS:
## cormancl genera lispworks-personal-edition rmcl
## Some are manually tested once in a while.
ifdef ASDF_TEST_SYSTEMS
s ?= ${ASDF_TEST_SYSTEMS}
endif
ifdef ASDF_DEVEL_SOURCE_REGISTRY
ifeq ($(ASDF_DEVEL_SOURCE_REGISTRY), override)
# do nothing... Use the user's CL_SOURCE_REGISTRY
else
export CL_SOURCE_REGISTRY = ${ASDF_DEVEL_SOURCE_REGISTRY}
endif
else # no ASDF_DEVEL_SOURCE_REGISTRY
export CL_SOURCE_REGISTRY = ${sourceDirectory}/:${sourceDirectory}/uiop/:${sourceDirectory}/ext//:
endif
l ?= sbcl
ABCL ?= abcl
ALLEGRO ?= alisp
ALLEGROMODERN ?= mlisp
CCL ?= ccl
CLISP ?= clisp
CMUCL ?= cmucl
ECL ?= ecl
GCL ?= gcl
LISPWORKS ?= lispworks
MKCL ?= mkcl
SBCL ?= sbcl
SCL ?= scl
XCL ?= xcl
header_lisp := header.lisp
driver_lisp := uiop/package.lisp uiop/common-lisp.lisp uiop/utility.lisp uiop/os.lisp uiop/pathname.lisp uiop/filesystem.lisp uiop/stream.lisp uiop/image.lisp uiop/run-program.lisp uiop/lisp-build.lisp uiop/configuration.lisp uiop/backward-driver.lisp uiop/driver.lisp
defsystem_lisp := upgrade.lisp component.lisp system.lisp cache.lisp find-system.lisp find-component.lisp operation.lisp action.lisp lisp-action.lisp plan.lisp operate.lisp output-translations.lisp source-registry.lisp parse-defsystem.lisp bundle.lisp concatenate-source.lisp package-inferred-system.lisp backward-internals.lisp backward-interface.lisp interface.lisp user.lisp footer.lisp
all_lisp := $(header_lisp) $(driver_lisp) $(defsystem_lisp)
# Making ASDF itself should be our first, default, target:
build/asdf.lisp: $(all_lisp)
mkdir -p build
rm -f $@
cat $(all_lisp) > $@
ext:
git submodule update --init
noext:
git submodule deinit .
# This quickly locates such mistakes as unbalanced parentheses:
load: build/asdf.lisp
./test/run-tests.sh -t $l $(all_lisp)
install: archive
bump: bump-version
git commit -a -m "Bump version to $$(eval a=$$(cat version.lisp-expr) ; echo $$a)"
temp=$$(cat version.lisp-expr); temp="$${temp%\"}"; temp="$${temp#\"}"; git tag $$temp
bump-version: build/asdf.lisp
./bin/bump-version ${v}
driver-files:
@echo $(driver_lisp)
defsystem-files:
@echo $(defsystem_lisp)
# FIXME: needs rewrite
#archive: build/asdf.lisp
# ./bin/asdf-builder make-and-publish-archive
### Count lines separately for asdf-driver and asdf itself:
wc:
@wc $(driver_lisp) | sort -n ; echo ; \
wc $(header_lisp) $(defsystem_lisp) | sort -n ; \
echo ; \
wc $(header_lisp) $(driver_lisp) $(defsystem_lisp) | tail -n 1
push:
git status
git push --tags cl.net release master
git push --tags github release master
git fetch
git status
# doc:
# ${MAKE} -C doc
# don't have the toolchain to build docs installed...
doc: ;
website:
${MAKE} -C doc website
clean_dirs = $(sourceDirectory)
clean_extensions = fasl dfsl cfsl fasl fas lib dx32fsl lx64fsl lx32fsl ufasl o bak x86f vbin amd64f sparcf sparc64f hpf hp64f
clean:
@for dir in $(clean_dirs); do \
if test -d $$dir; then \
echo Cleaning $$dir; \
for ext in $(clean_extensions); do \
find $$dir \( -name "*.$$ext" \) \
-and -not -path \""*/.git/*"\" \
-and -not -path \""*/_darcs/*"\" \
-and -not -path \""*/tags/*"\" -print -delete; \
done; \
fi; \
done
rm -rf build/ LICENSE test/try-reloading-dependency.asd test/hello-world-example asdf.lisp
rm -rf test/hello-world-example.exe test/mkcl_*.dll # needed only on MS-Windows
rm -rf .pc/ build-stamp debian/patches/ debian/debhelper.log debian/cl-asdf/ # debian crap
${MAKE} -C doc clean
mrproper:
git clean -xfd
test-upgrade: build/asdf.lisp
./test/run-tests.sh -u ${l}
u: test-upgrade
test-clean-load: build/asdf.lisp
./test/run-tests.sh -c ${l}
# test-glob has been replaced by t, and lisp by l, easier to type
test-lisp: build/asdf.lisp
@cd test; ./run-tests.sh ${l} ${t}
t: test-lisp
test: doc test-lisp test-clean-load test-load-systems
test-load-systems: build/asdf.lisp
./test/run-tests.sh -l ${l} ${s}
test-all-lisps: test-load-systems test-all-clean-load test-all-lisp test-all-upgrade
test-all-clean-load:
@for lisp in ${lisps} ; do ${MAKE} test-clean-load l=$$lisp || exit 1 ; done
test-all-lisp:
@for lisp in ${lisps} ; do ${MAKE} test-lisp l=$$lisp || exit 1 ; done
test-all-upgrade:
@for lisp in ${ulisps} ; do ${MAKE} test-upgrade l=$$lisp || exit 1 ; done
test-all-no-upgrade: doc test-load-systems test-all-clean-load test-all-lisp
test-all: test-all-no-upgrade test-all-upgrade
test-all-lisp-no-stop:
@for lisp in ${lisps} ; do ${MAKE} test-lisp l=$$lisp ; done ; :
test-all-upgrade-no-stop:
@for lisp in ${ulisps} ; do ${MAKE} test-upgrade l=$$lisp ; done ; :
test-all-no-upgrade-no-stop: doc test-load-systems test-all-clean-load test-all-lisp-no-stop
make --quiet check-all-test-results
test-all-no-stop: doc test-load-systems test-all-clean-load test-all-lisp-no-stop test-all-upgrade-no-stop
make --quiet check-all-results
check-all-test-results:
@A="`grep -L '[5-9][0-9] passing and 0 failing' build/results/*-test.text`" ; \
if [ -n "$$A" ] ; then \
echo "Unexpected test failures on these implementations:" ; \
echo "$$A" ; \
exit 1 ; \
fi
check-all-upgrade-results:
@A="`grep -L 'Upgrade test succeeded for ' build/results/*-upgrade.text`" ; \
if [ -n "$$A" ] ; then \
echo "Unexpected upgrade failures on these implementations:" ; \
echo "$$A" ; \
exit 1 ; \
fi
check-all-results:
@r=0 ; \
make --quiet check-all-test-results || r=1 ; \
make --quiet check-all-upgrade-results || r=1 ; \
exit $r
extract: extract-all-tagged-asdf
extract-all-tagged-asdf: build/asdf.lisp
./test/run-tests.sh -H
# Delete wrongful tags from local repository
fix-local-git-tags:
for i in ${WRONGFUL_TAGS} ; do git tag -d $$i ; done
# Delete wrongful tags from remote repository
fix-remote-git-tags:
for i in ${WRONGFUL_TAGS} ; do git push $${REMOTE:-cl.net} :refs/tags/$$i ; done
release-push:
git checkout master
git merge release
git checkout release
git merge master
git checkout master
TODO:
exit 2
release: TODO test-all test-on-other-machines-too debian-changelog debian-package send-mail-to-mailing-lists
.PHONY: install archive push doc website clean mrproper \
test-forward-references test test-lisp test-upgrade test-forward-references \
test-all test-all-lisps test-all-no-upgrade \
debian-package release \
replace-sbcl-asdf replace-ccl-asdf \
fix-local-git-tags fix-remote-git-tags wc wc-driver wc-asdf \
list-source-registry \
ext noext
# debug the source registry that will be used to execute commands from this Makefile.
#list-source-registry:
# ${sourceDirectory}/bin/asdf-builder re '(uiop:writeln (sort (alexandria:hash-table-alist asdf::*source-registry*) `string< :key `car))'
# RELEASE or PUSH checklist:
# make test-all
# make test-load-systems s=fare-all
# make bump v=3.0
# edit debian/changelog # RELEASE only...
# git commit
# git tag 3.0 # for example ...
# make debian-package
# git push
# git push origin 3.0 # for example...
# everything from here for RELEASE only
# make release-push archive website debian-package
# dput mentors ../*.changes
# send debian mentors request
# send announcement to asdf-announce, asdf-devel, etc.
# Move all fixed bugs from Fix Committed -> Fix Released on launchpad
#
## Users don't release as above, only maintainers do.
## Users, all you need to do is: make
## Vendors, you may want to test your implementation with: make test l=sbcl
Makefile-lisp-scripting
0 → 100644
View file @
023dece3
# -*- Makefile -*- This minimal Makefile delegates most work to the asdf-tools script
#
# End-Users, all you need to do is:
# make
#
# Vendors, you may want to test your implementation with:
# make test l=sbcl
# BUT you first need have installed the development-time external dependencies of ASDF;
# this will be done automatically if you are using quicklisp;
# you can do it manually with your favorite tools (e.g. clbuild or git);
# or you can do it using `git submodule update` which is also available as:
# make ext
# To undo the `git submodule update` you can use: `make noext`
#
# Other targets are for maintainer use only. If you want a list of all of the targets, use
# make help
#
### Default fall back rule: delegate to asdf-tools.
# Note that the l= L= etc. are the only way I (Faré) have found to
# pass arguments from the Makefile to the underlying script:
# l= overrides $ASDF_TEST_LISPS to specify which lisp implementations to use
# L= overrides $ASDF_UPGRADE_TEST_LISPS (defaults to the former) to lisps during upgrade
# s= overrides $ASDF_TEST_SYSTEMS to specify systems with which to test ASDF
# t= overrides $ASDF_TESTS to specify test script patterns to use (default to *.script)
# u= overrides $ASDF_UPGRADE_TEST_TAGS to specify versions to upgrade from (e.g. 3.0.3 or REQUIRE)
# U= overrides $ASDF_UPGRADE_TEST_METHODS to specify upgrade methods
# v= overrides the default next version for bump-version or bump.
# see in tools/test-environment.lisp for details.
# Note that because of how make and the shell quote arguments,
# thou shalt not use the single-quote character in any of the short x= parameters
# (but you may use them in the long variant in the exported environment variable).
# To have a list of commands, see make help or ./tools/asdf-tools help
# Note that when you call ./tools/asdf-tools directly,
# you may have to use positional parameters instead (unless you use env as below), as in
# ./tools/asdf-tools bump 3.2.1
# instead of
# make bump v=3.2.1
# or
# ./make.sh v=3.