NAME = Colleen

.DEFAULT_GOAL := all
MAKEFLAGS += --no-print-directory
include sources.mk

CC = clang
CPPFLAGS = -std=c99 -I includes
CFLAGS = -Wall -Wextra -Werror -pipe -Wpedantic -Wconversion -Wshadow -Wvla
LDFLAGS =


OBJ_DIR = .build

OBJS = $(SRCS:$(SRC_DIR)/%.c=$(OBJ_DIR)/%.o)
DEPS = $(OBJS:.o=.d)

.PHONY: all
all: $(NAME)

$(NAME): $(OBJS)
	$(CC) $(LDFLAGS) -o $@ $^

$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c
	@mkdir -p $(dir $@)
	$(CC) $(CPPFLAGS) $(CFLAGS) -MMD -MP -c $< -o $@

-include $(DEPS)



.PHONY: clean
clean:
	$(RM) -r $(OBJ_DIR)

.PHONY: fclean
fclean: clean
	$(RM) $(NAME)

.PHONY: re
re: fclean
	$(MAKE) all

