99 lines
1.9 KiB
Makefile
99 lines
1.9 KiB
Makefile
CXX ?= g++
|
|
|
|
ROOT := $(abspath .)
|
|
|
|
CXXFLAGS := \
|
|
-std=c++17 \
|
|
-O2 \
|
|
-Wall \
|
|
-Wextra \
|
|
-Wpedantic \
|
|
-Iinclude \
|
|
-DFACE_CLUSTERING_ROOT=\"$(ROOT)\"
|
|
|
|
LDFLAGS := \
|
|
-L$(ROOT)/lib \
|
|
-Wl,-rpath,'$$ORIGIN/../lib'
|
|
|
|
LDLIBS := \
|
|
-lrknnrt \
|
|
-ldl \
|
|
-lpthread
|
|
|
|
BIN_DIR := bin
|
|
BUILD_DIR := build
|
|
|
|
ENGINE_SOURCE := src/face_engine.cc
|
|
ENGINE_OBJECT := $(BUILD_DIR)/face_engine.o
|
|
|
|
FACE_RECOGNITION_SOURCE := src/face_recognition.cc
|
|
FACE_RECOGNITION_OBJECT := $(BUILD_DIR)/face_recognition.o
|
|
FACE_RECOGNITION_BINARY := $(BIN_DIR)/face_recognition
|
|
|
|
FACE_SCAN_SOURCE := src/face_scan.cc
|
|
FACE_SCAN_OBJECT := $(BUILD_DIR)/face_scan.o
|
|
FACE_SCAN_BINARY := $(BIN_DIR)/face_scan
|
|
|
|
.PHONY: all clean test info
|
|
|
|
all: \
|
|
$(FACE_RECOGNITION_BINARY) \
|
|
$(FACE_SCAN_BINARY)
|
|
|
|
$(BUILD_DIR):
|
|
mkdir -p $(BUILD_DIR)
|
|
|
|
$(BIN_DIR):
|
|
mkdir -p $(BIN_DIR)
|
|
|
|
$(ENGINE_OBJECT): $(ENGINE_SOURCE) include/face_engine.h | $(BUILD_DIR)
|
|
$(CXX) $(CXXFLAGS) -c $< -o $@
|
|
|
|
$(FACE_RECOGNITION_OBJECT): \
|
|
$(FACE_RECOGNITION_SOURCE) \
|
|
include/face_engine.h \
|
|
include/face_config.h \
|
|
| $(BUILD_DIR)
|
|
$(CXX) $(CXXFLAGS) -c $< -o $@
|
|
|
|
$(FACE_SCAN_OBJECT): \
|
|
$(FACE_SCAN_SOURCE) \
|
|
include/face_engine.h \
|
|
include/face_config.h \
|
|
| $(BUILD_DIR)
|
|
$(CXX) $(CXXFLAGS) -c $< -o $@
|
|
|
|
$(FACE_RECOGNITION_BINARY): \
|
|
$(ENGINE_OBJECT) \
|
|
$(FACE_RECOGNITION_OBJECT) \
|
|
| $(BIN_DIR)
|
|
$(CXX) $^ $(LDFLAGS) $(LDLIBS) -o $@
|
|
|
|
$(FACE_SCAN_BINARY): \
|
|
$(ENGINE_OBJECT) \
|
|
$(FACE_SCAN_OBJECT) \
|
|
| $(BIN_DIR)
|
|
$(CXX) $^ $(LDFLAGS) $(LDLIBS) -o $@
|
|
|
|
test: all
|
|
./bin/face_recognition \
|
|
test/test.jpg \
|
|
test/test3f.jpg
|
|
./bin/face_scan \
|
|
test/test3f.jpg \
|
|
> /tmp/face_scan_test.json
|
|
python3 -m json.tool \
|
|
/tmp/face_scan_test.json \
|
|
> /dev/null
|
|
@echo "Tests completed successfully"
|
|
|
|
info:
|
|
@echo "ROOT=$(ROOT)"
|
|
@echo "CXX=$(CXX)"
|
|
@echo "CXXFLAGS=$(CXXFLAGS)"
|
|
@echo "LDFLAGS=$(LDFLAGS)"
|
|
|
|
clean:
|
|
rm -rf $(BUILD_DIR)
|
|
rm -f $(FACE_RECOGNITION_BINARY)
|
|
rm -f $(FACE_SCAN_BINARY)
|