[FFmpeg-devel] [PATCH v6 0/2] ffbuild/commonmak: Fix rebuild check with implicit rule chains

ffmpegagent ffmpegagent at gmail.com
Tue Jun 17 19:01:49 EEST 2025


V2
==

 * Fix MSVC build
   (use the universal command pattern)


V3
==

 * Skip dependency generation by clearing CC_DEPS instead
   (as suggested by Ramiro - thanks!)


V4
==

 * Always keep .ptx files (as suggested by Timo - thanks) Tested all
   scenarios:
   * .ptx.c and .ptx.gz still get deleted (as intermediates)
   * repeated make shows "up-to-date"
   * removing a .ptx file does not cause a rebuild (it's still an
     intermediate, but an "intermediate to keep")
   * but changing a .ptx does (in case of dev/debugging)
   * changed .cu files always rebuild of course


V5
==

 * First patch remains unchanged
 * Added second patch to clean up and consolidate the rules around
   compression


V6
==

 * Rebased
 * Confirmed that it also resolves MSVC-CLang compilation
   (as reported by Kasper Michalow - thanks!)

.

softworkz (2):
  ffbuild/commonmak: Fix rebuild check with implicit rule chains
  ffbuild/commonmak: Consolidate pattern rules for compression

 ffbuild/common.mak | 54 ++++++++++++++++++++++------------------------
 1 file changed, 26 insertions(+), 28 deletions(-)


base-commit: 93987c03ec6c14adc71e483a94dd229f7f75b7ba
Published-As: https://github.com/ffstaging/FFmpeg/releases/tag/pr-ffstaging-80%2Fsoftworkz%2Fsubmit_commonmak-v6
Fetch-It-Via: git fetch https://github.com/ffstaging/FFmpeg pr-ffstaging-80/softworkz/submit_commonmak-v6
Pull-Request: https://github.com/ffstaging/FFmpeg/pull/80

Range-diff vs v5:

 1:  20c2fb65ed ! 1:  a8da0e9d17 ffbuild/commonmak: Fix rebuild check with implicit rule chains
     @@ ffbuild/common.mak: else
      +
      +
       # 1) Preprocess CSS to a minified version
     + %.css.min: TAG = SED
       %.css.min: %.css
     - 	# Must start with a tab in the real Makefile
      @@ ffbuild/common.mak: else   # NO COMPRESSION
       	$(BIN2C) $< $@ $(subst .,_,$(basename $(notdir $@)))
       endif
 2:  9ff1856142 ! 2:  1781c5fc16 ffbuild/commonmak: Consolidate pattern rules for compression
     @@ ffbuild/common.mak: $(BIN2CEXE): ffbuild/bin2c_host.o
       
       
      -# 1) Preprocess CSS to a minified version
     +-%.css.min: TAG = SED
       %.css.min: %.css
     --	# Must start with a tab in the real Makefile
     --	sed 's!/\\*.*\\*/!!g' $< \
     +-	$(M)sed 's!/\\*.*\\*/!!g' $< \
      -	| tr '\n' ' ' \
      -	| tr -s ' ' \
      -	| sed 's/^ //; s/ $$//' \
     @@ ffbuild/common.mak: $(BIN2CEXE): ffbuild/bin2c_host.o
       ifdef CONFIG_RESOURCE_COMPRESSION
       
      -# 2) Gzip the minified CSS
     +-%.css.min.gz: TAG = GZIP
       %.css.min.gz: %.css.min
      -	$(M)gzip -nc9 $< > $@
      +	$(RUN_GZIP)
     @@ ffbuild/common.mak: $(BIN2CEXE): ffbuild/bin2c_host.o
      +	$(RUN_BIN2C)
       
      -# 4) Gzip the HTML file (no minification needed)
     +-%.html.gz: TAG = GZIP
       %.html.gz: %.html
      -	$(M)gzip -nc9 $< > $@
      +	$(RUN_GZIP)

-- 
ffmpeg-codebot


More information about the ffmpeg-devel mailing list