[FFmpeg-trac] #6939(build system:reopened): make install clean regression
FFmpeg
trac at avcodec.org
Fri Jan 24 23:23:36 EET 2020
#6939: make install clean regression
-------------------------------------+-------------------------------------
Reporter: cehoyos | Owner:
Type: defect | Status: reopened
Priority: important | Component: build
| system
Version: git-master | Resolution:
Keywords: regression | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Comment (by beastd):
Wow, I finally understand what magic is happening here. At least I hope
so.
I wonder if those commits (the one quoted in the description and the
similar one that came after):
* cbe181c8e1611aaee2a85ab522e17b1322bdd4de
* f960fd2fb1218d49866d0bf47cbf839233fb9904
were really correct. I mean they completely disable the creation of
`*.version` files if one of the make command's goals were config or
anything that ends in clean.
The `-include` is triggering the generation of the `*.version` files. To
be exact the `DOSUBDIR`-loop in the main Makefile includes all library.mak
for all sub directories which in turn includes the corresponding
`lib<name>.version` which if it couldn't be included at first will be
created and included.
See [https://www.gnu.org/software/make/manual/html_node/Include.html GNU
Make documenation for include].
If the only advantage is to hide a few GEN lines, to not generate the
.version files and saving around half a second for the degenerate case of
invoking `make clean` on clean directories, I'm not sure we really need
that. Not entirely sure about the config case. Is that goal for configure
development? Or when do we need it? Or is it more of a convenience goal
for re-configuring without having to re-create the command line one used
in the build before?
--
Ticket URL: <https://trac.ffmpeg.org/ticket/6939#comment:4>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list