# Include definition of $(rpp_lib_INCLUDES)
include $(makefile_rules_arm_dir)/../Makefile.var
-RPP_CFLAGS = $(TARGET_CFLAGS) --gcc -I$(ARM_COMPILER_DIR)/include \
+# Construct target specific CFLAGS. Start from what's in Makefile.config.
+RPP_TARGET_CFLAGS = $(TARGET_CFLAGS)
+
+# Then add -DTARGET_HAS_xxx for each make variable named TARGET_HAS_*
+# having value 'y'
+TARGET_HAS_NAMES = $(filter TARGET_HAS_%,$(.VARIABLES))
+RPP_TARGET_CFLAGS += $(foreach name,$(TARGET_HAS_NAMES),$(if $(filter y,$($(name))),-D$(name)))
+
+RPP_CFLAGS = $(RPP_TARGET_CFLAGS) --gcc -I$(ARM_COMPILER_DIR)/include \
$(rpp_lib_INCLUDES:%=-I$(makefile_rules_arm_dir)/../%) \
--diag_warning=225 --display_error_number --diag_wrap=off \
--gen_func_subsections=on --enum_type=packed