Files
TencentOS-tiny/components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/_rules-kmod.mk
dcxajichu 8c24d921b0 support aliyun sdk on TencentOS tiny
sample: examples\aliyun_iotkit_csdk_mqtt
project: board\TencentOS_tiny_EVB_MX_Plus\KEIL\aliyun_iotkit_csdk_mqtt
2019-10-31 16:36:28 +08:00

36 lines
1.2 KiB
Makefile

ifdef KMOD_TARGET
KMOD_NAME := $(subst .o,,$(obj-m))
KMOD_OBJS := $(foreach mod, $(KMOD_NAME), $($(mod)-objs))
KMOD_SRCS := $(subst .o,.c,$(KMOD_OBJS))
KMOD_BUILD_DIR := $(CURDIR)/build-$(shell $(SHELL_DBG) basename $(CURDIR))-kmod
KMOD_MAKEFILE := $(KMOD_BUILD_DIR)/Makefile
$(firstword $(KMOD_TARGET)): $(KMOD_SRCS)
$(Q)rm -rf $(KMOD_BUILD_DIR) && mkdir -p $(KMOD_BUILD_DIR)
$(Q)cp -f $(KMOD_SRCS) $(KMOD_BUILD_DIR)
$(Q)echo "EXTRA_CFLAGS += " \
"-I$(CURDIR)" \
"$(INTERNAL_INCLUDES)" \
| $(SED) 's/-I/\\\n -I/g' \
>> $(KMOD_MAKEFILE)
$(Q)echo "" >> $(KMOD_MAKEFILE)
$(Q)echo "obj-m := $(obj-m)" >> $(KMOD_MAKEFILE)
$(Q)echo "" >> $(KMOD_MAKEFILE)
$(Q) \
$(foreach mod, $(KMOD_NAME), \
echo "$(mod)-objs := $($(mod)-objs)" \
| $(SED) 's/ [_a-z]*\.o/ \\\n &/g' \
>> $(KMOD_MAKEFILE); \
echo "" >> $(KMOD_MAKEFILE); \
)
@$(call Brief_Log,"CC",$(KMOD_TARGET))
$(Q) \
LDFLAGS=""; \
$(MAKE) -C $(KERNEL_DIR) M=$(KMOD_BUILD_DIR) CROSS_COMPILE=$(CROSS_PREFIX) modules
$(Q)cp -f $(KMOD_BUILD_DIR)/*.ko $(CURDIR)
$(Q)mkdir -p $(SYSROOT_LIB)
$(Q)install -m 0755 $(KMOD_BUILD_DIR)/*.ko $(SYSROOT_LIB)
endif # ifdef KMOD_TARGET