mirror of
https://github.com/GoogleChromeLabs/squoosh.git
synced 2025-11-15 10:09:45 +00:00
Restructure the AVIF directories
Change the way AVIF finds AOM from default ([avif source]/ext/aom) to custom paths. This allows us to avoid unpacking same archives into duplicate folders, and instead make multiple builds from the same source.
This commit is contained in:
committed by
Ingvar Stepanyan
parent
f523db6403
commit
81c183b0d6
@@ -4,9 +4,11 @@ CODEC_PACKAGE = node_modules/libavif.tar.gz
|
|||||||
LIBAOM_URL = https://aomedia.googlesource.com/aom/+archive/v2.0.0.tar.gz
|
LIBAOM_URL = https://aomedia.googlesource.com/aom/+archive/v2.0.0.tar.gz
|
||||||
LIBAOM_PACKAGE = node_modules/libaom.tar.gz
|
LIBAOM_PACKAGE = node_modules/libaom.tar.gz
|
||||||
|
|
||||||
CODEC_ENC_DIR = node_modules/libavif-enc
|
CODEC_DIR = node_modules/libavif
|
||||||
CODEC_ENC_MT_DIR = node_modules/libavif-enc-mt
|
BUILD_DIR := node_modules/build
|
||||||
CODEC_DEC_DIR = node_modules/libavif-dec
|
ENC_BUILD_DIR := $(BUILD_DIR)/enc
|
||||||
|
ENC_MT_BUILD_DIR := $(BUILD_DIR)/enc-mt
|
||||||
|
DEC_BUILD_DIR := $(BUILD_DIR)/dec
|
||||||
LIBAOM_DIR = node_modules/libaom
|
LIBAOM_DIR = node_modules/libaom
|
||||||
|
|
||||||
OUT_ENC_JS = enc/avif_enc.js
|
OUT_ENC_JS = enc/avif_enc.js
|
||||||
@@ -17,18 +19,17 @@ OUT_ENC_CPP = enc/avif_enc.cpp
|
|||||||
OUT_DEC_CPP = dec/avif_dec.cpp
|
OUT_DEC_CPP = dec/avif_dec.cpp
|
||||||
|
|
||||||
HELPER_MAKEFLAGS := -f helper.Makefile \
|
HELPER_MAKEFLAGS := -f helper.Makefile \
|
||||||
LIBAOM_DIR=$(LIBAOM_DIR) \
|
CODEC_DIR=$(CODEC_DIR) \
|
||||||
CODEC_PACKAGE=$(CODEC_PACKAGE) \
|
LIBAOM_DIR=$(LIBAOM_DIR)
|
||||||
LIBAOM_PACKAGE=$(LIBAOM_PACKAGE)
|
|
||||||
|
|
||||||
.PHONY: all clean
|
.PHONY: all clean
|
||||||
|
|
||||||
all: $(OUT_ENC_JS) $(OUT_DEC_JS) $(OUT_ENC_MT_JS)
|
all: $(OUT_ENC_JS) $(OUT_DEC_JS) $(OUT_ENC_MT_JS)
|
||||||
|
|
||||||
$(OUT_ENC_JS): $(OUT_ENC_CPP) $(CODEC_PACKAGE) $(LIBAOM_DIR)/CMakeLists.txt
|
$(OUT_ENC_JS): $(OUT_ENC_CPP) $(CODEC_DIR)/CMakeLists.txt $(LIBAOM_DIR)/CMakeLists.txt
|
||||||
$(MAKE) \
|
$(MAKE) \
|
||||||
$(HELPER_MAKEFLAGS) \
|
$(HELPER_MAKEFLAGS) \
|
||||||
CODEC_DIR=$(CODEC_ENC_DIR) \
|
BUILD_DIR=$(ENC_BUILD_DIR) \
|
||||||
OUT_JS=$@ \
|
OUT_JS=$@ \
|
||||||
OUT_CPP=$< \
|
OUT_CPP=$< \
|
||||||
LIBAOM_FLAGS="\
|
LIBAOM_FLAGS="\
|
||||||
@@ -38,10 +39,10 @@ $(OUT_ENC_JS): $(OUT_ENC_CPP) $(CODEC_PACKAGE) $(LIBAOM_DIR)/CMakeLists.txt
|
|||||||
" \
|
" \
|
||||||
LIBAVIF_FLAGS="-DAVIF_CODEC_AOM_DECODE=0"
|
LIBAVIF_FLAGS="-DAVIF_CODEC_AOM_DECODE=0"
|
||||||
|
|
||||||
$(OUT_ENC_MT_JS): $(OUT_ENC_CPP) $(CODEC_PACKAGE) $(LIBAOM_DIR)/CMakeLists.txt
|
$(OUT_ENC_MT_JS): $(OUT_ENC_CPP) $(CODEC_DIR)/CMakeLists.txt $(LIBAOM_DIR)/CMakeLists.txt
|
||||||
$(MAKE) \
|
$(MAKE) \
|
||||||
$(HELPER_MAKEFLAGS) \
|
$(HELPER_MAKEFLAGS) \
|
||||||
CODEC_DIR=$(CODEC_ENC_MT_DIR) \
|
BUILD_DIR=$(ENC_MT_BUILD_DIR) \
|
||||||
OUT_JS=$@ \
|
OUT_JS=$@ \
|
||||||
OUT_CPP=$< \
|
OUT_CPP=$< \
|
||||||
LIBAOM_FLAGS="\
|
LIBAOM_FLAGS="\
|
||||||
@@ -51,10 +52,10 @@ $(OUT_ENC_MT_JS): $(OUT_ENC_CPP) $(CODEC_PACKAGE) $(LIBAOM_DIR)/CMakeLists.txt
|
|||||||
LIBAVIF_FLAGS="-DAVIF_CODEC_AOM_DECODE=0" \
|
LIBAVIF_FLAGS="-DAVIF_CODEC_AOM_DECODE=0" \
|
||||||
OUT_FLAGS="-pthread"
|
OUT_FLAGS="-pthread"
|
||||||
|
|
||||||
$(OUT_DEC_JS): $(OUT_DEC_CPP) $(CODEC_PACKAGE) $(LIBAOM_DIR)/CMakeLists.txt
|
$(OUT_DEC_JS): $(OUT_DEC_CPP) $(CODEC_DIR)/CMakeLists.txt $(LIBAOM_DIR)/CMakeLists.txt
|
||||||
$(MAKE) \
|
$(MAKE) \
|
||||||
$(HELPER_MAKEFLAGS) \
|
$(HELPER_MAKEFLAGS) \
|
||||||
CODEC_DIR=$(CODEC_DEC_DIR) \
|
BUILD_DIR=$(DEC_BUILD_DIR) \
|
||||||
OUT_JS=$@ \
|
OUT_JS=$@ \
|
||||||
OUT_CPP=$< \
|
OUT_CPP=$< \
|
||||||
LIBAOM_FLAGS="\
|
LIBAOM_FLAGS="\
|
||||||
@@ -71,11 +72,15 @@ $(LIBAOM_PACKAGE):
|
|||||||
mkdir -p $(@D)
|
mkdir -p $(@D)
|
||||||
curl -sL $(LIBAOM_URL) -o $@
|
curl -sL $(LIBAOM_URL) -o $@
|
||||||
|
|
||||||
|
$(CODEC_DIR)/CMakeLists.txt: $(CODEC_PACKAGE)
|
||||||
|
mkdir -p $(@D)
|
||||||
|
tar xzm --strip 1 -C $(@D) -f $(CODEC_PACKAGE)
|
||||||
|
|
||||||
$(LIBAOM_DIR)/CMakeLists.txt: $(LIBAOM_PACKAGE)
|
$(LIBAOM_DIR)/CMakeLists.txt: $(LIBAOM_PACKAGE)
|
||||||
mkdir -p $(@D)
|
mkdir -p $(@D)
|
||||||
tar xzm -C $(@D) -f $(LIBAOM_PACKAGE)
|
tar xzm -C $(@D) -f $(LIBAOM_PACKAGE)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
$(MAKE) $(HELPER_MAKEFLAGS) CODEC_DIR=$(CODEC_ENC_DIR) OUT_JS=$(OUT_ENC_JS) clean
|
$(MAKE) $(HELPER_MAKEFLAGS) BUILD_DIR=$(ENC_BUILD_DIR) OUT_JS=$(OUT_ENC_JS) clean
|
||||||
$(MAKE) $(HELPER_MAKEFLAGS) CODEC_DIR=$(CODEC_ENC_MT_DIR) OUT_JS=$(OUT_ENC_MT_JS) clean
|
$(MAKE) $(HELPER_MAKEFLAGS) BUILD_DIR=$(ENC_MT_BUILD_DIR) OUT_JS=$(OUT_ENC_MT_JS) clean
|
||||||
$(MAKE) $(HELPER_MAKEFLAGS) CODEC_DIR=$(CODEC_DEC_DIR) OUT_JS=$(OUT_DEC_JS) clean
|
$(MAKE) $(HELPER_MAKEFLAGS) BUILD_DIR=$(DEC_BUILD_DIR) OUT_JS=$(OUT_DEC_JS) clean
|
||||||
|
|||||||
@@ -3,17 +3,16 @@
|
|||||||
# Params that must be supplied by the caller:
|
# Params that must be supplied by the caller:
|
||||||
# $(CODEC_DIR)
|
# $(CODEC_DIR)
|
||||||
# $(LIBAOM_DIR)
|
# $(LIBAOM_DIR)
|
||||||
|
# $(BUILD_DIR)
|
||||||
# $(OUT_JS)
|
# $(OUT_JS)
|
||||||
# $(OUT_CPP)
|
# $(OUT_CPP)
|
||||||
# $(LIBAOM_FLAGS)
|
# $(LIBAOM_FLAGS)
|
||||||
# $(LIBAVIF_FLAGS)
|
# $(LIBAVIF_FLAGS)
|
||||||
# $(CODEC_PACKAGE)
|
|
||||||
# $(LIBAOM_PACKAGE)
|
|
||||||
|
|
||||||
CODEC_BUILD_DIR := $(CODEC_DIR)/build
|
CODEC_BUILD_DIR := $(BUILD_DIR)/libavif
|
||||||
CODEC_OUT := $(CODEC_BUILD_DIR)/libavif.a
|
CODEC_OUT := $(CODEC_BUILD_DIR)/libavif.a
|
||||||
|
|
||||||
LIBAOM_BUILD_DIR := $(CODEC_DIR)/ext/aom/build.libavif
|
LIBAOM_BUILD_DIR := $(BUILD_DIR)/libaom
|
||||||
LIBAOM_OUT := $(LIBAOM_BUILD_DIR)/libaom.a
|
LIBAOM_OUT := $(LIBAOM_BUILD_DIR)/libaom.a
|
||||||
|
|
||||||
OUT_WASM = $(OUT_JS:.js=.wasm)
|
OUT_WASM = $(OUT_JS:.js=.wasm)
|
||||||
@@ -42,8 +41,8 @@ $(CODEC_OUT): $(CODEC_DIR)/CMakeLists.txt $(LIBAOM_OUT)
|
|||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-DBUILD_SHARED_LIBS=0 \
|
-DBUILD_SHARED_LIBS=0 \
|
||||||
-DAVIF_CODEC_AOM=1 \
|
-DAVIF_CODEC_AOM=1 \
|
||||||
-DAVIF_LOCAL_AOM=1 \
|
-DAOM_LIBRARY=$(LIBAOM_OUT) \
|
||||||
-DAVIF_CODEC_INCLUDES=$(abspath $(LIBAOM_DIR)) \
|
-DAOM_INCLUDE_DIR=$(LIBAOM_DIR) \
|
||||||
$(LIBAVIF_FLAGS) \
|
$(LIBAVIF_FLAGS) \
|
||||||
-B $(CODEC_BUILD_DIR) \
|
-B $(CODEC_BUILD_DIR) \
|
||||||
$(CODEC_DIR) && \
|
$(CODEC_DIR) && \
|
||||||
@@ -67,10 +66,6 @@ $(LIBAOM_OUT): $(LIBAOM_DIR)/CMakeLists.txt
|
|||||||
$(LIBAOM_DIR) && \
|
$(LIBAOM_DIR) && \
|
||||||
$(MAKE) -C $(LIBAOM_BUILD_DIR)
|
$(MAKE) -C $(LIBAOM_BUILD_DIR)
|
||||||
|
|
||||||
$(CODEC_DIR)/CMakeLists.txt: $(CODEC_PACKAGE)
|
|
||||||
mkdir -p $(@D)
|
|
||||||
tar xzm --strip 1 -C $(@D) -f $(CODEC_PACKAGE)
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
$(RM) $(OUT_JS) $(OUT_WASM) $(OUT_WORKER)
|
$(RM) $(OUT_JS) $(OUT_WASM) $(OUT_WORKER)
|
||||||
$(MAKE) -C $(CODEC_BUILD_DIR) clean
|
$(MAKE) -C $(CODEC_BUILD_DIR) clean
|
||||||
|
|||||||
Reference in New Issue
Block a user