FREERTOS_DIR := $(TOP)/PLAT/os/freertos CFLAGS_INC += -I$(TOP)/PLAT/os/freertos/inc \ -I$(TOP)/PLAT/os/freertos/CMSIS/common/inc \ -I$(TOP)/PLAT/os/freertos/CMSIS/$(CORE)/inc \ -I$(TOP)/PLAT/os/freertos/portable/mem/tlsf ifeq ($(BUILD_OS),y) FREERTOS_SRC_DIRS += $(FREERTOS_DIR)/src \ $(FREERTOS_DIR)/CMSIS/common/src \ $(FREERTOS_DIR)/CMSIS/$(CORE)/src CFLAGS_DEFS += -DFEATURE_OS_ENABLE CFLAGS_DEFS += -DFEATURE_FREERTOS_ENABLE ifeq ($(TOOLCHAIN),ARMCC) FREERTOS_SRC_DIRS += $(FREERTOS_DIR)/portable/keil \ $(FREERTOS_DIR)/portable/mem/tlsf endif ifeq ($(TOOLCHAIN),GCC) FREERTOS_SRC_DIRS += $(FREERTOS_DIR)/portable/gcc \ $(FREERTOS_DIR)/portable/mem/tlsf CFLAGS += -DconfigUSE_NEWLIB_REENTRANT=1 LDFLAGS += -Wl,--wrap=_malloc_r -Wl,--wrap=_free_r -Wl,--wrap=_realloc_r endif FREERTOS_CSRC = $(foreach dir, $(FREERTOS_SRC_DIRS), $(wildcard $(dir)/*.c)) FREERTOS_CFILES = $(filter-out $(FREERTOS_EXCLUDE_FILES), $(FREERTOS_CSRC)) FREERTOS_COBJSTEMP := $(patsubst %.c, %.o, $(FREERTOS_CFILES)) FREERTOS_COBJSTEMP :=$(subst $(FREERTOS_DIR),PLAT/os/freertos,$(FREERTOS_COBJSTEMP)) FREERTOS_COBJS := $(addprefix $(BUILDDIR)/, $(FREERTOS_COBJSTEMP)) FREERTOS_PPFILES := $(patsubst %.o, %.pp, $(FREERTOS_COBJS)) PPFILES += $(FREERTOS_PPFILES) ifneq ($(MAKECMDGOALS), unilog) -include $(FREERTOS_COBJS:.o=.d) endif -include $(FREERTOS_COBJS:.o=.dd) ifeq ($(TOOLCHAIN),GCC) CFLAGS_INC += -I $(TOP)/PLAT/os/freertos/portable/gcc lib-y += libfreertos.a $(BUILDDIR)/lib/libfreertos.a: $(FREERTOS_COBJS) @mkdir -p $(dir $@) $(ECHO) AR $@ $(Q)$(AR) -cr $@ $^ endif ifeq ($(TOOLCHAIN),ARMCC) CFLAGS_INC += -I $(TOP)/PLAT/os/freertos/portable/keil lib-y += libfreertos.lib $(BUILDDIR)/lib/libfreertos.lib: $(FREERTOS_COBJS) @mkdir -p $(dir $@) $(ECHO) AR $@ $(Q)$(AR) $(ARFLAGS) $@ $^ endif endif