# =====CONFIG===== BUILD_DIR := ./build SRC_DIR := ./src TEST_DIR := test CORES != nproc SRCS := $(shell find '$(SRC_DIR)' -iname '*.cpp') # =====RECIPES===== all: build .PHONY: cmake cmake: $(BUILD_DIR)/Debug/Makefile $(BUILD_DIR)/Debug/Makefile: CMakeLists.txt @ cmake -B'$(BUILD_DIR)/Debug' -DCMAKE_EXPORT_COMPILE_COMMANDS=1 . @ ln -sf '$(BUILD_DIR)/Debug/compile_commands.json' compile_commands.json .PHONY: build build: cmake @ make -C '$(BUILD_DIR)/Debug' .PHONY: cmake-release cmake-release: $(BUILD_DIR)/Release/Makefile $(BUILD_DIR)/Release/Makefile: CMakeLists.txt @ cmake -B'$(BUILD_DIR)/Release' -DCMAKE_BUILD_TYPE=Release . .PHONY: prod prod: cmake-release @ make -C '$(BUILD_DIR)/Release' .PHONY: run run: build @ LANDER_BASE_URL=http://localhost:18080/ LANDER_API_KEY=test ./build/Debug/lander .PHONY: clean clean: @ rm -rf '$(BUILD_DIR)' compile_commands.json .PHONY: lint lint: @ clang-format --Werror -n $(SRCS) .PHONY: format format: @ clang-format -i $(SRCS)