0.9.1.10:
authorChristophe Rhodes <csr21@cam.ac.uk>
Wed, 1 Jun 2005 10:07:39 +0000 (10:07 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Wed, 1 Jun 2005 10:07:39 +0000 (10:07 +0000)
MORE DIFFSTAT
... merge Thiemo Seufer "Makefile improvements for the C
runtime" sbcl-devel 2005-05-29
... better dependency chasing by gcc;
... s/arch/LISP_FEATURE_ARCH/, hooray.
Add stuff to .cvsignores until it mostly stops emitting ?s

Untested on anything not x86-64.  Shout if broken.

26 files changed:
doc/manual/.cvsignore
doc/manual/Makefile
src/runtime/.cvsignore
src/runtime/Config.alpha-linux
src/runtime/Config.alpha-osf1
src/runtime/Config.hppa-linux
src/runtime/Config.mips-linux
src/runtime/Config.ppc-darwin
src/runtime/Config.ppc-linux
src/runtime/Config.sparc-linux
src/runtime/Config.sparc-sunos
src/runtime/Config.x86-bsd
src/runtime/Config.x86-freebsd
src/runtime/Config.x86-linux
src/runtime/Config.x86-netbsd
src/runtime/Config.x86-openbsd
src/runtime/Config.x86_64-linux
src/runtime/GNUmakefile
src/runtime/backtrace.c
src/runtime/breakpoint.c
src/runtime/core.h
src/runtime/coreparse.c
src/runtime/os.h
src/runtime/print.c
src/runtime/purify.c
version.lisp-expr

index 3e98371..658f6b8 100644 (file)
@@ -2,10 +2,23 @@ contrib-doc-list.texi-temp
 docstrings
 variables.texinfo
 *-stamp
+asdf
 sbcl
-sbcl.cp
+*.aux
+*.cp
+*.cps
 *.dvi
-sbcl.fn
-sbcl.tp
-sbcl.vr
+*.fn
+*.fns
+*.info
+*.ky
+*.log
+*.pg
 *.texi-temp
+*.toc
+*.tp
+*.tps
+*.ps
+*.pdf
+*.vr
+*.vrs
index f1bbce0..02ea7c4 100644 (file)
@@ -1,7 +1,7 @@
 SBCLTEXI:=sbcl.texinfo
 ASDFTEXI:=asdf.texinfo
 DOCFILES:=*.texinfo $(ASDFTEXI)
-TMPTYPES:=aux cps fns ky log pg toc tps vrs
+TMPTYPES:=aux cp cps fn fns ky log pg toc tp tps vr vrs
 TMPFILES:=$(foreach target,asdf sbcl,$(foreach type,$(TMPTYPES),$(target).$(type)))
 PSFILES=sbcl.ps asdf.ps
 PDFFILES=sbcl.pdf asdf.pdf
@@ -96,9 +96,9 @@ clean:
        rm -rf $(HTMLDIRS) $(DOCSTRINGDIR)
        rm -f contrib-docs.texi-temp
        rm -f package-locks.texi-temp
-       rm -f $(PSFILE) $(PDFFILE) $(DVIFILE) html-stamp tempfiles-stamp
-       rm -f $(TMPFILES)
-       rm -f sbcl.info sbcl.info-*
+       rm -f $(PSFILES) $(PDFFILES) html-stamp tempfiles-stamp
+       rm -f $(TMPFILES) $(INDEXFILES)
+       rm -f sbcl.info sbcl.info-* asdf.info
 
 .PHONY: distclean
 distclean: clean
index 1452412..4c7c2f5 100644 (file)
@@ -1,3 +1,4 @@
+*.d
 depend
 genesis
 ldso-stubs.S
index 55a5022..a72b7f1 100644 (file)
@@ -1,3 +1,5 @@
+# -*- makefile -*- for the C-level run-time support for SBCL
+
 # This software is part of the SBCL system. See the README file for
 # more information.
 #
@@ -7,16 +9,14 @@
 # provided with absolutely no warranty. See the COPYING and CREDITS
 # files for more information.
 
-CFLAGS += -Dalpha 
 LD = ld -taso
-LINKFLAGS = -dynamic -v -g  -Wl,-T  -Wl,ld-script.alpha-linux
-NM = nm -p
+LINKFLAGS += -dynamic -v -Wl,-T -Wl,ld-script.alpha-linux -rdynamic
+NM = ./linux-nm
 
 ASSEM_SRC = alpha-assem.S ldso-stubs.S
 ARCH_SRC = alpha-arch.c
 
-OS_SRC = linux-os.c  alpha-linux-os.c os-common.c 
-LINKFLAGS+=-rdynamic # -static
-OS_LIBS= -ldl
+OS_SRC = linux-os.c alpha-linux-os.c
+OS_LIBS = -ldl
 
-GC_SRC= cheneygc.c
+GC_SRC = cheneygc.c
index bacf12d..7ad95d6 100644 (file)
@@ -1,3 +1,5 @@
+# -*- makefile -*- for the C-level run-time support for SBCL
+
 # This software is part of the SBCL system. See the README file for
 # more information.
 #
@@ -7,9 +9,9 @@
 # provided with absolutely no warranty. See the COPYING and CREDITS
 # files for more information.
 
-CFLAGS += -Dalpha -Dosf1 -O0 -g -D_XOPEN_SOURCE=500 -D_OSF_SOURCE=500
+CFLAGS += -Dosf1 -O0 -g -D_XOPEN_SOURCE=500 -D_OSF_SOURCE=500
 CFLAGS += -msg_disable newlocale
-ASFLAGS += -Dalpha -Dosf1 #-ULANGUAGE_ASSEMBLY
+ASFLAGS += -Dosf1 #-ULANGUAGE_ASSEMBLY
 LD = ld -xtaso
 LINKFLAGS = -non_shared # dynamic -v -g  -Wl,-T  -Wl,ld-script.alpha-linux
 # Digital^WCompaq^WHP's cc declares `static inline' functions to exist
@@ -30,7 +32,10 @@ ARCH_SRC = alpha-arch.c undefineds.c
 %.s:%.S
        cp $^ $@
 
-OS_SRC = osf1-os.c  alpha-osf1-os.c os-common.c 
-OS_LIBS= #-ldl
+# ... and let the main makefile clean the .s properly.
+OS_CLEAN_FILES += $(ASSEM_SRC)
+
+OS_SRC = osf1-os.c alpha-osf1-os.c
+OS_LIBS = #-ldl
 
-GC_SRC= cheneygc.c
+GC_SRC = cheneygc.c
index 2b2b731..23adcd4 100644 (file)
@@ -1,3 +1,5 @@
+# -*- makefile -*- for the C-level run-time support for SBCL
+
 # This software is part of the SBCL system. See the README file for
 # more information.
 #
@@ -7,16 +9,13 @@
 # provided with absolutely no warranty. See the COPYING and CREDITS
 # files for more information.
 
-CFLAGS += -g -Dhppa
-LD = ld 
-LINKFLAGS = -v -g 
-NM = nm -p
+LINKFLAGS += -v -static
+NM = ./linux-nm
 
 ASSEM_SRC = hppa-assem.S #hppa-linux-stubs.S
 ARCH_SRC = hppa-arch.c undefineds.c
 
-OS_SRC = linux-os.c  hppa-linux-os.c os-common.c 
-LINKFLAGS+=-static
-OS_LIBS= -ldl
+OS_SRC = linux-os.c hppa-linux-os.c
+OS_LIBS = -ldl
 
-GC_SRC= cheneygc.c
+GC_SRC = cheneygc.c
index 3f2abb5..3f1c112 100644 (file)
@@ -1,3 +1,5 @@
+# -*- makefile -*- for the C-level run-time support for SBCL
+
 # This software is part of the SBCL system. See the README file for
 # more information.
 #
@@ -7,15 +9,13 @@
 # provided with absolutely no warranty. See the COPYING and CREDITS
 # files for more information.
 
-CFLAGS += -Dmips -g
-LD = ld
-LINKFLAGS = -v -g -O2
+LINKFLAGS += -v -O2
 NM = ./linux-nm
 
 ASSEM_SRC = mips-assem.S ldso-stubs.S
 ARCH_SRC = mips-arch.c
 
-OS_SRC = linux-os.c mips-linux-os.c os-common.c 
-OS_LIBS= -ldl
+OS_SRC = linux-os.c mips-linux-os.c
+OS_LIBS = -ldl
 
-GC_SRC= cheneygc.c
+GC_SRC = cheneygc.c
index 88b8624..2dfdbc9 100644 (file)
@@ -1,7 +1,17 @@
-# -*- makefile -*-
-CFLAGS = -Dppc -g -Wall -O2 -no-cpp-precomp -fdollars-in-identifiers
-OS_SRC = bsd-os.c os-common.c ppc-darwin-os.c ppc-darwin-dlshim.c ppc-darwin-langinfo.c
-OS_LIBS = -lSystem -lc -lm
+# -*- makefile -*- for the C-level run-time support for SBCL
+
+# This software is part of the SBCL system. See the README file for
+# more information.
+#
+# This software is derived from the CMU CL system, which was
+# written at Carnegie Mellon University and released into the
+# public domain. The software is in the public domain and is
+# provided with absolutely no warranty. See the COPYING and CREDITS
+# files for more information.
+
+CFLAGS = -g -Wall -O2 -fdollars-in-identifiers
+OS_SRC = bsd-os.c ppc-darwin-os.c ppc-darwin-dlshim.c ppc-darwin-langinfo.c
+OS_LIBS = -lSystem -lc
 OS_OBJS = ppc-darwin-rospace.o
 
 CC = gcc
@@ -9,18 +19,18 @@ CC = gcc
 ASSEM_SRC = ppc-assem.S ldso-stubs.S
 ARCH_SRC = ppc-arch.c
 
-CPP = cpp -no-cpp-precomp
+CPPFLAGS += -no-cpp-precomp
 
 # KLUDGE: in OS X 10.3, Apple started putting the heap right where we
 # expect our read-only space mapped. This hack causes the linker to
 # place a zero-fill-on-demand segment in the same place and size as
 # read-only-space, which is the only thing capable of keeping malloc
 # out of this range.
-OS_LINK_FLAGS = -dynamic `cat ppc-darwin-link-flags` -twolevel_namespace -bind_at_load
+LINKFLAGS += -dynamic `cat ppc-darwin-link-flags` -twolevel_namespace -bind_at_load
 
-GC_SRC= cheneygc.c
+GC_SRC = cheneygc.c
 
-CLEAN_FILES += ppc-darwin-mkrospace ppc-darwin-fix-rospace ppc-darwin-link-flags
+OS_CLEAN_FILES += ppc-darwin-mkrospace ppc-darwin-fix-rospace ppc-darwin-link-flags
 
 ppc-darwin-mkrospace: ppc-darwin-mkrospace.c
        $(CC) -g -Wall -pedantic -o $@ $<
index 312a10a..97fc869 100644 (file)
@@ -1,3 +1,5 @@
+# -*- makefile -*- for the C-level run-time support for SBCL
+
 # This software is part of the SBCL system. See the README file for
 # more information.
 #
@@ -7,16 +9,14 @@
 # provided with absolutely no warranty. See the COPYING and CREDITS
 # files for more information.
 
-CFLAGS = -g -Dppc
-LD = ld 
-LINKFLAGS = -v -g 
-NM = nm -p
+CFLAGS = -g
+LINKFLAGS += -v -rdynamic
+NM = ./linux-nm
 
 ASSEM_SRC = ppc-assem.S ldso-stubs.S
 ARCH_SRC = ppc-arch.c
 
-OS_SRC = linux-os.c  ppc-linux-os.c os-common.c 
-LINKFLAGS+=-rdynamic 
-OS_LIBS= -ldl
+OS_SRC = linux-os.c ppc-linux-os.c
+OS_LIBS = -ldl
 
-GC_SRC= cheneygc.c
+GC_SRC = cheneygc.c
index a62e359..2a2c075 100644 (file)
@@ -1,3 +1,5 @@
+# -*- makefile -*- for the C-level run-time support for SBCL
+
 # This software is part of the SBCL system. See the README file for
 # more information.
 #
@@ -7,19 +9,14 @@
 # provided with absolutely no warranty. See the COPYING and CREDITS
 # files for more information.
 
-CFLAGS = -g -O3 -Wall -Dsparc
-ASFLAGS = -g -Wall -Dsparc
-LD = ld 
-LINKFLAGS = -v -g 
-NM = nm -p
+ASFLAGS = -g -Wall
+LINKFLAGS += -v -rdynamic
+NM = ./linux-nm
 
-ASSEM_SRC = sparc-assem.S 
-#ARCH_SRC = sparc-arch.c undefineds.c 
-ARCH_SRC = sparc-arch.c ldso-stubs.S
+ASSEM_SRC = sparc-assem.S ldso-stubs.S
+ARCH_SRC = sparc-arch.c #undefineds.c 
 
-OS_SRC = linux-os.c  sparc-linux-os.c os-common.c 
-#LINKFLAGS+=-static 
-LINKFLAGS+=-rdynamic
-OS_LIBS= -ldl
+OS_SRC = linux-os.c sparc-linux-os.c
+OS_LIBS = -ldl
 
-GC_SRC= cheneygc.c
+GC_SRC = cheneygc.c
index ffe4ec5..62a00df 100644 (file)
@@ -1,3 +1,5 @@
+# -*- makefile -*- for the C-level run-time support for SBCL
+
 # This software is part of the SBCL system. See the README file for
 # more information.
 #
@@ -7,21 +9,16 @@
 # provided with absolutely no warranty. See the COPYING and CREDITS
 # files for more information.
 
-
-CC=gcc
-CFLAGS = -g -O3 -Wall -Dsparc -DSVR4
-ASFLAGS = -g -Wall -Dsparc -DSVR4
-LD = ld 
-LINKFLAGS = -v -g 
+CC = gcc
+CFLAGS += -DSVR4
+ASFLAGS = -g -Wall -DSVR4
+LINKFLAGS += -v
 NM = nm -t x -p 
 
-ASSEM_SRC = sparc-assem.S 
-#ARCH_SRC = sparc-arch.c undefineds.c 
-ARCH_SRC = sparc-arch.c ldso-stubs.S
+ASSEM_SRC = sparc-assem.S ldso-stubs.S
+ARCH_SRC = sparc-arch.c #undefineds.c
 
-OS_SRC = sunos-os.c sparc-sunos-os.c os-common.c 
-#LINKFLAGS+=-static 
-LINKFLAGS+= 
-OS_LIBS= -ldl -lsocket -lnsl -lrt
+OS_SRC = sunos-os.c sparc-sunos-os.c
+OS_LIBS = -ldl -lsocket -lnsl -lrt
 
-GC_SRC= cheneygc.c
+GC_SRC = cheneygc.c
index f066acd..a8f20c0 100644 (file)
@@ -1,3 +1,4 @@
+# -*- makefile -*- for the C-level run-time support for SBCL
 # configuration stuff shared between various *BSD OSes 
 
 # This software is part of the SBCL system. See the README file for
@@ -12,7 +13,7 @@
 ASSEM_SRC = x86-assem.S 
 ARCH_SRC = x86-arch.c
 
-OS_SRC = bsd-os.c os-common.c undefineds.c x86-bsd-os.c
-OS_LIBS = -lm # -ldl
+OS_SRC = bsd-os.c undefineds.c x86-bsd-os.c
+OS_LIBS = # -ldl
 
 GC_SRC = gencgc.c
index 7a41879..65d2be5 100644 (file)
@@ -1,10 +1,20 @@
-# -*- makefile -*-
+# -*- makefile -*- for the C-level run-time support for SBCL
+
+# This software is part of the SBCL system. See the README file for
+# more information.
+#
+# This software is derived from the CMU CL system, which was
+# written at Carnegie Mellon University and released into the
+# public domain. The software is in the public domain and is
+# provided with absolutely no warranty. See the COPYING and CREDITS
+# files for more information.
+
 include Config.x86-bsd
 
 ASSEM_SRC += ldso-stubs.S
 
-# Until sbcl-0.6.7.3, we used "OS_LINK_FLAGS=-static" here, which
+# Until sbcl-0.6.7.3, we used "LINKFLAGS+=-static" here, which
 # worked fine for most things, but LOAD-FOREIGN & friends require
 # dlopen() etc., which in turn depend on dynamic linking of the
 # runtime.
-OS_LINK_FLAGS = -dynamic -export-dynamic
+LINKFLAGS += -dynamic -export-dynamic
index b83f2b0..e4a1f74 100644 (file)
@@ -1,3 +1,5 @@
+# -*- makefile -*- for the C-level run-time support for SBCL
+
 # This software is part of the SBCL system. See the README file for
 # more information.
 #
@@ -7,10 +9,12 @@
 # provided with absolutely no warranty. See the COPYING and CREDITS
 # files for more information.
 
+NM = ./linux-nm
+
 ASSEM_SRC = x86-assem.S ldso-stubs.S
 ARCH_SRC = x86-arch.c
+OS_SRC = linux-os.c x86-linux-os.c
 
-OS_SRC = linux-os.c x86-linux-os.c os-common.c
 # The "--Wl,--export-dynamic" flags are here to help people
 # experimenting with callbacks from C to SBCL, by allowing linkage to
 # SBCL src/runtime/*.c symbols from C. Work on this is good, but it's
@@ -23,7 +27,7 @@ OS_SRC = linux-os.c x86-linux-os.c os-common.c
 # (You *are* encouraged to design and implement a coherent stable
 # interface, though.:-| As far as I (WHN 2002-05-19) know, no one is
 # working on one and it would be a nice thing to have.)
-OS_LINK_FLAGS = -Wl,--export-dynamic
+LINKFLAGS += -Wl,--export-dynamic
 OS_LIBS = -ldl
 
 GC_SRC = gencgc.c
index d761d4c..b478d3d 100644 (file)
@@ -1,7 +1,17 @@
-# -*- makefile -*-
+# -*- makefile -*- for the C-level run-time support for SBCL
+
+# This software is part of the SBCL system. See the README file for
+# more information.
+#
+# This software is derived from the CMU CL system, which was
+# written at Carnegie Mellon University and released into the
+# public domain. The software is in the public domain and is
+# provided with absolutely no warranty. See the COPYING and CREDITS
+# files for more information.
+
 include Config.x86-bsd
 
 ASSEM_SRC += ldso-stubs.S
-OS_LINK_FLAGS = -dynamic -export-dynamic
+LINKFLAGS += -dynamic -export-dynamic
 
 CFLAGS =  -g -Wall -O2
index 98384cd..1cf879d 100644 (file)
@@ -1,3 +1,14 @@
+# -*- makefile -*- for the C-level run-time support for SBCL
+
+# This software is part of the SBCL system. See the README file for
+# more information.
+#
+# This software is derived from the CMU CL system, which was
+# written at Carnegie Mellon University and released into the
+# public domain. The software is in the public domain and is
+# provided with absolutely no warranty. See the COPYING and CREDITS
+# files for more information.
+
 include Config.x86-bsd
 
 # KLUDGE: It might seem as though dynamic libraries should work the
@@ -7,4 +18,4 @@ include Config.x86-bsd
 # have never found documentation for the "-export-dynamic" option),
 # so I've just punted and left link flags for OpenBSD in their
 # pre-dynamic-library-support state. -- WHN 2000-10-02
-OS_LINK_FLAGS = -static
+LINKFLAGS += -static
index f78a14d..d3d49f1 100644 (file)
@@ -1,3 +1,5 @@
+# -*- makefile -*- for the C-level run-time support for SBCL
+
 # This software is part of the SBCL system. See the README file for
 # more information.
 #
@@ -7,10 +9,12 @@
 # provided with absolutely no warranty. See the COPYING and CREDITS
 # files for more information.
 
+NM = ./linux-nm
+
 ASSEM_SRC = x86-64-assem.S ldso-stubs.S
 ARCH_SRC = x86-64-arch.c
+OS_SRC = linux-os.c x86-64-linux-os.c
 
-OS_SRC = linux-os.c x86-64-linux-os.c os-common.c
 # The "--Wl,--export-dynamic" flags are here to help people
 # experimenting with callbacks from C to SBCL, by allowing linkage to
 # SBCL src/runtime/*.c symbols from C. Work on this is good, but it's
@@ -23,9 +27,9 @@ OS_SRC = linux-os.c x86-64-linux-os.c os-common.c
 # (You *are* encouraged to design and implement a coherent stable
 # interface, though.:-| As far as I (WHN 2002-05-19) know, no one is
 # working on one and it would be a nice thing to have.)
-OS_LINK_FLAGS = -Wl,--export-dynamic
+LINKFLAGS += -Wl,--export-dynamic
 OS_LIBS = -ldl
-CFLAGS =  -g -Wall -O3 -fno-omit-frame-pointer
 
-GC_SRC = gencgc.c
+CFLAGS += -fno-omit-frame-pointer
 
+GC_SRC = gencgc.c
index bc0ef3a..64acd3c 100644 (file)
@@ -1,4 +1,4 @@
-# makefile for the C-level run-time support for SBCL
+# -*- makefile -*- for the C-level run-time support for SBCL
 
 # This software is part of the SBCL system. See the README file for
 # more information.
@@ -9,64 +9,80 @@
 # provided with absolutely no warranty. See the COPYING and CREDITS
 # files for more information.
 
-all: sbcl sbcl.nm
-.PHONY: all
+.PHONY: all clean TAGS tags
 
-# defaults which might be overridden or modified by values in the
-# Config file
-CFLAGS =  -g -Wall -O3
-ASFLAGS = $(CFLAGS)
-CPPFLAGS = -I.
+all: sbcl sbcl.nm
 
-# Some of these things might be Config-dependent in future versions,
-# but they're the same on most systems right now.  If you need to
-# override one of these, do it in Config
-CPP = cpp
+# Defaults which might be overridden or modified by values in the
+# Config file. Most of them are same on most systems right now.
+# If you need to override one of these, do it in Config.
 LD = ld
 LINKFLAGS = -g
 NM = nm -gp
-DEPEND_FLAGS=-M
+DEPEND_FLAGS = -MM
+
+CFLAGS = -g -Wall -O3
+ASFLAGS = $(CFLAGS)
+CPPFLAGS = -I.
 
 # The Config file is the preferred place for tweaking options which
-# are appropriate for particular setups (OS, CPU, whatever). Make a
+# are appropriate for particular setups (OS, ARCH, whatever). Make a
 # Config-foo file for setup foo, then arrange for Config to be a
 # symlink to Config-foo.
+# Commonly used variables in Config are: ARCH_SRC, ASSEM_SRC, GC_SRC,
+# OS_SRC, OS_LIBS, OS_OBJS, OS_CLEAN_FILES
 include Config
 
 
-C_SRCS = alloc.c backtrace.c breakpoint.c coreparse.c \
+COMMON_SRC = alloc.c backtrace.c breakpoint.c coreparse.c \
        dynbind.c gc-common.c globals.c interr.c interrupt.c \
-       monitor.c parse.c print.c purify.c \
+       monitor.c os-common.c parse.c print.c purify.c \
        regnames.c run-program.c runtime.c save.c search.c \
-       thread.c time.c util.c validate.c vars.c wrap.c 
+       thread.c time.c util.c validate.c vars.c wrap.c
 
-SRCS = $(C_SRCS) ${ARCH_SRC} ${ASSEM_SRC} ${OS_SRC} ${GC_SRC}
+C_SRC = $(COMMON_SRC) ${ARCH_SRC} ${OS_SRC} ${GC_SRC}
 
-OBJS = $(patsubst %.c,%.o,$(patsubst %.S,%.o,$(patsubst %.s,%.o,$(SRCS)))) ${OS_OBJS}
-
-sbcl.nm: sbcl
-       $(NM) sbcl | grep -v " F \| U " > ,$@
-       mv -f ,$@ $@
+SRCS = $(C_SRC) ${ASSEM_SRC}
 
-sbcl: ${OBJS} 
-       $(CC) ${LINKFLAGS} ${OS_LINK_FLAGS} -o $@ ${OBJS} ${OS_OBJS} ${OS_LIBS} -lm
+OBJS = $(C_SRC:.c=.o) $(ASSEM_SRC:.S=.o) ${OS_OBJS}
 
+LIBS = ${OS_LIBS} -lm
 
-.PHONY: clean
-clean:
-       -rm -f depend *.o sbcl sbcl.nm core *.tmp $(CLEAN_FILES)
+sbcl: $(OBJS) $(LIBS)
+       $(CC) ${LINKFLAGS} -o $@ $^
 
-TAGS: $(SRCS)
-       etags $(SRCS)
+sbcl.nm: sbcl
+       $(NM) sbcl | grep -v " F \| U " > ,$@
+       mv -f ,$@ $@
 
-sbcl.h: genesis/*.h
+sbcl.h: $(wildcard genesis/*.h)
        echo '#include "genesis/config.h"' >sbcl.h
        echo '#include "genesis/constants.h"' >>sbcl.h
 
-depend: ${C_SRCS} sbcl.h
-       $(CC) ${DEPEND_FLAGS} ${CFLAGS} ${CPPFLAGS}  ${C_SRCS} > depend.tmp
-       mv -f depend.tmp depend
+TAGS tags: $(SRCS)
+       etags $(SRCS)
 
-# By including this file, we cause GNU make to automatically "make depend"
-# if it can't find it or it is out of date.
-include depend
+clean:
+       -rm -f *.[do] sbcl sbcl.nm sbcl.h core *.tmp $(OS_CLEAN_FILES)
+       # the depend file is obsolete
+       -rm -f depend
+
+# depend target for backward compatibility
+.PHONY: depend
+depend:
+
+%.d: %.c sbcl.h
+       @$(CC) $(DEPEND_FLAGS) $(CPPFLAGS) $< > $@.tmp; \
+       sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.tmp > $@; \
+       rm -f $@.tmp
+
+%.d: %.S sbcl.h
+       @$(CC) $(DEPEND_FLAGS) $(CPPFLAGS) $< > $@.tmp; \
+       sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.tmp > $@; \
+       rm -f $@.tmp
+
+# By including those files, we cause GNU make to automatically re-make
+# all dependencies of the .c file if necessary.
+ifneq ($(MAKECMDGOALS),clean)
+-include $(C_SRC:.c=.d) $(ASSEM_SRC:.S=.d)
+endif
index 429807f..f03e84f 100644 (file)
@@ -34,7 +34,7 @@
  * better not change. */
 
 struct call_frame {
-#ifndef alpha
+#ifndef LISP_FEATURE_ALPHA
        struct call_frame *old_cont;
 #else
         u32 old_cont;
@@ -45,13 +45,13 @@ struct call_frame {
 };
 
 struct call_info {
-#ifndef alpha
+#ifndef LISP_FEATURE_ALPHA
     struct call_frame *frame;
 #else
     u32 frame;
 #endif
     int interrupted;
-#ifndef alpha
+#ifndef LISP_FEATURE_ALPHA
     struct code *code;
 #else
     u32 code;
@@ -139,7 +139,7 @@ call_info_from_context(struct call_info *info, os_context_t *context)
     }
     if (info->code != NULL)
         info->pc = pc - (unsigned long) info->code -
-#ifndef alpha
+#ifndef LISP_FEATURE_ALPHA
             (HEADER_LENGTH(info->code->header) * sizeof(lispobj));
 #else
             (HEADER_LENGTH(((struct code *)info->code)->header) * sizeof(lispobj));
@@ -187,7 +187,7 @@ previous_info(struct call_info *info)
         if (info->code != NULL)
             info->pc = (unsigned long)native_pointer(info->lra) -
                 (unsigned long)info->code -
-#ifndef alpha
+#ifndef LISP_FEATURE_ALPHA
                 (HEADER_LENGTH(info->code->header) * sizeof(lispobj));
 #else
                 (HEADER_LENGTH(((struct code *)info->code)->header) * sizeof(lispobj));
@@ -215,7 +215,7 @@ backtrace(int nframes)
 
             printf("CODE: 0x%08lX, ", (unsigned long) info.code | OTHER_POINTER_LOWTAG);
 
-#ifndef alpha
+#ifndef LISP_FEATURE_ALPHA
             function = info.code->entry_points;
 #else
             function = ((struct code *)info.code)->entry_points;
index 70e5117..ebe6ac6 100644 (file)
@@ -65,7 +65,7 @@ void breakpoint_do_displaced_inst(os_context_t* context,
      *
      * -dan 2001.08.09 */
 
-#if (defined(sparc) && defined (solaris))
+#if (defined(LISP_FEATURE_SPARC) && defined (solaris))
     undo_fake_foreign_function_call(context);
 #endif
     arch_do_displaced_inst(context, orig_inst);
index efda49b..e7484c3 100644 (file)
@@ -16,7 +16,7 @@
 #include "runtime.h"
 
 struct ndir_entry {
-#ifndef alpha
+#ifndef LISP_FEATURE_ALPHA
     long identifier;
     long nwords;
     long data_page;
index a84bc6c..887b889 100644 (file)
@@ -209,7 +209,7 @@ load_core_file(char *file)
            SHOW("NEW_DIRECTORY_CORE_ENTRY_TYPE_CODE case");
            process_directory(fd,
                              ptr,
-#ifndef alpha
+#ifndef LISP_FEATURE_ALPHA
                              remaining_len / (sizeof(struct ndir_entry) /
                                               sizeof(long))
 #else
index 584af23..54c950c 100644 (file)
@@ -112,7 +112,7 @@ os_context_register_addr(os_context_t *context, int offset);
  * turns out that the alpha truly requires this, it can change to
  * ARCH_HAS_FLOAT_REGISTERS (currently #defined in alpha-arch.h -- CSR
  * 2002-02-04 */
-#ifdef alpha
+#ifdef LISP_FEATURE_ALPHA
 os_context_register_t *
 os_context_float_register_addr(os_context_t *context, int offset);
 #endif
index 46f2b2f..0ea62f0 100644 (file)
@@ -195,7 +195,7 @@ static void newline(char *label)
 
 static void brief_fixnum(lispobj obj)
 {
-#ifndef alpha
+#ifndef LISP_FEATURE_ALPHA
     printf("%ld", ((long)obj)>>2);
 #else
     printf("%d", ((s32)obj)>>2);
@@ -204,7 +204,7 @@ static void brief_fixnum(lispobj obj)
 
 static void print_fixnum(lispobj obj)
 {
-#ifndef alpha
+#ifndef LISP_FEATURE_ALPHA
     printf(": %ld", ((long)obj)>>2);
 #else
     printf(": %d", ((s32)obj)>>2);
@@ -439,7 +439,7 @@ static void print_otherptr(lispobj obj)
     if (!is_valid_lisp_addr((os_vm_address_t)obj)) {
        printf("(invalid address)");
     } else {
-#ifndef alpha
+#ifndef LISP_FEATURE_ALPHA
         lispobj *ptr;
         unsigned long header;
         unsigned long length;
@@ -638,7 +638,7 @@ static void print_otherptr(lispobj obj)
 
             case SAP_WIDETAG:
                 NEWLINE_OR_RETURN;
-#ifndef alpha
+#ifndef LISP_FEATURE_ALPHA
                 printf("0x%08lx", (unsigned long) *ptr);
 #else
                 printf("0x%016lx", *(lispobj*)(ptr+1));
index 1c92c0a..8a95542 100644 (file)
@@ -90,7 +90,7 @@ static long later_count = 0;
 /* FIXME: Shouldn't this be defined in sbcl.h?  See also notes in
  * cheneygc.c */
 
-#ifdef sparc
+#ifdef LISP_FEATURE_SPARC
 #define FUN_RAW_ADDR_OFFSET 0
 #else
 #define FUN_RAW_ADDR_OFFSET (6*sizeof(lispobj) - FUN_POINTER_LOWTAG)
@@ -1054,7 +1054,7 @@ ptrans_otherptr(lispobj thing, lispobj header, boolean constant)
 #ifdef LISP_FEATURE_X86
         return ptrans_vector(thing, 96, 0, 0, constant);
 #endif
-#ifdef sparc
+#ifdef LISP_FEATURE_SPARC
         return ptrans_vector(thing, 128, 0, 0, constant);
 #endif
 #endif
@@ -1074,7 +1074,7 @@ ptrans_otherptr(lispobj thing, lispobj header, boolean constant)
 #ifdef LISP_FEATURE_X86
         return ptrans_vector(thing, 192, 0, 0, constant);
 #endif
-#ifdef sparc
+#ifdef LISP_FEATURE_SPARC
         return ptrans_vector(thing, 256, 0, 0, constant);
 #endif
 #endif
@@ -1323,7 +1323,7 @@ pscav(lispobj *addr, long nwords, boolean constant)
 #ifdef LISP_FEATURE_X86
                 count = fixnum_value(vector->length)*3+2;
 #endif
-#ifdef sparc
+#ifdef LISP_FEATURE_SPARC
                 count = fixnum_value(vector->length)*4+2;
 #endif
                 break;
@@ -1343,7 +1343,7 @@ pscav(lispobj *addr, long nwords, boolean constant)
 #ifdef LISP_FEATURE_X86
                 count = fixnum_value(vector->length)*6+2;
 #endif
-#ifdef sparc
+#ifdef LISP_FEATURE_SPARC
                 count = fixnum_value(vector->length)*8+2;
 #endif
                 break;
index ca36793..42af7d1 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.9.1.9"
+"0.9.1.10"