On 2018-02-07 08:51 PM, Matthias Kaehlcke wrote: > Use subdir-ccflags instead of specifying the same flags for every source > file. > > Signed-off-by: Matthias Kaehlcke <mka at chromium.org> > Reviewed-by: Guenter Roeck <groeck at chromium.org> > --- > Changes in v2: > - added 'Reviewed-by: Guenter Roeck <groeck at chromium.org>' tag > > drivers/gpu/drm/amd/display/dc/dml/Makefile | 10 +--------- > 1 file changed, 1 insertion(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/amd/display/dc/dml/Makefile b/drivers/gpu/drm/amd/display/dc/dml/Makefile > index 3488af2b5786..b8cadf833e71 100644 > --- a/drivers/gpu/drm/amd/display/dc/dml/Makefile > +++ b/drivers/gpu/drm/amd/display/dc/dml/Makefile > @@ -24,15 +24,7 @@ > # It provides the general basic services required by other DAL > # subcomponents. > > -CFLAGS_display_mode_vba.o := -mhard-float -msse -mpreferred-stack-boundary=4 > -CFLAGS_display_mode_lib.o := -mhard-float -msse -mpreferred-stack-boundary=4 > -CFLAGS_display_pipe_clocks.o := -mhard-float -msse -mpreferred-stack-boundary=4 > -CFLAGS_display_rq_dlg_calc.o := -mhard-float -msse -mpreferred-stack-boundary=4 > -CFLAGS_dml1_display_rq_dlg_calc.o := -mhard-float -msse -mpreferred-stack-boundary=4 > -CFLAGS_display_rq_dlg_helpers.o := -mhard-float -msse -mpreferred-stack-boundary=4 > -CFLAGS_soc_bounding_box.o := -mhard-float -msse -mpreferred-stack-boundary=4 > -CFLAGS_dml_common_defs.o := -mhard-float -msse -mpreferred-stack-boundary=4 > - > +subdir-ccflags-y += -mhard-float -msse -mpreferred-stack-boundary=4 Are you sure this will only apply to dc/dml? The way the amdgpu build is setup I've seen this flag apply to all of amdgpu, even if specified in a subdirectories build file. The reason being that amdgpu/Makefile recursively includes all other Makefiles in the module. According to kbuild/makefiles.txt this will have effect for the kbuild file where it's present and all subdirectories: https://www.kernel.org/doc/Documentation/kbuild/makefiles.txt: > subdir-ccflags-y, subdir-asflags-y > The two flags listed above are similar to ccflags-y and asflags-y. > The difference is that the subdir- variants have effect for the kbuild > file where they are present and all subdirectories. > Options specified using subdir-* are added to the commandline before > the options specified using the non-subdir variants. > > Example: > subdir-ccflags-y := -Werror For your 2nd patch you probably want to make a dml_cflags variable that's set different for clang and gcc, and then still set it for all files in DML individually. You'll probably also have to do the same for dc/calcs/Makefile. Thanks for finding a good solution for supporting clang. It's been on my list but I haven't had time to find the right flag yet. Harry > > DML = display_mode_lib.o display_rq_dlg_calc.o \ > display_rq_dlg_helpers.o dml1_display_rq_dlg_calc.o \ >