70 lines
1.9 KiB
PHP
Raw Permalink Normal View History

2025-04-10 17:31:33 +08:00
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