# Makefile for hello.c CC = gcc # C compiler CFLAGS = -O2 # Compiler flags (optimization level) SRC_DIR = src BUILD_DIR = build BIN_DIR = bin EXECUTABLE = WebServer # Create directories $(shell mkdir -p $(BUILD_DIR) $(BIN_DIR)) SOURCES = $(wildcard $(SRC_DIR)/*.c) OBJECT_FILES = $(SOURCES:$(SRC_DIR)/%.c=$(BUILD_DIR)/%.o) $(EXECUTABLE): $(OBJECT_FILES) $(CC) $(CFLAGS) -o $@ $^ $(BUILD_DIR)/%.o: $(SRC_DIR)/%.c $(CC) $(CFLAGS) -c $< -o $@ run: ./$(EXECUTABLE) clean: rm -f $(BUILD_DIR)/*.o $(BIN_DIR)/*