0.8.6.14:
[sbcl.git] / contrib / asdf-module.mk
1 CC=gcc
2
3 # We need to extend flags to the C compiler and the linker
4 # here. sb-posix, sb-grovel, and sb-bsd-sockets depends upon these
5 # being set on x86_64. Setting these in their Makefiles is not
6 # adequate since, while we're building contrib, they can be compiled
7 # directly via ASDF from a non-C-aware module which has these tricky
8 # ones as dependencies.
9
10 UNAME:=$(shell uname -m)
11 ifeq (x86_64,$(UNAME))
12     export EXTRA_LDFLAGS=-m32 -shared
13     export EXTRA_CFLAGS+=-m32
14 endif
15
16 export CC SBCL EXTRA_CFLAGS EXTRA_LDFLAGS
17
18 all: $(EXTRA_ALL_TARGETS)
19         $(MAKE) -C ../asdf
20         $(SBCL) --eval '(load "../asdf/asdf")' \
21           --eval "(setf asdf::*central-registry* '((MERGE-PATHNAMES \"systems/\" (TRUENAME (SB-EXT:POSIX-GETENV \"SBCL_HOME\")))))" \
22           --eval "(push :sb-building-contrib *features*)" \
23           --eval "(asdf:operate 'asdf:load-op :$(SYSTEM))" \
24           --eval "(progn (when (probe-file \"$(SYSTEM).fasl\") (error \"fasl file exists\")) (with-open-file (s \"$(SYSTEM).lisp\" :direction :output :if-exists :error) (print (quote (require :asdf)) s) (print (quote (require :$(SYSTEM))) s)) (compile-file \"$(SYSTEM).lisp\") (delete-file \"$(SYSTEM).lisp\"))" \
25           --eval "(quit)"
26
27 test: all
28         echo "(asdf:operate (quote asdf:load-op) :$(SYSTEM))" \
29              "(asdf:operate (quote asdf:test-op) :$(SYSTEM))" | \
30           $(SBCL) --eval '(load "../asdf/asdf")'
31
32
33 install: $(EXTRA_INSTALL_TARGETS)
34         tar cf - . | ( cd $(BUILD_ROOT)$(INSTALL_DIR) && tar xpvf - )
35         ( cd  $(BUILD_ROOT)$(SBCL_HOME)/systems && ln -fs ../$(SYSTEM)/$(SYSTEM).asd . )