CFLAGS = -std=c17 -Wall -Wextra -Wpedantic -Wconversion

HEADERS = $(wildcard *.h)

all: compile_flags.txt wacc

wacc: main.o lexer.o parser.o utils.o
	gcc $^ -o $@

%.o: %.c $(HEADERS)
	gcc $< -c -o $@ $(CFLAGS)

clean:
	rm -rf *.o wacc

compile_flags.txt:
	echo -xc $(CFLAGS) | sed 's/\s\+/\n/g' > compile_flags.txt