diff --git a/litex/soc/software/common.mak b/litex/soc/software/common.mak index bc56b8310..7ef85aae7 100644 --- a/litex/soc/software/common.mak +++ b/litex/soc/software/common.mak @@ -34,17 +34,19 @@ else OBJCOPY = $(OBJCOPY_quiet) endif +# http://scottmcpeak.com/autodepend/autodepend.html +# Generate *.d Makefile dependencies fragments, include using; +# -include $(OBJECTS:.o=.d) +DEPFLAGS += -MD -MP + # Toolchain options # INCLUDES = -I$(SOC_DIRECTORY)/software/include/base -I$(SOC_DIRECTORY)/software/include -I$(SOC_DIRECTORY)/common -I$(BUILDINC_DIRECTORY) -COMMONFLAGS = -Os $(CPUFLAGS) -fomit-frame-pointer -Wall -fno-builtin -nostdinc $(INCLUDES) +COMMONFLAGS = $(DEPFLAGS) -Os $(CPUFLAGS) -fomit-frame-pointer -Wall -fno-builtin -nostdinc $(INCLUDES) CFLAGS = $(COMMONFLAGS) -fexceptions -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes CXXFLAGS = $(COMMONFLAGS) -std=c++11 -I$(SOC_DIRECTORY)/software/include/basec++ -fexceptions -fno-rtti -ffreestanding LDFLAGS = -nostdlib -nodefaultlibs -L$(BUILDINC_DIRECTORY) -# compile and generate dependencies, based on -# http://scottmcpeak.com/autodepend/autodepend.html - define compilexx $(CX) -c $(CXXFLAGS) $(1) $< -o $@ endef