CFLAGS:=$(CFLAGS) -Wall -Wextra -O3 -s

.PHONY: all
.PHONY: clean
.PHONY: love

all: mml2sona
mml2sona: main.o stream.o mml.o mml_parse.o mml_parse_notes.o mml_parse_loop.o mml_parse_at.o mml_channels.o mml_macros.o sona.o blob.o text.o
	$(CC) $(CFLAGS) -o $@ $^

main.o: main.c main.h stream.h mml.h sona.h
stream.o: stream.c stream.h main.h
mml.o: mml.c mml.h main.h mml_channels.h mml_macros.h mml_parse.h stream.h text.h
mml_parse.o: mml_parse.c mml_parse.h mml_parse_notes.h mml_parse_loop.h main.h mml.h mml_channels.h stream.h text.h
mml_parse_notes.o: mml_parse_notes.c mml_parse_notes.h main.h mml_parse.h stream.h text.h
mml_parse_loop.o: mml_parse_loop.c mml_parse_loop.h main.h mml_parse.h stream.h text.h
mml_parse_at.o: mml_parse_at.c mml_parse_at.h main.h mml_parse.h stream.h text.h
mml_channels.o: mml_channels.c mml_channels.h main.h stream.h
mml_macros.o: mml_macros.c mml_macros.h main.h blob.h text.h
sona.o: sona.c sona.h main.h stream.h blob.h
blob.o: blob.c blob.h main.h
text.o: text.c text.h main.h

main.h: errormsg_en.h
stream.h: main.h
mml.h: stream.h
mml_parse.h: stream.h
mml_parse_notes.h: mml_parse.h
mml_parse_loop.h: mml_parse.h
mml_parse_at.h: mml_parse.h
mml_commands.h: stream.h
sona.h: stream.h

clean:
	rm -rf mml2sona
	rm -rf *.o

love:
	@echo not war?
