SRCS	=	src/cli.c src/globals.c src/lex.c src/parse.c src/util.c \
		src/slang-format.c
OBJS	=	$(SRCS:src/%.c=obj/%.o)
DEPS	=	$(OBJS:obj/%.o=obj/%.d)
TARGET	=	bin/slang-format
CFLAGS	:=	-Wall -Wextra -Werror -Iinclude -g -MMD -MP

.PHONY:	all clean test

all: $(TARGET)

bin/slang-format:	$(OBJS)
	mkdir -p bin
	$(CC) $(CFLAGS) -o $@ $^

test: $(TARGET)
	./$< ./test.sg

$(OBJS):	obj/%.o:	src/%.c
	mkdir -p obj
	$(CC)  $(CFLAGS) -c -o $@ $<

clean:
	rm -fr bin
	rm -fr obj

-include $(DEPS)
