skyridge/Makefile
2024-09-28 22:19:31 -06:00

36 lines
678 B
Makefile

TARGET := program
SRC = \
$(wildcard src/*.cpp) \
$(wildcard src/*.hpp) \
BUILD := build
OBJECTS := $(patsubst src/%.cpp,$(BUILD)/%.o,$(SRC))
CXX := g++
CXXFLAGS := -pedantic-errors -Wall -Wextra -Werror
LDFLAGS := -lstdc++ -lm -lGL -lGLEW -lSDL2
INCLUDE := -Iinclude/
all: $(BUILD)/$(TARGET)
$(BUILD)/%.o: src/%.cpp
@mkdir -p $(@D)
$(CXX) $(CXXFLAGS) $(INCLUDE) -c $< -o $@
$(BUILD)/$(TARGET): $(OBJECTS)
@mkdir -p $(@D)
$(CXX) $(CXXFLAGS) -o $@ $^ $(LDFLAGS)
.PHONY: all run build clean debug release
run: all
@./$(BUILD)/$(TARGET)
debug: CXXFLAGS += -DDEBUG -g
debug: all
release: CXXFLAGS += -O2
release: all
clean:
-@rm -rvf $(BUILD)