ifeq ($(BOXSERIES), hd1)
   CORTEX-STRINGS         =
+  TARGET_O_CFLAGS        = -O2
   TARGET_MARCH_CFLAGS    = -march=armv6 -mfloat-abi=soft -mlittle-endian
   TARGET_EXTRA_CFLAGS    = -fdata-sections -ffunction-sections
   TARGET_EXTRA_LDFLAGS   = -Wl,--gc-sections
   CXX11_ABI              =
 else ifeq ($(BOXSERIES), hd2)
   CORTEX-STRINGS         = -lcortex-strings
+  TARGET_O_CFLAGS        = -O2
   TARGET_MARCH_CFLAGS    = -march=armv7-a -mtune=cortex-a9 -mfpu=vfpv3-d16 -mfloat-abi=hard -mlittle-endian
   TARGET_EXTRA_CFLAGS    = -fdata-sections -ffunction-sections
   TARGET_EXTRA_LDFLAGS   = -Wl,--gc-sections
   CXX11_ABI              = -D_GLIBCXX_USE_CXX11_ABI=0
 else ifeq ($(BOXSERIES), hd51)
   CORTEX-STRINGS         = -lcortex-strings
+  TARGET_O_CFLAGS        = -O2
   TARGET_MARCH_CFLAGS    = -march=armv7ve -mtune=cortex-a15 -mfpu=neon-vfpv4 -mfloat-abi=hard
   TARGET_EXTRA_CFLAGS    = -fdata-sections -ffunction-sections
   TARGET_EXTRA_LDFLAGS   = -Wl,--gc-sections
 endif
 
 TARGETLIB        = $(TARGETPREFIX)/lib
-TARGET_CFLAGS    = -pipe $(TARGET_MARCH_CFLAGS) $(TARGET_EXTRA_CFLAGS) $(CXX11_ABI) -g -I$(TARGETPREFIX)/include
+TARGET_CFLAGS    = -pipe $(TARGET_O_CFLAGS) $(TARGET_MARCH_CFLAGS) $(TARGET_EXTRA_CFLAGS) $(CXX11_ABI) -g -I$(TARGETPREFIX)/include
 TARGET_CPPFLAGS  = $(TARGET_CFLAGS)
 TARGET_CXXFLAGS  = $(TARGET_CFLAGS)
 TARGET_LDFLAGS   = -O1 -Wl,-rpath,$(TARGETLIB) -Wl,-rpath-link,$(TARGETLIB) -L$(TARGETLIB) $(TARGET_EXTRA_LDFLAGS)