diff --git a/tensorflow/lite/micro/tools/make/targets/cortex_m_generic_makefile.inc b/tensorflow/lite/micro/tools/make/targets/cortex_m_generic_makefile.inc
index 8c43b4159f5..99d72c49463 100644
--- a/tensorflow/lite/micro/tools/make/targets/cortex_m_generic_makefile.inc
+++ b/tensorflow/lite/micro/tools/make/targets/cortex_m_generic_makefile.inc
@@ -28,6 +28,7 @@ endif
 
 FLOAT := soft
 GCC_TARGET_ARCH := $(TARGET_ARCH)
+SIGNED_CHAR := false
 
 # Explicitly set this to true to include the kissfft symbols.
 INCLUDE_MICRO_SPEECH := false
@@ -174,7 +175,6 @@ PLATFORM_FLAGS = \
   -DTF_LITE_MCU_DEBUG_LOG \
   -mthumb \
   -mfloat-abi=$(FLOAT) \
-  -funsigned-char \
   -mlittle-endian \
   -Wno-type-limits \
   -Wno-unused-private-field \
@@ -182,6 +182,12 @@ PLATFORM_FLAGS = \
   -MD \
   -DCPU_$(CORE)=1
 
+ifeq ($(SIGNED_CHAR), false)
+  PLATFORM_FLAGS += -funsigned-char
+else
+  PLATFORM_FLAGS += -fsigned-char
+endif
+
 # For DWT/PMU counters. Header file name is depending on target architecture.
 PLATFORM_FLAGS += -DCMSIS_DEVICE_ARM_CORTEX_M_XX_HEADER_FILE=\"$(ARM_CPU).h\"
 PLATFORM_FLAGS += -D$(ARM_CPU)