Commit caba116b authored by Adam Wujek's avatar Adam Wujek 💬

sw:rt: autogenerate dependencies

Signed-off-by: Adam Wujek's avatarAdam Wujek <adam.wujek@cern.ch>
parent ccbced2d
......@@ -20,6 +20,13 @@ LDFLAGS += -lgcc -lc -Wl,--gc-sections
vpath %.c $(TRTL)/software/rt
vpath %.S $(TRTL)/software/rt
# auto dependency generation from
# http://make.mad-scientist.net/papers/advanced-auto-dependency-generation/
DEPDIR := .d
$(shell mkdir -p $(DEPDIR) >/dev/null)
DEPFLAGS = -MT $@ -MMD -MP -MF $(DEPDIR)/$*.Td
POSTCOMPILE = mv -f $(DEPDIR)/$*.Td $(DEPDIR)/$*.d && touch $@
CC = $(CROSS_COMPILE_TARGET)gcc
LD = $(CROSS_COMPILE_TARGET)ld
......@@ -116,6 +123,7 @@ endif
# create dirs for object files
$(OBJDIR):
mkdir -p $@
mkdir -p $(DEPDIR)/$@
$(OBJS): | $(OBJDIR)
......@@ -127,18 +135,27 @@ $(OUTPUT).bin: $(OUTPUT).elf | check-def
$(SIZE) $(OUTPUT).elf
urv/emulate.o: urv/emulate.c
${CC} $(CFLAGS) -march=rv32i -c $^ -o $@
${CC} $(DEPFLAGS) $(CFLAGS) -march=rv32i -c $^ -o $@
$(POSTCOMPILE)
%.o: %.c
${CC} $(CFLAGS) $(LDFLAGS) -c $^ -o $@
${CC} $(DEPFLAGS) $(CFLAGS) $(LDFLAGS) -c $< -o $@
$(POSTCOMPILE)
%.o: %.S
${CC} $(CFLAGS) $(LDFLAGS) -c $^ -o $@
${CC} $(DEPFLAGS) $(CFLAGS) $(LDFLAGS) -c $^ -o $@
$(POSTCOMPILE)
clean:
@rm -rf $(OBJDIR)
@rm -f $(OBJS) $(OUTPUT).bin $(OUTPUT).elf
@rm -rf $(DEPDIR)
install:
@cp $(OUTPUT).bin $(INSTALL_PREFIX)
$(DEPDIR)/%.d: ;
.PRECIOUS: $(DEPDIR)/%.d
include $(wildcard $(patsubst %,$(DEPDIR)/%.d,$(basename $(OBJS))))
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment