aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorClyne Sullivan <tullivan99@gmail.com>2018-10-02 21:26:48 -0400
committerClyne Sullivan <tullivan99@gmail.com>2018-10-02 21:26:48 -0400
commitc66410f6319284b94e21758539ac25bfb4694d3a (patch)
tree73c1ac0da5c6507d4111cf967549184c964552c9 /Makefile
parent231c796f50ac4dc277978a6568e8083412c765e0 (diff)
folder restructure
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile31
1 files changed, 10 insertions, 21 deletions
diff --git a/Makefile b/Makefile
index 97343f6..02fbad2 100644
--- a/Makefile
+++ b/Makefile
@@ -25,37 +25,26 @@ AS = as
MCUFLAGS = -mthumb -mcpu=cortex-m4 #-mfloat-abi=hard -mfpu=fpv4-sp-d16
AFLAGS = $(MCUFLAGS)
CFLAGS = $(MCUFLAGS) -ggdb \
- -Iinclude -Iinclude/cmsis \
+ -I.. \
-fno-builtin -fsigned-char -ffreestanding \
-Wall -Werror -Wextra -pedantic \
-Wno-overlength-strings -Wno-discarded-qualifiers
LFLAGS = -T link.ld
-CFILES = $(wildcard src/*.c)
-AFILES = $(wildcard src/*.s)
+OUT = main.elf
-OUTDIR = out
-OFILES = $(patsubst src/%.c, $(OUTDIR)/%.o, $(CFILES)) \
- $(patsubst src/%.s, $(OUTDIR)/%.asm.o, $(AFILES))
+export
-OUT = out/main.elf
-
-all: $(OUT)
-
-$(OUT): $(OFILES)
+all:
+ @$(MAKE) -C src/kernel
+ @$(MAKE) -C src/user
@echo " LINK " $(OUT)
- @$(CROSS)$(CC) $(CFLAGS) $(LFLAGS) out/*.o -o $(OUT)
+ @$(CROSS)$(CC) $(CFLAGS) $(LFLAGS) -o $(OUT) $$(find src/ -name "*.o")
-$(OUTDIR)/%.o: src/%.c
- @echo " CC " $<
- @$(CROSS)$(CC) $(CFLAGS) -c $< -o $@
-
-$(OUTDIR)/%.asm.o: src/%.s
- @echo " AS " $<
- @$(CROSS)$(AS) $(AFLAGS) -c $< -o $@
clean:
@echo " CLEAN"
- @rm -rf out/*
-
+ @$(MAKE) -C src/kernel clean
+ @$(MAKE) -C src/user clean
+ @rm -f $(OUT)