mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2024-11-26 19:32:17 -05:00
d24c8453db
subrepo: subdir: "libultraship" merged: "a484cda98" upstream: origin: "https://github.com/HarbourMasters/libultraship.git" branch: "main" commit: "a484cda98" git-subrepo: version: "0.4.1" origin: "???" commit: "???"
29 lines
810 B
Makefile
29 lines
810 B
Makefile
# Only used for standalone compilation, usually inherits these from the main makefile
|
|
CXXFLAGS ?= -Wall -Wextra -O2 -g -std=c++17
|
|
|
|
SRC_DIRS := $(shell find -type d -not -path "*build*")
|
|
CPP_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.cpp))
|
|
H_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.h))
|
|
|
|
O_FILES := $(foreach f,$(CPP_FILES:.cpp=.o),build/$f)
|
|
LIB := otrlib.a
|
|
|
|
# create build directories
|
|
$(shell mkdir -p $(foreach dir,$(SRC_DIRS),build/$(dir)))
|
|
|
|
all: $(LIB)
|
|
|
|
clean:
|
|
rm -rf build $(LIB)
|
|
|
|
format:
|
|
clang-format-11 -i $(CPP_FILES) $(H_FILES)
|
|
|
|
.PHONY: all clean format
|
|
|
|
build/%.o: %.cpp
|
|
$(CXX) $(CXXFLAGS) $(OPTFLAGS) -I ./ -I ../ZAPD/ZAPD -I ../ZAPD/ZAPDUtils -I ../../ZAPD/lib/tinyxml2 -I otrlib/Lib/spdlog/include -c $(OUTPUT_OPTION) $<
|
|
|
|
$(LIB): $(O_FILES)
|
|
$(AR) rcs $@ $^
|