UniStuff/Workbook/Makefile
Emma Nora Theuer 457e322c02 Initial Commit
2024-12-27 15:25:17 +01:00

36 lines
693 B
Makefile

##
# TH WWS
#
# @file
# @version 0.1
CC = gcc
CFLAGS ?= -Wall -Wextra -Iinclude -fomit-frame-pointer -O2
SRC_DIR = src
INCLUDE_DIR = include
BUILD_DIR = build
TARGET = WWS_System
SRC_FILES = $(wildcard $(SRC_DIR)/*.c)
OBJ_FILES = $(patsubst $(SRC_DIR)/%.c, $(BUILD_DIR)/%.o, $(SRC_FILES))
.PHONY: all clean
all: $(BUILD_DIR) $(TARGET)
# Link all the files into the final executable
$(TARGET): $(OBJ_FILES)
$(CC) $(OBJ_FILES) -o $@
# Compile source- and object files
$(BUILD_DIR)/%.o: $(SRC_DIR)/%.c | $(BUILD_DIR)
$(CC) $(CFLAGS) -c $< -o $@
#Ensure the build directory exists
$(BUILD_DIR):
mkdir -p $(BUILD_DIR)
# Clean build and target
clean:
rm -Rf $(BUILD_DIR) $(TARGET)
# end