generated from loic/c-template
43 lines
625 B
Makefile
43 lines
625 B
Makefile
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
|
|
|