X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=contrib%2Fasdf-module.mk;h=c646b9df0c07a77c2613ad2777df98707b07e4b3;hb=dcf5978d9d33098e868ae6eea28e1b310038c03d;hp=6179c56858af6f392dfb591642e72bacff420178;hpb=93c941d86b264637de20aa1b713757b704d4c1a6;p=sbcl.git diff --git a/contrib/asdf-module.mk b/contrib/asdf-module.mk index 6179c56..c646b9d 100644 --- a/contrib/asdf-module.mk +++ b/contrib/asdf-module.mk @@ -1,17 +1,45 @@ CC=gcc -export CC -all: +# Need to set CFLAGS and LDFLAGS here. sb-posix, sb-grovel, and +# sb-bsd-sockets depends upon these being set on x86_64. Setting these +# in their Makefile's is not adequate since their asd files are +# invoked when loaded from other modules which don't require these +# environmental values in their Makefile's. + +UNAME:=$(shell uname -m) +export CFLAGS=-fPIC +ifeq (solaris,$(UNAME)) + export LDFLAGS=-shared -lresolv -lsocket -lnsl +else + ifeq (Darwin,$(UNAME)) + export LDFLAGS=-bundle + else + ifeq (x86_64,$(UNAME)) + export LDFLAGS=-m32 -shared + export CFLAGS+= -m32 + else + export LDFLAGS=-shared + endif + endif +endif + +export CC SBCL CFLAGS LDFLAGS + +all: $(EXTRA_ALL_TARGETS) $(MAKE) -C ../asdf - echo "(asdf:operate 'asdf:load-op :$(SYSTEM) :force t)" | \ - $(SBCL) --eval '(load "../asdf/asdf")' + $(SBCL) --eval '(load "../asdf/asdf")' \ + --eval "(setf asdf::*central-registry* '((MERGE-PATHNAMES \"systems/\" (TRUENAME (SB-EXT:POSIX-GETENV \"SBCL_HOME\")))))" \ + --eval "(push :sb-building-contrib *features*)" \ + --eval "(asdf:operate 'asdf:load-op :$(SYSTEM))" \ + --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\"))" \ + --eval "(quit)" test: all - echo "(asdf:operate (quote asdf:load-op) :$(SYSTEM)) "\ + echo "(asdf:operate (quote asdf:load-op) :$(SYSTEM))" \ "(asdf:operate (quote asdf:test-op) :$(SYSTEM))" | \ $(SBCL) --eval '(load "../asdf/asdf")' -install: - tar cf - . | ( cd $(INSTALL_DIR) && tar xpvf - ) - ( cd $(SBCL_HOME)/systems && ln -fs ../$(SYSTEM)/$(SYSTEM).asd . ) +install: $(EXTRA_INSTALL_TARGETS) + tar cf - . | ( cd $(BUILD_ROOT)$(INSTALL_DIR) && tar xpvf - ) + ( cd $(BUILD_ROOT)$(SBCL_HOME)/systems && ln -fs ../$(SYSTEM)/$(SYSTEM).asd . )