Makefile 3.9 KB
Newer Older
1
2
3
# -*- Makefile -*- This minimal Makefile delegates most work to the asdf-tools script
#
# End-Users, all you need to do is:
4
5
6
7
8
#   make
#
# Vendors, you may want to test your implementation with:
#   make test l=sbcl
#
9
10
# Other targets are for maintainer use only.
#
Gary King's avatar
Gary King committed
11

12
13
14
15
# Default action: bootstrap asdf.lisp
# That's the only thing that we really need before we may invoke asdf-builder.
all: build/asdf.lisp
	@: # This dummy action is necessary so the all target does not invoke the fallback action.
16

17
header_lisp := header.lisp
18
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
19
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 backward-internals.lisp parse-defsystem.lisp bundle.lisp concatenate-source.lisp backward-interface.lisp package-inferred-system.lisp interface.lisp user.lisp footer.lisp
20

21
# Making ASDF itself should be our first, default, target:
22
build/asdf.lisp: $(header_lisp) $(driver_lisp) $(defsystem_lisp)
23
	mkdir -p build
24
	rm -f $@
25
	cat $^ > $@
26

27
# These targets are used during tests to ensure the Makefile is in synch with the .asd files.
28
29
30
driver-files:
	@echo $(driver_lisp)

31
32
33
defsystem-files:
	@echo $(defsystem_lisp)

34
35
### exclude source files from fallback rule.
%.lisp:
36
	@:
37
Makefile:
38
	@:
39

40
### Default fall back rule: delegate to asdf-tools.
41
42
43
44
45
46
47
48
49
50
# 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.
51
52
53
# 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).
54
55
56
57
58
59
60
61
# 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
#   ./tools/asdf-tools env v=3.2.1 bump
62
%: build/asdf.lisp
63
	./tools/asdf-tools env l='$l' L='$L' u='$u' U='$u' v='$v' s='$s' t='$t' $@
64

65
# This is the list of phony targets from this file
66
.PHONY: all driver-files defsystem-files
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

# The text below was automaticaly generated by `make --silent makefile-targets`
# then manually inserted here to provide for completion:
archive:
build-asdf:
bump:
bump-version:
check-all-results:
check-all-scripts-results:
check-all-upgrade-results:
clean:
debian-package:
doc:
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-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-basic:
test-clean-load:
test-load-systems:
test-scripts:
test-upgrade:
u:
wc:
website: