1.0.25.23: more allocation checks
[sbcl.git] / src / runtime / GNUmakefile
index 64acd3c..cfaac20 100644 (file)
@@ -9,9 +9,10 @@
 # provided with absolutely no warranty. See the COPYING and CREDITS
 # files for more information.
 
-.PHONY: all clean TAGS tags
+.PHONY: all clean TAGS tags targets
 
-all: sbcl sbcl.nm
+all: targets
+TARGET=sbcl
 
 # Defaults which might be overridden or modified by values in the
 # Config file. Most of them are same on most systems right now.
@@ -20,11 +21,15 @@ LD = ld
 LINKFLAGS = -g
 NM = nm -gp
 DEPEND_FLAGS = -MM
+GREP = grep
 
-CFLAGS = -g -Wall -O3
+CFLAGS = -g -Wall -Wsign-compare -O3
 ASFLAGS = $(CFLAGS)
 CPPFLAGS = -I.
 
+# Give make access to the target Lisp features.
+include genesis/Makefile.features
+
 # The Config file is the preferred place for tweaking options which
 # are appropriate for particular setups (OS, ARCH, whatever). Make a
 # Config-foo file for setup foo, then arrange for Config to be a
@@ -33,12 +38,12 @@ CPPFLAGS = -I.
 # OS_SRC, OS_LIBS, OS_OBJS, OS_CLEAN_FILES
 include Config
 
-
 COMMON_SRC = alloc.c backtrace.c breakpoint.c coreparse.c \
-       dynbind.c gc-common.c globals.c interr.c interrupt.c \
-       monitor.c os-common.c parse.c print.c purify.c \
+       dynbind.c funcall.c gc-common.c globals.c interr.c interrupt.c \
+       largefile.c monitor.c os-common.c parse.c print.c purify.c \
+       pthread-futex.c pthread-lutex.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 
 
 C_SRC = $(COMMON_SRC) ${ARCH_SRC} ${OS_SRC} ${GC_SRC}
 
@@ -48,11 +53,13 @@ OBJS = $(C_SRC:.c=.o) $(ASSEM_SRC:.S=.o) ${OS_OBJS}
 
 LIBS = ${OS_LIBS} -lm
 
-sbcl: $(OBJS) $(LIBS)
-       $(CC) ${LINKFLAGS} -o $@ $^
+targets: $(TARGET) sbcl.nm
 
-sbcl.nm: sbcl
-       $(NM) sbcl | grep -v " F \| U " > ,$@
+$(TARGET): $(OBJS)
+       $(CC) ${LINKFLAGS} -o $@ $^ $(LIBS)
+
+sbcl.nm: $(TARGET)
+       $(NM) $(TARGET) | $(GREP) -v " [FUw] " > ,$@
        mv -f ,$@ $@
 
 sbcl.h: $(wildcard genesis/*.h)
@@ -63,13 +70,7 @@ TAGS tags: $(SRCS)
        etags $(SRCS)
 
 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:
+       -rm -f *.[do] $(TARGET) sbcl.nm sbcl.h core *.tmp $(OS_CLEAN_FILES)
 
 %.d: %.c sbcl.h
        @$(CC) $(DEPEND_FLAGS) $(CPPFLAGS) $< > $@.tmp; \