Update ASDF to 2.21.
[sbcl.git] / contrib / asdf-module.mk
index 155988a..ddce36b 100644 (file)
@@ -1,4 +1,4 @@
-CC=gcc
+CC?=gcc
 
 # We need to extend flags to the C compiler and the linker
 # here. sb-posix, sb-grovel, and sb-bsd-sockets depends upon these
@@ -7,24 +7,35 @@ CC=gcc
 # directly via ASDF from a non-C-aware module which has these tricky
 # ones as dependencies.
 
-UNAME:=$(shell uname -m)
-ifeq (x86_64,$(UNAME))
-    export EXTRA_LDFLAGS=-m32 -shared
-    export EXTRA_CFLAGS+=-m32
+UNAME:=$(shell uname -s)
+
+ifeq (SunOS,$(UNAME))
+  EXTRA_CFLAGS=-D_XOPEN_SOURCE=500 -D__EXTENSIONS__
+  PATH:=/usr/xpg4/bin:${PATH}
+endif
+ifeq (CYGWIN,$(findstring CYGWIN,$(UNAME)))
+  EXTRA_CFLAGS=-mno-cygwin
+  # GCC 4.x doesn't accept -mno-cygwin.
+  CC:=gcc-3
+  # SBCL can't read cygwin symlinks, and cygwin likes to symlink
+  # gcc.  To further complicate things, SBCL can't handle cygwin
+  # paths, either.
+  CC:=$(shell cygpath -m $(shell readlink -fn $(shell which $(CC))))
 endif
 
 export CC SBCL EXTRA_CFLAGS EXTRA_LDFLAGS
 
 all: $(EXTRA_ALL_TARGETS)
        $(MAKE) -C ../asdf
-       $(SBCL) --eval '(defvar *system* "$(SYSTEM)")' --load ../asdf-stub.lisp --eval '(quit)'
+       $(SBCL) --eval '(defvar *system* "$(SYSTEM)")' --load ../asdf-stub.lisp --eval '(exit)'
 
 test: all
        echo "(asdf:operate (quote asdf:load-op) :$(SYSTEM))" \
             "(asdf:operate (quote asdf:test-op) :$(SYSTEM))" | \
          $(SBCL) --eval '(load "../asdf/asdf")'
 
-
+# KLUDGE: There seems to be no portable way to tell tar to not to
+# preserve owner, so chown after installing for the current user.
 install: $(EXTRA_INSTALL_TARGETS)
-       tar cf - . | ( cd $(BUILD_ROOT)$(INSTALL_DIR) && tar xpvf - )
-       ( cd  $(BUILD_ROOT)$(SBCL_HOME)/systems && ln -fs ../$(SYSTEM)/$(SYSTEM).asd . )
+       tar cf - . | ( cd "$(BUILD_ROOT)$(INSTALL_DIR)" && tar xpvf - )
+       find "$(BUILD_ROOT)$(INSTALL_DIR)" -exec chown `id -u`:`id -g` {} \;