X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2FGNUmakefile;h=bc0ef3af73744804f9dc8739c7d21b8f3339f32d;hb=731d5dd65a7b94b5d49d1663d9b60c3a406ce38c;hp=5f44e706816dbeda59f7860e755cdf4a32edd9e2;hpb=fdf07da187cb31fd5bdd872c73245fd72877b1a1;p=sbcl.git diff --git a/src/runtime/GNUmakefile b/src/runtime/GNUmakefile index 5f44e70..bc0ef3a 100644 --- a/src/runtime/GNUmakefile +++ b/src/runtime/GNUmakefile @@ -14,11 +14,8 @@ all: sbcl sbcl.nm # defaults which might be overridden or modified by values in the # Config file -# -# CFLAGS = -g -Wall -O3 ASFLAGS = $(CFLAGS) -DEPEND_FLAGS = CPPFLAGS = -I. # Some of these things might be Config-dependent in future versions, @@ -28,6 +25,7 @@ CPP = cpp LD = ld LINKFLAGS = -g NM = nm -gp +DEPEND_FLAGS=-M # The Config file is the preferred place for tweaking options which # are appropriate for particular setups (OS, CPU, whatever). Make a @@ -36,26 +34,39 @@ NM = nm -gp include Config -SRCS = alloc.c backtrace.c breakpoint.c coreparse.c \ - dynbind.c globals.c interr.c interrupt.c \ +C_SRCS = 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 \ regnames.c run-program.c runtime.c save.c search.c \ - time.c util.c validate.c vars.c wrap.c \ - ${ARCH_SRC} ${ASSEM_SRC} ${OS_SRC} ${GC_SRC} + thread.c time.c util.c validate.c vars.c wrap.c + +SRCS = $(C_SRCS) ${ARCH_SRC} ${ASSEM_SRC} ${OS_SRC} ${GC_SRC} -OBJS = $(patsubst %.c,%.o,$(patsubst %.S,%.o,$(patsubst %.s,%.o,$(SRCS)))) +OBJS = $(patsubst %.c,%.o,$(patsubst %.S,%.o,$(patsubst %.s,%.o,$(SRCS)))) ${OS_OBJS} sbcl.nm: sbcl $(NM) sbcl | grep -v " F \| U " > ,$@ mv -f ,$@ $@ sbcl: ${OBJS} - $(CC) ${LINKFLAGS} ${OS_LINK_FLAGS} -o $@ ${OBJS} ${OS_LIBS} -lm + $(CC) ${LINKFLAGS} ${OS_LINK_FLAGS} -o $@ ${OBJS} ${OS_OBJS} ${OS_LIBS} -lm + -.PHONY: clean all +.PHONY: clean clean: - rm -f depend *.o sbcl sbcl.nm core *.tmp ; true + -rm -f depend *.o sbcl sbcl.nm core *.tmp $(CLEAN_FILES) -depend: ${SRCS} sbcl.h - $(CC) -MM -E ${DEPEND_FLAGS} ${CFLAGS} ${CPPFLAGS} $? > depend.tmp +TAGS: $(SRCS) + etags $(SRCS) + +sbcl.h: 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 + +# 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