50 lines
No EOL
1.6 KiB
Makefile
Executable file
50 lines
No EOL
1.6 KiB
Makefile
Executable file
ENGINE_PATH = asloengine
|
|
ENGINE_HEADERS_PATH = asloengine/headers
|
|
|
|
ENGINE_BUILTIN_PATH = asloengine/builtin
|
|
ENGINE_BUILTIN_HEADERS_PATH = asloengine/builtin/headers
|
|
|
|
COMPILER_FLAGS = -std=c++17
|
|
LINK_LIBS = -lsfml-system -lsfml-window -lsfml-graphics -lfmt
|
|
|
|
PROGRAM_BUILD_FILES = $(wildcard *.cpp)
|
|
ENGINE_BUILD_FILES = $(wildcard $(ENGINE_PATH)/*.cpp)
|
|
ENGINE_BUILTIN_BUILD_FILES = $(wildcard $(ENGINE_BUILTIN_PATH)/*.cpp)
|
|
|
|
BUILD_DIR = obj
|
|
OUTPUT_FILE = enginetest
|
|
|
|
VPATH = $(ENGINE_PATH) $(ENGINE_HEADERS_PATH) $(ENGINE_BUILTIN_PATH) $(ENGINE_BUILTIN_HEADERS_PATH)
|
|
|
|
run: compile
|
|
./$(OUTPUT_FILE)
|
|
|
|
justrun:
|
|
./$(OUTPUT_FILE)
|
|
|
|
all: clean compile
|
|
|
|
test:
|
|
g++ $(COMPILER_FLAGS) $(PROGRAM_BUILD_FILES) $(ENGINE_BUILD_FILES) $(ENGINE_BUILTIN_BUILD_FILES) -o $(OUTPUT_FILE) $(LINK_LIBS)
|
|
|
|
compile: $(BUILD_DIR) $(patsubst %.cpp,$(BUILD_DIR)/%.o,$(PROGRAM_BUILD_FILES)) $(patsubst $(ENGINE_PATH)/%.cpp,$(BUILD_DIR)/%.o,$(ENGINE_BUILD_FILES)) $(patsubst $(ENGINE_BUILTIN_PATH)/%.cpp,$(BUILD_DIR)/%.o,$(ENGINE_BUILTIN_BUILD_FILES))
|
|
g++ -g -O0 $(COMPILER_FLAGS) $(BUILD_DIR)/*.o -o $(OUTPUT_FILE) $(LINK_LIBS)
|
|
|
|
release: clean $(BUILD_DIR) $(patsubst %.cpp,$(BUILD_DIR)/%.o,$(PROGRAM_BUILD_FILES)) $(patsubst $(ENGINE_PATH)/%.cpp,$(BUILD_DIR)/%.o,$(ENGINE_BUILD_FILES)) $(patsubst $(ENGINE_BUILTIN_PATH)/%.cpp,$(BUILD_DIR)/%.o,$(ENGINE_BUILTIN_BUILD_FILES))
|
|
g++ -O3 $(COMPILER_FLAGS) $(BUILD_DIR)/*.o -o $(OUTPUT_FILE) $(LINK_LIBS)
|
|
|
|
clear: clean
|
|
|
|
clean:
|
|
rm -rf $(BUILD_DIR)
|
|
|
|
core: removecore run
|
|
|
|
removecore:
|
|
rm -f $(BUILD_DIR)/core.o
|
|
|
|
$(BUILD_DIR):
|
|
mkdir $@
|
|
|
|
$(BUILD_DIR)/%.o: %.cpp %.hpp
|
|
g++ $(COMPILER_FLAGS) -c $< -o $@
|