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