Opened 7 years ago
Last modified 9 months ago
#6939 reopened defect
make install clean regression
Reported by: | Carl Eugen Hoyos | Owned by: | |
---|---|---|---|
Priority: | important | Component: | build system |
Version: | git-master | Keywords: | regression |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description (last modified by )
http://ffmpeg.org/pipermail/ffmpeg-user/2017-December/038318.html
Running make install clean
is broken since cbe181c8e1611aaee2a85ab522e17b1322bdd4de
$ ./configure --prefix=~/installationtest && make install clean ... ./ffbuild/pkgconfig_generate.sh: line 21: libavfilter/libavfilter.version: No such file or directory make: *** [libavdevice/libavdevice.pc] Error 1
Change History (5)
comment:1 by , 5 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
comment:2 by , 5 years ago
Description: | modified (diff) |
---|---|
Resolution: | invalid |
Status: | closed → reopened |
comment:4 by , 5 years ago
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):
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 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?
The command does not work.