include config.mk CFILES := $(wildcard *.c) CFILES += $(wildcard */*.c) CFILES += $(wildcard boot/$(TARGET_BOOTLOADER)/*.c) CFILES += $(wildcard arch/$(TARGET_MACHINE)/*.c) CFILES += $(wildcard arch/$(TARGET_MACHINE)/*/*.c) SFILES := $(wildcard *.S) SFILES += $(wildcard */*.S) SFILES += $(wildcard arch/$(TARGET_MACHINE)/*.S) SFILES += $(wildcard arch/$(TARGET_MACHINE)/*/*.S) OBJFILES := $(patsubst %.c,%.o,$(CFILES)) OBJFILES += $(patsubst %.S,%.o,$(SFILES)) DFILES := $(wildcard *.d) DFILES += $(wildcard */*.d) DFILES += $(wildcard arch/$(TARGET_MACHINE)/*.d) DFILES += $(wildcard arch/$(TARGET_MACHINE)/*/*.d) BIN := jove.elf all: $(BIN) .PHONY: clean clean: rm $(OBJFILES) rm $(DFILES) rm $(BIN) $(BIN): ${OBJFILES} $(LD) $(LDFLAGS) ${OBJFILES} -o $(BIN) %.o:%.c $(CC) $(CFLAGS) -c $< -o $@ %.o:%.S $(AS) -g -c $< -o $@