> -----Original Message----- > From: ffmpeg-devel <ffmpeg-devel-boun...@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-boun...@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....@ffmpeg.org> wrote: > > > > -----Original Message----- > > > > From: ffmpeg-devel <ffmpeg-devel-boun...@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 <ffmpegag...@gmail.com> wrote: > > > > > From: softworkz <softwo...@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 <softwo...@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
[..] 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
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".