X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2FGNUmakefile;h=cfaac204c351f462e9c11eafc33cf5b58101b007;hb=d9d75ffc2f436767c81a4091ec4ff7006c1ec676;hp=64acd3cda83dcbd04ebb87043510a9a9d064a646;hpb=b1150c0fd4792d9d0c9407bb3da5d8e1943514d0;p=sbcl.git diff --git a/src/runtime/GNUmakefile b/src/runtime/GNUmakefile index 64acd3c..cfaac20 100644 --- a/src/runtime/GNUmakefile +++ b/src/runtime/GNUmakefile @@ -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; \