From a35c6eb4a2209716fe1d40cebad2b3adb5d05e0f Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 11 Feb 2014 14:15:57 +0100 Subject: [PATCH] Support setting CFLAGS and CXXFLAGS for libraries/programs --- libraries.mk | 5 ++++- programs.mk | 7 ++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/libraries.mk b/libraries.mk index c41694794..35ce4983a 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 ab04ff93e..5e27a7d62 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.