# Compiler and flags CC = gcc CFLAGS = -Wall -Wextra -std=c99 -O2 -Iinclude LDFLAGS = -lraylib -lm -ldl -lpthread -lGL -lrt -lX11 # Directories SRC_DIR = source BIN_DIR = bin BUILD_DIR = build # Files TARGET = $(BIN_DIR)/voxelThing SRC = $(wildcard $(SRC_DIR)/*.c) OBJ = $(patsubst $(SRC_DIR)/%.c,$(BUILD_DIR)/%.o,$(SRC)) # Rules all: $(TARGET) $(BUILD_DIR)/%.o: $(SRC_DIR)/%.c @mkdir -p $(BUILD_DIR) $(CC) $(CFLAGS) -c $< -o $@ $(TARGET): $(OBJ) @mkdir -p $(BIN_DIR) $(CC) $(OBJ) -o $@ $(LDFLAGS) clean: rm -rf $(BUILD_DIR) $(BIN_DIR) .PHONY: all clean