• Paolo 'Blaisorblade' Giarrusso's avatar
    [PATCH] uml: cleanup unprofile expression and build infrastructure · 7b12b913
    Paolo 'Blaisorblade' Giarrusso authored
    *) Rather than duplicate in various buggy ways the application of
       CFLAGS_NO_HARDENING and UNPROFILE (which apply to the same files),
       centralize it in Makefile.rules.  UNPROFILE_OBJS mustn't be listed in
       USER_OBJS but are compiled as such.
    
    I've also verified that unprofile didn't work in the current form, because we
    set _c_flags directly (using CFLAGS and not USER_CFLAGS, which is wrong),
    which is normally used by c_flags, but we also override c_flags for all
    USER_OBJS, and there we don't call unprofile.
    
    Instead it only worked for unmap.o, the only one which wasn't a USER_OBJ.
    
    We need to set c_flags (which is not a public Kbuild API) to clear a lot of
    compilation flags like -nostdinc which Kbuild forces on everything.
    
    *) Rather than $(CFLAGS_$(notdir $@)), which expands to CFLAGS_anObj.s when
       building "anObj.s", use $(CFLAGS_$(*F).o) which always accesses
       CFLAGS_anObj.o, like done by Kbuild.
    
    *) Make c_flags apply to all targets having the same basename, rather than
       listing .s, .i, .lst and .o, with the use (which I tested) of
    
    	$(USER_OBJS:.o=.%): c_flags = ...
    
    and of
    
     -      $(obj)/unmap.c: _c_flags = ...
     +      $(obj)/unmap.%: _c_flags = ...
    Signed-off-by: default avatarPaolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
    Acked-by: default avatarJeff Dike <jdike@addtoit.com>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    7b12b913
Makefile 659 Bytes