flags=-O0 -Wall -std=c23 -I.
ldflags=-lbu

.PHONY: clean

all: hyperbird

hyperbird: hyperbird.o lexer.o parser.o
	cc $(flags) $^ -o $@ $(ldflags)

hyperbird.o: hyperbird.c hyperbird.h
	cc $(flags) -c $<

lexer.o: lexer.c lexer.h
	cc $(flags) -c $<

parser.o: parser.c parser.h
	cc $(flags) -c $<

clean:
	rm -f *.o hyperbird