Files
TencentOS-tiny/components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/_rules-prog.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

75 lines
1.8 KiB
Makefile

ifeq (1,$(words $(TARGET)))
SRCS := $(if $(SRCS_$(TARGET)),$(SRCS_$(TARGET)),$(SRCS))
endif
VPATH := $(TOP_DIR)/$(MODULE_NAME)
SRCS ?= $(foreach M,*.c */*.c */*/*.c,$(wildcard $(TOP_DIR)/$(MODULE_NAME)/$(M))) $(wildcard *.c)
OBJS := $(SRCS:.c=.o)
OBJS := $(subst $(TOP_DIR)/$(MODULE_NAME)/,,$(OBJS))
ifdef SRCS_PATTERN
PROG_LIST := $(foreach M,$(SRCS_PATTERN),$(shell ls $(TOP_DIR)/$(MODULE_NAME)/$(M) 2>/dev/null))
SRCS := $(PROG_LIST)
OBJS := $(PROG_LIST:.c=.o)
OBJS := $(subst $(TOP_DIR)/$(MODULE_NAME)/,,$(OBJS))
endif
ifdef TARGET
ifneq (modinfo,$(MAKECMDGOALS))
ifneq (clean,$(MAKECMDGOALS))
sinclude $(OBJS:.o=.d)
endif
endif
ifdef LIBA_TARGET
$(TARGET): $(LIBA_TARGET)
ifeq (,$(filter $(MODULE_NAME),$(COMP_LIB_COMPONENTS)))
LDFLAGS := -l$(subst .a,,$(subst lib,,$(LIBA_TARGET))) $(LDFLAGS)
endif
endif
ifdef LIBSO_TARGET
$(TARGET): $(LIBSO_TARGET)
LDFLAGS := -l$(subst .so,,$(subst lib,,$(LIBSO_TARGET))) $(LDFLAGS)
endif
LDFLAGS += $(sort $(CONFIG_ENV_LDFLAGS))
ifneq (,$(filter %.cpp %.cc,$(SRCS)))
CCLD := $(CXX)
else
CCLD := $(CC)
endif
ifeq (1,$(words $(TARGET)))
$(TARGET): $(OBJS) FORCE
$(call Inspect_Env,$(WATCHED_VARS))
$(Q)$(MAKE) comp-lib 2>/dev/null || true
$(Q) \
( \
if [ "$(strip $(CC))" = "gcc" -o "$(strip $(CC))" = "i686-w64-mingw32-gcc" ] \
|| [ "$(filter -D_PLATFORM_IS_LINUX_,$(CFLAGS))" != "" ] \
|| [ "$(filter -D_PLATFORM_IS_WINDOWS_,$(CFLAGS))" != "" ]; then \
$(call Brief_Log,"LD"); \
mkdir -p $(OUTPUT_DIR)${bindir}; \
$(CCLD) $(CFLAGS) -o $@ \
$(RPATH_CFLAGS) \
$(OBJS) \
$(LDFLAGS) && \
cp -f $@ $(OUTPUT_DIR)${bindir}; \
fi; \
)
else
$(foreach t,$(sort $(TARGET)),$(t)): FORCE
$(Q)$(MAKE) TARGET=$@ OBJS="$(SRCS_$@:.c=.o)"
endif
endif # ifdef TARGET