[FFmpeg-devel] [PATCH v5 2/2] ffbuild/commonmak: Consolidate pattern rules for compression
softworkz
ffmpegagent at gmail.com
Wed May 28 00:41:27 EEST 2025
From: softworkz <softworkz at hotmail.com>
This commit simplifies and consolidates all the rules around
ptx and resource file compression.
Signed-off-by: softworkz <softworkz at hotmail.com>
---
ffbuild/common.mak | 41 +++++++++++++++++------------------------
1 file changed, 17 insertions(+), 24 deletions(-)
diff --git a/ffbuild/common.mak b/ffbuild/common.mak
index f03b9ca051..f446a12b92 100644
--- a/ffbuild/common.mak
+++ b/ffbuild/common.mak
@@ -115,6 +115,12 @@ COMPILE_LASX = $(call COMPILE,CC,LASXFLAGS)
$(BIN2CEXE): ffbuild/bin2c_host.o
$(HOSTLD) $(HOSTLDFLAGS) $(HOSTLD_O) $^ $(HOSTEXTRALIBS)
+RUN_BIN2C = $(BIN2C) $(patsubst $(SRC_PATH)/%,$(SRC_LINK)/%,$<) $@ $(subst .,_,$(basename $(notdir $@)))
+RUN_GZIP = $(M)gzip -nc9 $(patsubst $(SRC_PATH)/%,$(SRC_LINK)/%,$<) >$@
+RUN_MINIFY = $(M)sed 's!/\\*.*\\*/!!g' $< | tr '\n' ' ' | tr -s ' ' | sed 's/^ //; s/ $$//' > $@
+%.gz: TAG = GZIP
+%.min: TAG = MINIFY
+
%.metal.air: %.metal
$(METALCC) $< -o $@
@@ -122,63 +128,50 @@ $(BIN2CEXE): ffbuild/bin2c_host.o
$(METALLIB) --split-module-without-linking $< -o $@
%.metallib.c: %.metallib $(BIN2CEXE)
- $(BIN2C) $< $@ $(subst .,_,$(basename $(notdir $@)))
+ $(RUN_BIN2C)
%.ptx: %.cu $(SRC_PATH)/compat/cuda/cuda_runtime.h
$(COMPILE_NVCC)
ifdef CONFIG_PTX_COMPRESSION
-%.ptx.gz: TAG = GZIP
%.ptx.gz: %.ptx
- $(M)gzip -nc9 $(patsubst $(SRC_PATH)/%,$(SRC_LINK)/%,$<) >$@
+ $(RUN_GZIP)
%.ptx.c: %.ptx.gz $(BIN2CEXE)
- $(BIN2C) $(patsubst $(SRC_PATH)/%,$(SRC_LINK)/%,$<) $@ $(subst .,_,$(basename $(notdir $@)))
+ $(RUN_BIN2C)
else
%.ptx.c: %.ptx $(BIN2CEXE)
- $(BIN2C) $(patsubst $(SRC_PATH)/%,$(SRC_LINK)/%,$<) $@ $(subst .,_,$(basename $(notdir $@)))
+ $(RUN_BIN2C)
endif
%.ptx.o: CCDEP =
%.ptx.o: CC_DEPFLAGS =
-# 1) Preprocess CSS to a minified version
%.css.min: %.css
- # Must start with a tab in the real Makefile
- sed 's!/\\*.*\\*/!!g' $< \
- | tr '\n' ' ' \
- | tr -s ' ' \
- | sed 's/^ //; s/ $$//' \
- > $@
+ $(RUN_MINIFY)
ifdef CONFIG_RESOURCE_COMPRESSION
-# 2) Gzip the minified CSS
%.css.min.gz: %.css.min
- $(M)gzip -nc9 $< > $@
+ $(RUN_GZIP)
-# 3) Convert the gzipped CSS to a .c array
%.css.c: %.css.min.gz $(BIN2CEXE)
- $(BIN2C) $< $@ $(subst .,_,$(basename $(notdir $@)))
+ $(RUN_BIN2C)
-# 4) Gzip the HTML file (no minification needed)
%.html.gz: %.html
- $(M)gzip -nc9 $< > $@
+ $(RUN_GZIP)
-# 5) Convert the gzipped HTML to a .c array
%.html.c: %.html.gz $(BIN2CEXE)
- $(BIN2C) $< $@ $(subst .,_,$(basename $(notdir $@)))
+ $(RUN_BIN2C)
else # NO COMPRESSION
-# 2) Convert the minified CSS to a .c array
%.css.c: %.css.min $(BIN2CEXE)
- $(BIN2C) $< $@ $(subst .,_,$(basename $(notdir $@)))
+ $(RUN_BIN2C)
-# 3) Convert the plain HTML to a .c array
%.html.c: %.html $(BIN2CEXE)
- $(BIN2C) $< $@ $(subst .,_,$(basename $(notdir $@)))
+ $(RUN_BIN2C)
endif
%.html.o %.css.o: CCDEP =
--
ffmpeg-codebot
More information about the ffmpeg-devel
mailing list