This repository has been archived on 2021-04-22. You can view files and clone it, but cannot push or open issues/pull-requests.
stj/Makefile

49 lines
907 B
Makefile

SRC_DIR := src
BUILD_DIR := build
RELEASE_DIR := $(BUILD_DIR)/release
DEBUG_DIR := $(BUILD_DIR)/debug
BINARY := stj
CORES := $(shell nproc --all)
all: debug
.PHONY: all
clean:
@ rm -rf $(BUILD_DIR)
.PHONY: clean
# Release
run-release: release
@ ./$(RELEASE_DIR)/$(BINARY)
.PHONY: run-release
release: $(RELEASE_DIR)/Makefile
@ make -C $(RELEASE_DIR) -j$(CORES)
.PHONY: release
$(RELEASE_DIR)/Makefile: $(SRC_DIR)/CMakeLists.txt
@ cmake -H$(SRC_DIR) -B$(RELEASE_DIR) -DCMAKE_BUILD_TYPE=Release
clean-release:
@ rm -rf $(RELEASE_DIR)
.PHONY: clean-release
# Debug
run-debug: debug
@ ./$(DEBUG_DIR)/$(BINARY)
.PHONY: run-debug
debug: $(DEBUG_DIR)/Makefile
@ make -C $(DEBUG_DIR) -j$(CORES)
.PHONY: debug
$(DEBUG_DIR)/Makefile: $(SRC_DIR)/CMakeLists.txt
@ cmake -H$(SRC_DIR) -B$(DEBUG_DIR) -DCMAKE_BUILD_TYPE=Debug
clean-debug:
@ rm -rf $(DEBUG_DIR)
.PHONY: clean-debug