On Wed, Feb 16, 2022 at 05:38:04AM +0100, Andreas Rheinhardt wrote:
> Michael Niedermayer:
> > This is more consistent with similar usage
> >
> > Signed-off-by: Michael Niedermayer
> > ---
> > .../{blend_modes.c => blend_modes_template.c} | 0
> > libavfilter/vf_blend.c | 14 +++---
> > 2 files changed, 7 insertions(+), 7 deletions(-)
> > rename libavfilter/{blend_modes.c => blend_modes_template.c} (100%)
> >
> > diff --git a/libavfilter/blend_modes.c b/libavfilter/blend_modes_template.c
> > similarity index 100%
> > rename from libavfilter/blend_modes.c
> > rename to libavfilter/blend_modes_template.c
> > diff --git a/libavfilter/vf_blend.c b/libavfilter/vf_blend.c
> > index 2d433e439f..e912ba4cb8 100644
> > --- a/libavfilter/vf_blend.c
> > +++ b/libavfilter/vf_blend.c
> > @@ -34,31 +34,31 @@
> > #define BOTTOM 1
> >
> > #define DEPTH 8
> > -#include "blend_modes.c"
> > +#include "blend_modes_template.c"
> >
> > #undef DEPTH
> > #define DEPTH 9
> > -#include "blend_modes.c"
> > +#include "blend_modes_template.c"
> >
> > #undef DEPTH
> > #define DEPTH 10
> > -#include "blend_modes.c"
> > +#include "blend_modes_template.c"
> >
> > #undef DEPTH
> > #define DEPTH 12
> > -#include "blend_modes.c"
> > +#include "blend_modes_template.c"
> >
> > #undef DEPTH
> > #define DEPTH 14
> > -#include "blend_modes.c"
> > +#include "blend_modes_template.c"
> >
> > #undef DEPTH
> > #define DEPTH 16
> > -#include "blend_modes.c"
> > +#include "blend_modes_template.c"
> >
> > #undef DEPTH
> > #define DEPTH 32
> > -#include "blend_modes.c"
> > +#include "blend_modes_template.c"
> >
> > typedef struct BlendContext {
> > const AVClass *class;
>
> Right now make's vf_blend.d contains an entry
> src/libavfilter/blend_modes.c; if one applies this patch, said file does
> no longer exist and make errors out with "No rule to make target
> 'src/libavfilter/blend_modes.c', needed by 'libavfilter/vf_blend.o'.",
> because the blend_modes.c prerequisite can't be made. In
> 3044d0efee9136c19dfdcf6dcdf957e910a73fd5 I made the build process treat
> templates just like headers so that they can be deleted without this
> error. Would there be any negative side-effects of doing the same for
> all files?
> (Btw: The AC-3 decoder also uses a misnamed template; I didn't fix it
> because of the aforementioned issue.)
Iam no makefile guru
but if you give a rule to fake-make any .c file then .o files build from
.asm could pick the .c route
i dont know when that happens but it does happen sometimes:
Considering target file 'libavcodec/x86/fpel.o'.
Looking for an implicit rule for 'libavcodec/x86/fpel.o'.
Trying pattern rule with stem 'fpel'.
Trying implicit prerequisite 'libavcodec/x86/fpel.c'.
Found prerequisite 'libavcodec/x86/fpel.c' as VPATH
'src/libavcodec/x86/fpel.c'
Found an implicit rule for 'libavcodec/x86/fpel.o'.
Considering target file 'src/libavcodec/x86/fpel.c'.
File 'src/libavcodec/x86/fpel.c' does not exist.
Looking for an implicit rule for 'src/libavcodec/x86/fpel.c'.
Trying pattern rule with stem 'fpel'.
Found an implicit rule for 'src/libavcodec/x86/fpel.c'.
Finished prerequisites of target file 'src/libavcodec/x86/fpel.c'.
Must remake target 'src/libavcodec/x86/fpel.c'.
Successfully remade target file 'src/libavcodec/x86/fpel.c'.
Pruning file 'libavcodec/'.
Pruning file 'libavcodec/x86/'.
Considering target file 'src/libavcodec/x86/fpel.asm'.
Looking for an implicit rule for 'src/libavcodec/x86/fpel.asm'.
Trying pattern rule with stem 'fpel.asm'.
Trying implicit prerequisite 'src/libavcodec/x86/fpel.asm,v'.
Trying pattern rule with stem 'fpel.asm'.
Trying implicit prerequisite 'src/libavcodec/x86/RCS/fpel.asm,v'.
Trying pattern rule with stem 'fpel.asm'.
Trying implicit prerequisite 'src/libavcodec/x86/RCS/fpel.asm'.
Trying pattern rule with stem 'fpel.asm'.
Trying implicit prerequisite 'src/libavcodec/x86/s.fpel.asm'.
Trying pattern rule with stem 'fpel.asm'.
Trying implicit prerequisite 'src/libavcodec/x86/SCCS/s.fpel.asm'.
No implicit rule found for 'src/libavcodec/x86/fpel.asm'.
Finished prerequisites of target file 'src/libavcodec/x86/fpel.asm'.
No need to remake target 'src/libavcodec/x86/fpel.asm'.
Pruning file 'config.asm'.
Pruning file 'src//libavutil/x86/x86util.asm'.
Pruning file 'src//libavutil/x86/x86inc.asm'.
Finished prerequisites of target file 'libavcodec/x86/fpel.o'.
Prerequisite 'src/libavcodec/x86/fpel.c' of target
'libavcodec/x86/fpel.o' does not exist.
Prerequisite 'libavcodec/' is order-only for target
'libavcodec/x86/fpel.o'.
Prerequisite 'libavcodec/x86/' is order-only for target
'libavcodec/x86/fpel.o'.