-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
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 / FIXME: Perhaps each module should have it's own list of
-# files to install? At any rate, this is a portable (we hope) way of
-# installing all the files needed -- as long as all the files are in
-# the first level directory...
+# 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)
- cp -p $(SYSTEM).asd *.lisp *.fasl "$(BUILD_ROOT)$(INSTALL_DIR)"
- find "$(BUILD_ROOT)$(INSTALL_DIR)" -type f -exec chown `id -u`:`id -g` {} \;
+ tar cf - . | ( cd "$(BUILD_ROOT)$(INSTALL_DIR)" && tar xpvf - )
+ find "$(BUILD_ROOT)$(INSTALL_DIR)" -exec chown `id -u`:`id -g` {} \;