project init
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
PRIV_DIR := $(MIX_APP_PATH)/priv
|
||||
BUILD_DIR := $(MIX_APP_PATH)/cmake_build
|
||||
NIF_SO := $(PRIV_DIR)/chromaprint_nif.so
|
||||
JOBS ?= $(shell nproc 2>/dev/null || echo 4)
|
||||
CMAKE_BUILD_TYPE ?= Release
|
||||
CHROMAPRINT_USE_SYSTEM ?= OFF
|
||||
|
||||
CMAKE_EXTRA_ARGS ?=
|
||||
|
||||
ifneq ($(strip $(CHROMAPRINT_INCLUDE_DIR)),)
|
||||
CMAKE_EXTRA_ARGS += -DCHROMAPRINT_INCLUDE_DIR=$(CHROMAPRINT_INCLUDE_DIR)
|
||||
endif
|
||||
ifneq ($(strip $(CHROMAPRINT_LIB_DIR)),)
|
||||
CMAKE_EXTRA_ARGS += -DCMAKE_LIBRARY_PATH=$(CHROMAPRINT_LIB_DIR)
|
||||
endif
|
||||
|
||||
.PHONY: all clean
|
||||
|
||||
all: $(NIF_SO)
|
||||
|
||||
$(NIF_SO): $(BUILD_DIR)/CMakeCache.txt
|
||||
@mkdir -p $(PRIV_DIR)
|
||||
cmake --build $(BUILD_DIR) --config $(CMAKE_BUILD_TYPE) -j $(JOBS)
|
||||
cmake --install $(BUILD_DIR)
|
||||
|
||||
$(BUILD_DIR)/CMakeCache.txt:
|
||||
@mkdir -p $(BUILD_DIR)
|
||||
cmake -S c_src -B $(BUILD_DIR) \
|
||||
-DCMAKE_BUILD_TYPE=$(CMAKE_BUILD_TYPE) \
|
||||
-DERTS_INCLUDE_DIR=$(ERTS_INCLUDE_DIR) \
|
||||
-DPRIV_DIR=$(PRIV_DIR) \
|
||||
-DCHROMAPRINT_USE_SYSTEM=$(CHROMAPRINT_USE_SYSTEM) \
|
||||
$(CMAKE_EXTRA_ARGS)
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR) $(NIF_SO)
|
||||
Reference in New Issue
Block a user