cc := clang
ld := ld.lld
o :=
c :=
ldflags += -L ../libsystem/build -l:libsystem.a -L ../liballoc/build -l:liballoc.a
cflags += -isystem ../libsystem -isystem ../liballoc
extra_deps +=

include src.mk
include app.mk
include ../generic/flags.mk
include ../$(platform)/flags.mk

FORMAT ?= clang-format -i $$(git ls-files '*.c' '*.h')

all: $(app)

$(app): $(extra_deps) $(o)
	$(ld) -o $@ $(ldflags) -T ../$(platform)/link.ld $(o)

%.o: %.c
	$(cc) -c -o $@ $(cflags) $<

%.o: %.S
	$(cc) -c -o $@ $(cflags) $<

clean:
	rm -f $(o) $(app)

format:
	$(FORMAT)

.PHONY: all clean format
