# 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__
+endif
+ifeq (CYGWIN,$(findstring CYGWIN,$(UNAME)))
+ EXTRA_CFLAGS=-mno-cygwin
+ # 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
"(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` {} \;