🔨 Created Makefile to automatically build projects from src/ and lib/

main
Isabell Pflug 2 days ago
parent befe6bf1bf
commit eee1911d8e

@ -0,0 +1,32 @@
CXX := clang++
CXXFLAGS := -std=c++23 -O2 -Wall -Wextra -Werror -Ilib
SRC_DIR := src
LIB_DIR := lib
OUT_DIR := out
PROJECTS := $(wildcard $(SRC_DIR)/*)
BINS := $(patsubst $(SRC_DIR)/%, $(OUT_DIR)/%, $(PROJECTS))
LIB_SOURCES := $(wildcard $(LIB_DIR)/*.cpp)
OPENMP_FLAG :=
OPENMP_CHECK := $(shell echo | $(CXX) -fopenmp -x c++ - -o /dev/null 2>/dev/null && echo yes)
ifeq ($(OPENMP_CHECK),yes)
OPENMP_FLAG := -fopenmp
endif
CXXFLAGS += $(OPENMP_FLAG)
all: $(BINS)
$(OUT_DIR)/%: $(SRC_DIR)/% $(LIB_SOURCES) | $(OUT_DIR)
$(CXX) $(CXXFLAGS) $</*.cpp $(LIB_SOURCES) -o $@
$(OUT_DIR):
mkdir -p $(OUT_DIR)
clean:
rm -rf $(OUT_DIR)
.PHONY: all clean
Loading…
Cancel
Save