Implemented support for parallel build
This commit is contained in:
parent
6f474ea500
commit
e82955c7d4
|
@ -85,6 +85,7 @@ endif
|
|||
|
||||
endif
|
||||
|
||||
.NOTPARALLEL: all
|
||||
|
||||
all: $(PART)
|
||||
|
||||
|
|
|
@ -32,16 +32,17 @@ CXXFLAGS += $(DEFINES)
|
|||
BUILD_DIR := $(KERNEL_ROOT)/build
|
||||
APP_DIR := Ubiquitous/XiZi_IIoT
|
||||
|
||||
|
||||
OBJS_LIST_FILE := $(BUILD_DIR)/make.obj
|
||||
|
||||
.PHONY:COMPILER
|
||||
|
||||
COMPILER:
|
||||
@if [ "${SRC_DIR_TEMP}" != "" ]; then \
|
||||
for dir in $(SRC_DIR_TEMP); do \
|
||||
$(MAKE) -C $$dir; \
|
||||
done; \
|
||||
fi
|
||||
@/bin/echo -n $(OBJS) " " >> $(KERNEL_ROOT)/build/make.obj
|
||||
|
||||
@flock -x $(OBJS_LIST_FILE) -c "echo -n '$(OBJS) ' >> $(OBJS_LIST_FILE)"
|
||||
|
||||
################################################
|
||||
define add_c_file
|
||||
|
@ -52,9 +53,7 @@ $(eval OBJS += $(LOCALC)) \
|
|||
$(if $(strip $(LOCALC)),$(eval $(LOCALC): $(1)
|
||||
@if [ ! -d $$(@D) ]; then mkdir -p $$(@D); fi
|
||||
@echo cc $$<
|
||||
@echo -n $(dir $(LOCALC)) >>$(KERNEL_ROOT)/build/make.dep
|
||||
@($(CROSS_COMPILE)gcc -MM $$(CFLAGS) -c $$<) >>$(KERNEL_ROOT)/build/make.dep
|
||||
@$(CROSS_COMPILE)gcc $$(CFLAGS) -c $$< -o $$@))
|
||||
@$(CROSS_COMPILE)gcc $$(CFLAGS) -MMD -c $$< -o $$@))
|
||||
endef
|
||||
|
||||
define add_cpp_file
|
||||
|
@ -65,9 +64,7 @@ $(eval OBJS += $(LOCALCPP)) \
|
|||
$(if $(strip $(LOCALCPP)),$(eval $(LOCALCPP): $(1)
|
||||
@if [ ! -d $$(@D) ]; then mkdir -p $$(@D); fi
|
||||
@echo cpp $$<
|
||||
@/bin/echo -n $(dir $(LOCALCPP)) >>$(KERNEL_ROOT)/build/make.dep
|
||||
@$(CROSS_COMPILE)g++ -MM $$(CXXFLAGS) -c $$< >>$(KERNEL_ROOT)/build/make.dep
|
||||
@$(CROSS_COMPILE)g++ $$(CXXFLAGS) -c $$< -o $$@))
|
||||
@$(CROSS_COMPILE)g++ $$(CXXFLAGS) -MMD -c $$< -o $$@))
|
||||
endef
|
||||
|
||||
define add_cc_file
|
||||
|
@ -77,10 +74,8 @@ $(eval LOCALCPP := $(addprefix $(BUILD_DIR)/,$(COBJ))) \
|
|||
$(eval OBJS += $(LOCALCPP)) \
|
||||
$(if $(strip $(LOCALCPP)),$(eval $(LOCALCPP): $(1)
|
||||
@if [ ! -d $$(@D) ]; then mkdir -p $$(@D); fi
|
||||
@echo cc $$<
|
||||
@/bin/echo -n $(dir $(LOCALCPP)) >>$(KERNEL_ROOT)/build/make.dep
|
||||
@$(CROSS_COMPILE)g++ -MM $$(CXXFLAGS) -c $$< >>$(KERNEL_ROOT)/build/make.dep
|
||||
@$(CROSS_COMPILE)g++ $$(CXXFLAGS) -c $$< -o $$@))
|
||||
@echo cpp $$<
|
||||
@$(CROSS_COMPILE)g++ $$(CXXFLAGS) -MMD -c $$< -o $$@))
|
||||
endef
|
||||
|
||||
define add_S_file
|
||||
|
@ -91,9 +86,7 @@ $(eval OBJS += $(LOCALS)) \
|
|||
$(if $(strip $(LOCALS)),$(eval $(LOCALS): $(1)
|
||||
@if [ ! -d $$(@D) ]; then mkdir -p $$(@D); fi
|
||||
@echo asm $$<
|
||||
@/bin/echo -n $(dir $(LOCALC)) >>$(KERNEL_ROOT)/build/make.dep
|
||||
@$(CROSS_COMPILE)gcc -MM $$(CFLAGS) -c $$< >>$(KERNEL_ROOT)/build/make.dep
|
||||
@$(CROSS_COMPILE)gcc $$(AFLAGS) -c $$< -o $$@))
|
||||
@$(CROSS_COMPILE)gcc $$(AFLAGS) -MMD -c $$< -o $$@))
|
||||
endef
|
||||
|
||||
define add_a_file
|
||||
|
@ -124,8 +117,6 @@ $(if $(SRCS),$(foreach f,$(SRCS),$(call add_S_file,$(addprefix $(CUR_DIR)/,$(f))
|
|||
SRCS := $(strip $(filter %.a,$(SRC_FILES)))
|
||||
$(if $(SRCS),$(foreach f,$(SRCS),$(call add_a_file,$(addprefix $(CUR_DIR)/,$(f)))))
|
||||
|
||||
COMPILER:$(OBJS)
|
||||
COMPILER: $(OBJS)
|
||||
|
||||
|
||||
|
||||
-include $(KERNEL_ROOT)/build/make.dep
|
||||
-include $(OBJS:%.o=%.d)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
OBJS := $(shell cat make.obj)
|
||||
|
||||
$(TARGET): $(OBJS)
|
||||
$(TARGET): $(OBJS)
|
||||
@echo ------------------------------------------------
|
||||
@echo link $(TARGET)
|
||||
@$(CROSS_COMPILE)g++ -o $@ $($(LINK_FLAGS)) $(OBJS) $(LINK_LWIP) $(LINK_MUSLLIB) $(LINK_MONGOOSE) $(LINK_WCH_NET) $(LIBCC) $(LINK_WCH_BLE)
|
||||
|
|
Loading…
Reference in New Issue