summaryrefslogtreecommitdiff
path: root/tools/rtthread.mk
diff options
context:
space:
mode:
authoriysheng <[email protected]>2020-07-16 22:25:09 +0800
committeriysheng <[email protected]>2020-07-16 22:25:58 +0800
commit8e08b589641274bc5a595bd3a691793d757807d0 (patch)
tree6ef007da742cd33643577176e9c43cee8cdb3a69 /tools/rtthread.mk
parentfe67df340860b3ab9f7e6a5f03f7126959c9d0b8 (diff)
[fix] Couldn't compile *.s src files
Diffstat (limited to 'tools/rtthread.mk')
-rw-r--r--tools/rtthread.mk17
1 files changed, 17 insertions, 0 deletions
diff --git a/tools/rtthread.mk b/tools/rtthread.mk
index fdc96d4156..7cf018cb52 100644
--- a/tools/rtthread.mk
+++ b/tools/rtthread.mk
@@ -55,6 +55,20 @@ $(if $(strip $(LOCALS)),$(eval $(LOCALS): $(S_SRC)
@$(CROSS_COMPILE)gcc $$(AFLAGS) -c $$< -o $$@))
endef
+define add_s_file
+$(eval S_SRC := $(1:$(BSP_ROOT)/%=%)) \
+$(eval S_SRC := $(S_SRC:$(RTT_ROOT)/%=%)) \
+$(eval SOBJ := $(1:%.s=%.o)) \
+$(eval SOBJ := $(SOBJ:$(BSP_ROOT)/%=$(BSP_BUILD_DIR)/%)) \
+$(eval SOBJ := $(SOBJ:$(RTT_ROOT)/%=$(RTT_BUILD_DIR)/%)) \
+$(eval LOCALS := $(addprefix $(BUILD_DIR)/,$(SOBJ))) \
+$(eval OBJS += $(LOCALS)) \
+$(if $(strip $(LOCALS)),$(eval $(LOCALS): $(S_SRC)
+ @if [ ! -d $$(@D) ]; then mkdir -p $$(@D); fi
+ @echo cc $$<
+ @$(CROSS_COMPILE)gcc $$(AFLAGS) -c $$< -o $$@))
+endef
+
add_flg = $(eval CFLAGS += $1) \
$(eval AFLAGS += $1) \
$(eval CXXFLAGS += $1)
@@ -89,6 +103,9 @@ $(if $(SRCS),$(foreach f,$(SRCS),$(call add_cxx_file,$(f))))
SRCS := $(strip $(filter %.S,$(SRC_FILES)))
$(if $(SRCS),$(foreach f,$(SRCS),$(call add_S_file,$(f))))
+SRCS := $(strip $(filter %.s,$(SRC_FILES)))
+$(if $(SRCS),$(foreach f,$(SRCS),$(call add_s_file,$(f))))
+
CFLAGS += $(CPPPATHS)
CXXFLAGS += $(CPPPATHS)
AFLAGS += $(CPPPATHS)