CFLAGS:=-g3 -ffreestanding -fno-builtin -I../src -ansi -Wall -Werror %.o: %.c gcc $(CFLAGS) -c -o $@ $< for file in $$(cat $$(echo $@ | sed 's/\.o$$//').deps); do \ gcc $(CFLAGS) -c -o ./$${file}.o ../src/$$file.c ; \ done %.elf: %.o gcc $(CFLAGS) -o $@ $^ $$(cat $$(echo $@ | sed 's/\.elf$$//').deps | sed 's/$$/\.o/g') all_targets:=$(shell ls *c | sed 's/\.c$$/\.elf/g') all: $(all_targets) .PHONY: clean clean: rm -f *o rm -f *elf