X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2FGNUmakefile;h=3d75800b06431eeb18fdf8e694d47c9c1518ac62;hb=961c6bf2eda5d492d5dbb7e275fe4e0931f7adf8;hp=fa764d4f0eaffe75c3433ecfa0145a7ea4a8ccd5;hpb=46e428110e302636b345928f6f052b8a282c64fa;p=sbcl.git diff --git a/src/runtime/GNUmakefile b/src/runtime/GNUmakefile index fa764d4..3d75800 100644 --- a/src/runtime/GNUmakefile +++ b/src/runtime/GNUmakefile @@ -11,7 +11,7 @@ .PHONY: all clean TAGS tags targets -all: targets +all: targets tags TARGET=sbcl # Defaults which might be overridden or modified by values in the @@ -23,9 +23,14 @@ NM = nm -gp DEPEND_FLAGS = -MM GREP = grep -CFLAGS = -g -Wall -O3 +include ../../output/prefix.def + +CFLAGS = -g -Wall -Wsign-compare -O3 ASFLAGS = $(CFLAGS) -CPPFLAGS = -I. +CPPFLAGS = -I. -DSBCL_PREFIX=\"$(SBCL_PREFIX)\" + +# 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 @@ -35,12 +40,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 largefile.c \ - monitor.c os-common.c parse.c print.c purify.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 + 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 \ + regnames.c run-program.c runtime.c safepoint.c save.c search.c \ + thread.c time.c util.c validate.c vars.c wrap.c C_SRC = $(COMMON_SRC) ${ARCH_SRC} ${OS_SRC} ${GC_SRC} @@ -56,24 +61,20 @@ $(TARGET): $(OBJS) $(CC) ${LINKFLAGS} -o $@ $^ $(LIBS) sbcl.nm: $(TARGET) - $(NM) $(TARGET) | $(GREP) -v " F \| U " > ,$@ + $(NM) $(TARGET) | $(GREP) -v " [FUw] " > ,$@ mv -f ,$@ $@ sbcl.h: $(wildcard genesis/*.h) echo '#include "genesis/config.h"' >sbcl.h echo '#include "genesis/constants.h"' >>sbcl.h +# || true because we don't want the build to break if etags isn't there. +# ...but it's still nice to have it done by default. TAGS tags: $(SRCS) - etags $(SRCS) + etags $(SRCS) || true clean: -rm -f *.[do] $(TARGET) 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; \