40 lines
1.2 KiB
Makefile
40 lines
1.2 KiB
Makefile
|
|
BUILD_DIR ?= build
|
|
ARCHS = -arch arm64 # -arch x86_64
|
|
INCLUDES = -I./include
|
|
CC = clang++
|
|
CCFLAGS += -std=c++17 -finput-charset=utf-8 -fdiagnostics-show-template-tree -fno-elide-type -g $(ARCHS) $(INCLUDES)
|
|
LD = clang++
|
|
LDFLAGS += $(ARCHS)
|
|
JTEST_HEADERS := $(wildcard include/JTest/*.h)
|
|
JTEST_SOURCES := $(wildcard src/JTest/*.cpp)
|
|
JTEST_OBJECTS := $(patsubst src/%.cpp, $(BUILD_DIR)/%.o, $(JTEST_SOURCES))
|
|
#$(patsubst src/%.cpp, $(BUILD_DIR)/%.o, $(JTEST_SOURCES))
|
|
|
|
.Phony: clean all run
|
|
|
|
all: $(BUILD_DIR)/examples/example
|
|
|
|
clean:
|
|
rm -rf $(BUILD_DIR)
|
|
mkdir -p $(BUILD_DIR)/examples
|
|
mkdir -p $(BUILD_DIR)/JTest
|
|
# @echo JTEST_HEADERS = $(JTEST_HEADERS)
|
|
# @echo JTEST_SOURCES = $(JTEST_SOURCES)
|
|
# @echo JTEST_OBJECTS = $(JTEST_OBJECTS)
|
|
|
|
run: $(BUILD_DIR)/examples/example
|
|
$(BUILD_DIR)/examples/example
|
|
|
|
$(BUILD_DIR)/examples/example: $(BUILD_DIR)/examples/example.o $(JTEST_OBJECTS)
|
|
$(LD) $(LDFLAGS) -o $@ $^
|
|
|
|
$(BUILD_DIR)/examples/%.o: examples/%.cpp examples/ClassToTest.h $(JTEST_HEADERS)
|
|
$(CC) $(CCFLAGS) -c -o $@ $<
|
|
|
|
$(BUILD_DIR)/examples/JTest.o: examples/JTest.cpp examples/JTest.h $(JTEST_HEADERS)
|
|
$(CC) $(CCFLAGS) -c -o $@ $<
|
|
|
|
$(BUILD_DIR)/JTest/%.o: src/JTest/%.cpp $(JTEST_HEADERS)
|
|
$(CC) $(CCFLAGS) -c -o $@ $<
|