From: "softworkz ." <softworkz-at-hotmail.com@ffmpeg.org>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Subject: Re: [FFmpeg-devel] [PATCH v2] ffbuild/commonmak: Fix rebuild check with implicit rule chains
Date: Tue, 20 May 2025 21:51:39 +0000
Message-ID: <DM8P223MB0365D3B28AECCFB584FB908EBA9FA@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM> (raw)
In-Reply-To: <DM8P223MB036540D2B39A59AC26930B55BA9FA@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM>
[-- Attachment #1: Type: text/plain, Size: 10571 bytes --]
> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of softworkz .
> Sent: Dienstag, 20. Mai 2025 23:13
> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
> Subject: Re: [FFmpeg-devel] [PATCH v2] ffbuild/commonmak: Fix rebuild check
> with implicit rule chains
>
>
>
> > -----Original Message-----
> > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Ramiro
> Polla
> > Sent: Dienstag, 20. Mai 2025 22:29
> > To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
> > Subject: Re: [FFmpeg-devel] [PATCH v2] ffbuild/commonmak: Fix rebuild check
> > with implicit rule chains
> >
> > On Tue, May 20, 2025 at 9:46 PM softworkz .
> > <softworkz-at-hotmail.com@ffmpeg.org> wrote:
> > > > -----Original Message-----
> > > > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Ramiro
> > Polla
> > > > Sent: Dienstag, 20. Mai 2025 21:36
> > > > To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
> > > > Subject: Re: [FFmpeg-devel] [PATCH v2] ffbuild/commonmak: Fix rebuild
> > check
> > > > with implicit rule chains
> > > > On Sun, May 18, 2025 at 8:30 AM softworkz <ffmpegagent@gmail.com> wrote:
> > > > > From: softworkz <softworkz@hotmail.com>
> > > > > When there's a chain of implicit rules, make treats files generated
> > > > > inside that chain as intermediate files. Those intermediate files are
> > > > > removed after completion of make. When make is run again, it normally
> > > > > determines the need for a rebuild by comparing the timestamps of the
> > > > > original source file and the final output of the chain and if still
> > > > > up-to-date, it doesn't rebuild, even when the intermediate files are
> > > > > not present. That makes sense of course - why would it delete them
> > > > > otherwise, it would end up in builds being never up-to-date.
> > > > > But this original by-the-book logic appeared to be broken and has been
> > > > > worked around by adding all intermediate files to the .SECONDARY
> > > > > special target, which required extra logic and issues with make clean.
> > > > >
> > > > > What broke the up-to-date checking is the dependency file generation.
> > > > > For the .c files generated by BIN2C the compile target created a .d
> > > > > file which indicated that the .ptx.o file has a dependency on the
> > > > > ptx.c file. And that dependency broke the normal make behavior with
> > > > > intermediate files.
> > > > >
> > > > > This patch compiles the BIN2C generated .c files without generating
> > > > > .d files. In turn the files do not longer need to be added to the
> > > > > .SECONDARY target in common.mak.
> > > > >
> > > > > When interested in those files for debugging, a line can be added to
> > > > > the corresponding Makefile like
> > > > >
> > > > > .SECONDARY: %.ptx.c %.ptx.gz
> > > > >
> > > > > Signed-off-by: softworkz <softworkz@hotmail.com>
> > > > > ---
> > > > > ffbuild/commonmak: Fix rebuild check with implicit rule chains
> > > > >
> > > > > When there's a chain of implicit rules, make treats files
> generated
> > > > > inside that chain as intermediate files. Those intermediate files
> > are
> > > > > removed after completion of make. When make is run again, it
> > normally
> > > > > determines the need for a rebuild by comparing the timestamps of
> the
> > > > > original source file and the final output of the chain and if
> still
> > > > > up-to-date, it doesn't rebuild, even when the intermediate files
> are
> > not
> > > > > present. That makes sense of course - why would it delete them
> > > > > otherwise, it would end up in builds being never up-to-date. But
> > this
> > > > > original by-the-book logic appeared to be broken and has been
> worked
> > > > > around by adding all intermediate files to the .SECONDARY special
> > > > > target, which required extra logic and issues with make clean.
> > > > >
> > > > > What broke the up-to-date checking is the dependency file
> > generation.
> > > > > For the .c files generated by BIN2C the compile target created a
> .d
> > file
> > > > > which indicated that the .ptx.o file has a dependency on the ptx.c
> > file.
> > > > > And that dependency broke the normal make behavior with
> intermediate
> > > > > files.
> > > > >
> > > > > This patch compiles the BIN2C generated .c files without
> generating
> > .d
> > > > > files. In turn the files do not longer need to be added to the
> > > > > .SECONDARY target in common.mak.
> > > > >
> > > > > When interested in those files for debugging, a line can be added
> to
> > the
> > > > > corresponding Makefile like
> > > > >
> > > > > .SECONDARY: %.ptx.c %.ptx.gz
> > > > >
> > > > >
> > > > > V2
> > > > > ==
> > > > >
> > > > > * Fix MSVC build
> > > > > (use the universal command pattern)
> > > > >
> > > > > Published-As: https://github.com/ffstaging/FFmpeg/releases/tag/pr-
> > ffstaging-
> > > > 80%2Fsoftworkz%2Fsubmit_commonmak-v2
> > > > > Fetch-It-Via: git fetch https://github.com/ffstaging/FFmpeg pr-
> > ffstaging-
> > > > 80/softworkz/submit_commonmak-v2
> > > > > Pull-Request: https://github.com/ffstaging/FFmpeg/pull/80
> > > > >
> > > > > Range-diff vs v1:
> > > > >
> > > > > 1: e276f54ffc ! 1: f468ea2431 ffbuild/commonmak: Fix rebuild check
> > with
> > > > implicit rule chains
> > > > > @@ ffbuild/common.mak: else
> > > > > endif
> > > > >
> > > > > +%.ptx.o: %.ptx.c
> > > > > -+ $(CC) $(CCFLAGS) -x c -c -o $@ $<
> > > > > ++ $(CC) $(CCFLAGS) $(CC_C) $(CC_O) $(patsubst
> > > > $(SRC_PATH)/%,$(SRC_LINK)/%,$<)
> > > > > +
> > > > > +
> > > > > # 1) Preprocess CSS to a minified version
> > > > > @@ ffbuild/common.mak: else # NO COMPRESSION
> > > > > endif
> > > > >
> > > > > +%.html.o: %.html.c
> > > > > -+ $(CC) $(CCFLAGS) -x c -c -o $@ $<
> > > > > ++ $(CC) $(CCFLAGS) $(CC_C) $(CC_O) $(patsubst
> > > > $(SRC_PATH)/%,$(SRC_LINK)/%,$<)
> > > > > +
> > > > > +%.css.o: %.css.c
> > > > > -+ $(CC) $(CCFLAGS) -x c -c -o $@ $<
> > > > > ++ $(CC) $(CCFLAGS) $(CC_C) $(CC_O) $(patsubst
> > > > $(SRC_PATH)/%,$(SRC_LINK)/%,$<)
> > > > > +
> > > > > +
> > > > > clean::
> > > > >
> > > > >
> > > > > ffbuild/common.mak | 15 ++++++++++++---
> > > > > 1 file changed, 12 insertions(+), 3 deletions(-)
> > > > >
> > > > > diff --git a/ffbuild/common.mak b/ffbuild/common.mak
> > > > > index 0e1eb1f62b..d9462271d5 100644
> > > > > --- a/ffbuild/common.mak
> > > > > +++ b/ffbuild/common.mak
> > > > > @@ -139,6 +139,10 @@ else
> > > > > $(BIN2C) $(patsubst $(SRC_PATH)/%,$(SRC_LINK)/%,$<) $@ $(subst
> > > > .,_,$(basename $(notdir $@)))
> > > > > endif
> > > > >
> > > > > +%.ptx.o: %.ptx.c
> > > > > + $(CC) $(CCFLAGS) $(CC_C) $(CC_O) $(patsubst
> > > > $(SRC_PATH)/%,$(SRC_LINK)/%,$<)
> > > > > +
> > > > > +
> > > > > # 1) Preprocess CSS to a minified version
> > > > > %.css.min: %.css
> > > > > # Must start with a tab in the real Makefile
> > > > > @@ -177,6 +181,13 @@ else # NO COMPRESSION
> > > > > $(BIN2C) $< $@ $(subst .,_,$(basename $(notdir $@)))
> > > > > endif
> > > > >
> > > > > +%.html.o: %.html.c
> > > > > + $(CC) $(CCFLAGS) $(CC_C) $(CC_O) $(patsubst
> > > > $(SRC_PATH)/%,$(SRC_LINK)/%,$<)
> > > > > +
> > > > > +%.css.o: %.css.c
> > > > > + $(CC) $(CCFLAGS) $(CC_C) $(CC_O) $(patsubst
> > > > $(SRC_PATH)/%,$(SRC_LINK)/%,$<)
> > > > > +
> > > >
> > > > I'm not a big fan of adding new targets with a stripped-down version
> > > > of the original rule. It seems like unnecessary duplication, and
> > > > increases the chance of divergence over time.
> > > >
> > > > Instead, I think it's cleaner to use target-specific variables to
> > > > disable a part of the original rule. For example, in this case, you
> > > > would disable the dependency generation for just those targets, and
> > > > end up with something like this:
> > > > %.html.o: CC_DEPFLAGS =
> > > > %.css.o: CC_DEPFLAGS =
> > >
> > > Hi Ramiro,
> > >
> > > I didn't know that one can do that. That's clearly a better way, then.
> > >
> > > What about the first line in the COMPILE macro:
> > >
> > > define COMPILE
> > > $(call $(1)DEP,$(1))
> > > $($(1)) $($(1)FLAGS) $($(2)) $($(1)_DEPFLAGS) $($(1)_C) $($(1)_O)
> > $(patsubst $(SRC_PATH)/%,$(SRC_LINK)/%,$<)
> > > endef
> > >
> > > I haven't traced back what it actually does - is it harmless when
> > > it's executed in those cases where no dependency file is desired?
> > >
> > > If that's fine, I'd send an updated patch with your suggestion.
> >
> > I had forgotten about that part. It's not triggered with gcc/clang,
> > but it seems to be triggered when using msvc. I don't have an msvc
> > setup ready, but I believe you do, right?
>
> My local MSVC setup is using vcxproj projects, it's not makefile driven,
> but I have the other ways as well. Though, I love to have it off the table
> and running elsewhere. I made the V=1 change and also added a second
> make after make to check:
>
> https://dev.azure.com/githubsync/ffmpeg/_build/results?buildId=89332&view=logs
>
>
> BTW, it's public, just create a PR on https://github.com/ffstaging/FFmpeg
> and you get 6 CI builds which are the same like on Patchwork.
> (nobody needs to use that submission thing, just close the PR right after)
>
>
> Best,
> sw
> _______________________________________________
Ah, it seems to have created the .d files but doesn't take them into account
when rebuilding. So the first line creates the .d files in case of MSVC.
I'm not quite sure how this first line could be eliminated. When clearing
CCDEP, there would still be the "call" remaining?
Here are the last few lines. I've attached a larger snippet because some
of the lines are > 800 chars long.
sw
-----
rm -f ffmpeg.exe
cp -p ffprobe_g.exe ffprobe.exe
cp -p ffmpeg_g.exe ffmpeg.exe
echo skipping strip ffprobe.exe
echo skipping strip ffmpeg.exe
skipping strip ffprobe.exe
skipping strip ffmpeg.exe
rm fftools/resources/graph.css.c fftools/resources/graph.css.min fftools/resources/graph.html.c
make: Nothing to be done for 'all'.
Finishing: Make
[-- Attachment #2: msvc_log.txt --]
[-- Type: text/plain, Size: 11727 bytes --]
[..]
2025-05-20T21:20:38.4599405Z lib.exe -nologo -out:libavfilter/libavfilter.a @libavfilter/libavfilter.a.objs
2025-05-20T21:20:38.5152560Z rm -f libavdevice/libavdevice.a.objs
2025-05-20T21:20:38.6629746Z : libavformat/libavformat.a
2025-05-20T21:20:38.7192982Z rm -f libswresample/libswresample.a
2025-05-20T21:20:38.7642137Z : libavfilter/libavfilter.a
2025-05-20T21:20:38.8011900Z lib.exe -nologo -out:libavcodec/libavcodec.a @libavcodec/libavcodec.a.objs
2025-05-20T21:20:38.8546500Z echo libswresample/audioconvert.o libswresample/dither.o libswresample/options.o libswresample/rematrix.o libswresample/resample.o libswresample/resample_dsp.o libswresample/swresample.o libswresample/swresample_frame.o libswresample/version.o libswresample/x86/audio_convert.o libswresample/x86/audio_convert_init.o libswresample/x86/rematrix.o libswresample/x86/rematrix_init.o libswresample/x86/resample.o libswresample/x86/resample_init.o > libswresample/libswresample.a.objs
2025-05-20T21:20:39.1670545Z rm -f libavformat/libavformat.a.objs
2025-05-20T21:20:39.2286081Z rm -f libswscale/libswscale.a
2025-05-20T21:20:39.2833343Z : libavcodec/libavcodec.a
2025-05-20T21:20:39.3153743Z echo libswscale/alphablend.o libswscale/cms.o libswscale/csputils.o libswscale/format.o libswscale/gamma.o libswscale/graph.o libswscale/hscale.o libswscale/hscale_fast_bilinear.o libswscale/input.o libswscale/lut3d.o libswscale/options.o libswscale/output.o libswscale/rgb2rgb.o libswscale/slice.o libswscale/swscale.o libswscale/swscale_unscaled.o libswscale/utils.o libswscale/version.o libswscale/vscale.o libswscale/x86/hscale_fast_bilinear_simd.o libswscale/x86/input.o libswscale/x86/output.o libswscale/x86/range_convert.o libswscale/x86/rgb2rgb.o libswscale/x86/rgb_2_rgb.o libswscale/x86/scale.o libswscale/x86/scale_avx2.o libswscale/x86/swscale.o libswscale/x86/yuv2rgb.o libswscale/x86/yuv2yuvX.o libswscale/x86/yuv_2_rgb.o libswscale/yuv2rgb.o > libswscale/libswscale.a.objs
2025-05-20T21:20:39.3535087Z rm -f libavfilter/libavfilter.a.objs
2025-05-20T21:20:39.3935315Z lib.exe -nologo -out:libswresample/libswresample.a @libswresample/libswresample.a.objs
2025-05-20T21:20:39.4718489Z cl.exe -nologo -Feffbuild/bin2c.exe ffbuild/bin2c_host.o -lm
2025-05-20T21:20:39.5150028Z : libswresample/libswresample.a
2025-05-20T21:20:39.5463806Z cl : Command line warning D9002 : ignoring unknown option '-lm'
2025-05-20T21:20:39.5485627Z cl : Command line warning D9024 : unrecognized source file type 'ffbuild/bin2c_host.o', object file assumed
2025-05-20T21:20:39.5559639Z rm -f libavcodec/libavcodec.a.objs
2025-05-20T21:20:39.5973481Z lib.exe -nologo -out:libswscale/libswscale.a @libswscale/libswscale.a.objs
2025-05-20T21:20:39.6972267Z rm -f libswresample/libswresample.a.objs
2025-05-20T21:20:39.7309076Z : libswscale/libswscale.a
2025-05-20T21:20:39.8032765Z rm -f libswscale/libswscale.a.objs
2025-05-20T21:20:39.8730179Z ffbuild/bin2c.exe fftools/resources/graph.html fftools/resources/graph.html.c graph_html
2025-05-20T21:20:39.8967022Z ffbuild/bin2c.exe fftools/resources/graph.css.min fftools/resources/graph.css.c graph_css
2025-05-20T21:20:39.9504879Z cl.exe -nologo -I. -I./ -D_ISOC11_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DWIN32_LEAN_AND_MEAN -D_USE_MATH_DEFINES -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS -D_WIN32_WINNT=0x0600 -I./compat/atomics/win32 -I./compat/stdbit -I. -I./ -D_ISOC11_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DWIN32_LEAN_AND_MEAN -D_USE_MATH_DEFINES -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS -D_WIN32_WINNT=0x0600 -I./compat/atomics/win32 -I./compat/stdbit -nologo /std:c17 -W3 -wd4018 -wd4146 -wd4244 -wd4305 -wd4554 -O1 -utf-8 -showIncludes -Zs fftools/resources/graph.html.c 2>&1 | awk '/including/ { sub(/^.*file: */, ""); gsub(/\\/, "/"); if (!match($0, / /)) print "fftools/resources/graph.html.o:", $0 }' > fftools/resources/graph.html.d
2025-05-20T21:20:39.9942449Z cl.exe -nologo -I. -I./ -D_ISOC11_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DWIN32_LEAN_AND_MEAN -D_USE_MATH_DEFINES -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS -D_WIN32_WINNT=0x0600 -I./compat/atomics/win32 -I./compat/stdbit -I. -I./ -D_ISOC11_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DWIN32_LEAN_AND_MEAN -D_USE_MATH_DEFINES -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS -D_WIN32_WINNT=0x0600 -I./compat/atomics/win32 -I./compat/stdbit -nologo /std:c17 -W3 -wd4018 -wd4146 -wd4244 -wd4305 -wd4554 -O1 -utf-8 -showIncludes -Zs fftools/resources/graph.css.c 2>&1 | awk '/including/ { sub(/^.*file: */, ""); gsub(/\\/, "/"); if (!match($0, / /)) print "fftools/resources/graph.css.o:", $0 }' > fftools/resources/graph.css.d
2025-05-20T21:20:40.2041968Z cl.exe -I. -I./ -D_ISOC11_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DWIN32_LEAN_AND_MEAN -D_USE_MATH_DEFINES -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS -D_WIN32_WINNT=0x0600 -I./compat/atomics/win32 -I./compat/stdbit -nologo /std:c17 -W3 -wd4018 -wd4146 -wd4244 -wd4305 -wd4554 -O1 -utf-8 -c -Fofftools/resources/graph.html.o fftools/resources/graph.html.c
2025-05-20T21:20:40.2296686Z cl.exe -I. -I./ -D_ISOC11_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DWIN32_LEAN_AND_MEAN -D_USE_MATH_DEFINES -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS -D_WIN32_WINNT=0x0600 -I./compat/atomics/win32 -I./compat/stdbit -nologo /std:c17 -W3 -wd4018 -wd4146 -wd4244 -wd4305 -wd4554 -O1 -utf-8 -c -Fofftools/resources/graph.css.o fftools/resources/graph.css.c
2025-05-20T21:20:40.3005701Z graph.html.c
2025-05-20T21:20:40.3404140Z graph.css.c
2025-05-20T21:20:49.4456247Z echo skipping strip -x libavutil/x86/tx_float.o
2025-05-20T21:20:49.4739197Z skipping strip -x libavutil/x86/tx_float.o
2025-05-20T21:20:49.4773030Z rm -f libavutil/libavutil.a
2025-05-20T21:20:49.5085761Z echo libavutil/adler32.o libavutil/aes.o libavutil/aes_ctr.o libavutil/ambient_viewing_environment.o libavutil/audio_fifo.o libavutil/avsscanf.o libavutil/avstring.o libavutil/base64.o libavutil/blowfish.o libavutil/bprint.o libavutil/buffer.o libavutil/camellia.o libavutil/cast5.o libavutil/channel_layout.o libavutil/container_fifo.o libavutil/cpu.o libavutil/crc.o libavutil/csp.o libavutil/des.o libavutil/detection_bbox.o libavutil/dict.o libavutil/display.o libavutil/dovi_meta.o libavutil/downmix_info.o libavutil/encryption_info.o libavutil/error.o libavutil/eval.o libavutil/executor.o libavutil/fifo.o libavutil/file.o libavutil/file_open.o libavutil/film_grain_params.o libavutil/fixed_dsp.o libavutil/float_dsp.o libavutil/float_scalarproduct.o libavutil/frame.o libavutil/hash.o libavutil/hdr_dynamic_metadata.o libavutil/hdr_dynamic_vivid_metadata.o libavutil/hmac.o libavutil/hwcontext.o libavutil/hwcontext_d3d11va.o libavutil/hwcontext_d3d12va.o libavutil/hwcontext_dxva2.o libavutil/hwcontext_stub.o libavutil/iamf.o libavutil/imgutils.o libavutil/integer.o libavutil/intmath.o libavutil/lfg.o libavutil/lls.o libavutil/log.o libavutil/log2_tab.o libavutil/lzo.o libavutil/mastering_display_metadata.o libavutil/mathematics.o libavutil/md5.o libavutil/mem.o libavutil/murmur3.o libavutil/opt.o libavutil/parseutils.o libavutil/pixdesc.o libavutil/pixelutils.o libavutil/random_seed.o libavutil/rational.o libavutil/rc4.o libavutil/refstruct.o libavutil/reverse.o libavutil/ripemd.o libavutil/samplefmt.o libavutil/sha.o libavutil/sha512.o libavutil/side_data.o libavutil/slicethread.o libavutil/spherical.o libavutil/stereo3d.o libavutil/tea.o libavutil/threadmessage.o libavutil/time.o libavutil/timecode.o libavutil/timecode_internal.o libavutil/timestamp.o libavutil/tree.o libavutil/twofish.o libavutil/tx.o libavutil/tx_double.o libavutil/tx_float.o libavutil/tx_int32.o libavutil/utils.o libavutil/uuid.o libavutil/version.o libavutil/video_enc_params.o libavutil/video_hint.o libavutil/x86/aes.o libavutil/x86/aes_init.o libavutil/x86/cpu.o libavutil/x86/cpuid.o libavutil/x86/emms.o libavutil/x86/fixed_dsp.o libavutil/x86/fixed_dsp_init.o libavutil/x86/float_dsp.o libavutil/x86/float_dsp_init.o libavutil/x86/imgutils.o libavutil/x86/imgutils_init.o libavutil/x86/lls.o libavutil/x86/lls_init.o libavutil/x86/pixelutils.o libavutil/x86/pixelutils_init.o libavutil/x86/tx_float.o libavutil/x86/tx_float_init.o libavutil/xga_font_data.o libavutil/xtea.o libavutil/float2half.o libavutil/half2float.o > libavutil/libavutil.a.objs
2025-05-20T21:20:49.5487414Z lib.exe -nologo -out:libavutil/libavutil.a @libavutil/libavutil.a.objs
2025-05-20T21:20:49.6331012Z : libavutil/libavutil.a
2025-05-20T21:20:49.6714811Z rm -f libavutil/libavutil.a.objs
2025-05-20T21:20:49.7005843Z ./compat/windows/mslink -libpath:libavcodec -libpath:libavdevice -libpath:libavfilter -libpath:libavformat -libpath:libavutil -libpath:libswscale -libpath:libswresample -nologo -out:ffmpeg_g.exe fftools/ffmpeg_dec.o fftools/ffmpeg_demux.o fftools/ffmpeg_enc.o fftools/ffmpeg_filter.o fftools/ffmpeg_hw.o fftools/ffmpeg_mux.o fftools/ffmpeg_mux_init.o fftools/ffmpeg_opt.o fftools/ffmpeg_sched.o fftools/graph/graphprint.o fftools/sync_queue.o fftools/thread_queue.o fftools/textformat/avtextformat.o fftools/textformat/tf_compact.o fftools/textformat/tf_default.o fftools/textformat/tf_flat.o fftools/textformat/tf_ini.o fftools/textformat/tf_json.o fftools/textformat/tf_mermaid.o fftools/textformat/tf_xml.o fftools/textformat/tw_avio.o fftools/textformat/tw_buffer.o fftools/textformat/tw_stdout.o fftools/resources/resman.o fftools/resources/graph.html.o fftools/resources/graph.css.o fftools/cmdutils.o fftools/opt_common.o fftools/ffmpeg.o fftools/fftoolsres.o libavdevice.a libavfilter.a libavformat.a libavcodec.a libswresample.a libswscale.a libavutil.a psapi.lib ole32.lib strmiids.lib uuid.lib oleaut32.lib shlwapi.lib gdi32.lib vfw32.lib secur32.lib ws2_32.lib mfuuid.lib ole32.lib strmiids.lib ole32.lib user32.lib user32.lib bcrypt.lib ole32.lib psapi.lib shell32.lib
2025-05-20T21:20:49.7282614Z ./compat/windows/mslink -libpath:libavcodec -libpath:libavdevice -libpath:libavfilter -libpath:libavformat -libpath:libavutil -libpath:libswscale -libpath:libswresample -nologo -out:ffprobe_g.exe fftools/textformat/avtextformat.o fftools/textformat/tf_compact.o fftools/textformat/tf_default.o fftools/textformat/tf_flat.o fftools/textformat/tf_ini.o fftools/textformat/tf_json.o fftools/textformat/tf_mermaid.o fftools/textformat/tf_xml.o fftools/textformat/tw_avio.o fftools/textformat/tw_buffer.o fftools/textformat/tw_stdout.o fftools/resources/resman.o fftools/resources/graph.html.o fftools/resources/graph.css.o fftools/cmdutils.o fftools/opt_common.o fftools/ffprobe.o fftools/fftoolsres.o libavdevice.a libavfilter.a libavformat.a libavcodec.a libswresample.a libswscale.a libavutil.a psapi.lib ole32.lib strmiids.lib uuid.lib oleaut32.lib shlwapi.lib gdi32.lib vfw32.lib secur32.lib ws2_32.lib mfuuid.lib ole32.lib strmiids.lib ole32.lib user32.lib user32.lib bcrypt.lib shell32.lib
2025-05-20T21:20:53.8449963Z rm -f ffprobe.exe
2025-05-20T21:20:53.8720344Z rm -f ffmpeg.exe
2025-05-20T21:20:53.9027412Z cp -p ffprobe_g.exe ffprobe.exe
2025-05-20T21:20:53.9332589Z cp -p ffmpeg_g.exe ffmpeg.exe
2025-05-20T21:20:53.9508609Z echo skipping strip ffprobe.exe
2025-05-20T21:20:53.9796163Z echo skipping strip ffmpeg.exe
2025-05-20T21:20:53.9816341Z skipping strip ffprobe.exe
2025-05-20T21:20:54.0064650Z skipping strip ffmpeg.exe
2025-05-20T21:20:54.0091057Z rm fftools/resources/graph.css.c fftools/resources/graph.css.min fftools/resources/graph.html.c
2025-05-20T21:20:56.9962656Z make: Nothing to be done for 'all'.
2025-05-20T21:20:57.0392162Z ##[section]Finishing: Make
[-- Attachment #3: Type: text/plain, Size: 251 bytes --]
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
next prev parent reply other threads:[~2025-05-20 21:51 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-18 2:14 [FFmpeg-devel] [PATCH] " softworkz
2025-05-18 6:30 ` [FFmpeg-devel] [PATCH v2] " softworkz
2025-05-20 19:09 ` softworkz .
2025-05-20 19:36 ` Ramiro Polla
2025-05-20 19:46 ` softworkz .
2025-05-20 20:28 ` Ramiro Polla
2025-05-20 21:13 ` softworkz .
2025-05-20 21:51 ` softworkz . [this message]
2025-05-20 23:32 ` [FFmpeg-devel] [PATCH v3] " softworkz
2025-05-23 22:05 ` [FFmpeg-devel] [PATCH v4] " softworkz
2025-05-27 21:41 ` [FFmpeg-devel] [PATCH v5 0/2] " ffmpegagent
2025-05-27 21:41 ` [FFmpeg-devel] [PATCH v5 1/2] " softworkz
2025-05-27 21:41 ` [FFmpeg-devel] [PATCH v5 2/2] ffbuild/commonmak: Consolidate pattern rules for compression softworkz
2025-06-17 16:01 ` [FFmpeg-devel] [PATCH v6 0/2] ffbuild/commonmak: Fix rebuild check with implicit rule chains ffmpegagent
2025-06-17 16:01 ` [FFmpeg-devel] [PATCH v6 1/2] " softworkz
2025-06-17 16:01 ` [FFmpeg-devel] [PATCH v6 2/2] ffbuild/commonmak: Consolidate pattern rules for compression softworkz
2025-06-17 16:41 ` [FFmpeg-devel] [PATCH v6 0/2] ffbuild/commonmak: Fix rebuild check with implicit rule chains softworkz .
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DM8P223MB0365D3B28AECCFB584FB908EBA9FA@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM \
--to=softworkz-at-hotmail.com@ffmpeg.org \
--cc=ffmpeg-devel@ffmpeg.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git