diff --git a/libraries.mk b/libraries.mk index c41694794b..35ce4983a1 100644 --- a/libraries.mk +++ b/libraries.mk @@ -17,6 +17,8 @@ endif # # - $(1)_SOURCES: the source files of the library. # +# - $(1)_CFLAGS: additional C compiler flags. +# # - $(1)_CXXFLAGS: additional C++ compiler flags. # # - $(1)_LIBS: the symbolic names of other libraries on which this @@ -102,7 +104,8 @@ define build-library $(1)_LDFLAGS_USE += $$($(1)_LDFLAGS_PROPAGATED) $(1)_LDFLAGS_USE_INSTALLED += $$($(1)_LDFLAGS_PROPAGATED) - # Propagate CXXFLAGS to the individual object files. + # Propagate CFLAGS and CXXFLAGS to the individual object files. + $$(foreach obj, $$($(1)_OBJS), $$(eval $$(obj)_CFLAGS=$$($(1)_CFLAGS))) $$(foreach obj, $$($(1)_OBJS), $$(eval $$(obj)_CXXFLAGS=$$($(1)_CXXFLAGS))) # Make each object file depend on the common dependencies. diff --git a/programs.mk b/programs.mk index ab04ff93e9..5e27a7d62f 100644 --- a/programs.mk +++ b/programs.mk @@ -8,6 +8,10 @@ programs-list := # # - $(1)_SOURCES: the source files of the program. # +# - $(1)_CFLAGS: additional C compiler flags. +# +# - $(1)_CXXFLAGS: additional C++ compiler flags. +# # - $(1)_LIBS: the symbolic names of libraries on which this program # depends. # @@ -48,7 +52,8 @@ define build-program endif - # Propagate CXXFLAGS to the individual object files. + # Propagate CFLAGS and CXXFLAGS to the individual object files. + $$(foreach obj, $$($(1)_OBJS), $$(eval $$(obj)_CFLAGS=$$($(1)_CFLAGS))) $$(foreach obj, $$($(1)_OBJS), $$(eval $$(obj)_CXXFLAGS=$$($(1)_CXXFLAGS))) # Make each object file depend on the common dependencies.