NAME := game SRC_DIR := source/ OBJ_DIR := obj/ BUILD_DIR := build SRC := $(wildcard $(SRC_DIR)*.c) OBJ := $(SRC:$(SRC_DIR)%.c=$(OBJ_DIR)%.o) CC := gcc CFLAG := -ggdb -Wall -Wextra -Werror LFLAG := -lraylib -lopengl32 -lgdi32 -lwinmm -lpthread all: $(NAME) $(OBJ_DIR)%.o: $(SRC_DIR)%.c | build_dir $(CC) $(CFLAG) -c $< -o $@ $(NAME): $(OBJ) $(CC) $(OBJ) $(LFLAG) -o $(BUILD_DIR)/$(NAME) build_dir: mkdir -p $(BUILD_DIR) mkdir -p $(OBJ_DIR) clean: rm -rf $(OBJ_DIR) $(BUILD_DIR) re : clean all .PHONY: all exec lib clean build_dir