Avoid calling ARCHIVE in multiple places
Because it isn't safe to run multiple instances to libapps.a concurrently.
This commit is contained in:
parent
698f0edbaa
commit
52222cb020
@ -129,12 +129,6 @@ $(CXXOBJS): %$(SUFFIX)$(OBJEXT): %$(CXXEXT)
|
||||
$(call ELFCOMPILEXX, $<, $@), $(call COMPILEXX, $<, $@))
|
||||
|
||||
.built: $(OBJS)
|
||||
ifeq ($(WINTOOL),y)
|
||||
$(call ARCHIVE, "${shell cygpath -w $(BIN)}", $(OBJS))
|
||||
else
|
||||
$(call ARCHIVE, $(BIN), $(OBJS))
|
||||
endif
|
||||
$(Q) touch $@
|
||||
|
||||
ifeq ($(BUILD_MODULE),y)
|
||||
|
||||
@ -163,6 +157,9 @@ endif
|
||||
|
||||
install:: $(PROGLIST)
|
||||
|
||||
show-objs:
|
||||
@echo ""
|
||||
|
||||
else
|
||||
|
||||
MAINNAME := $(addsuffix _main,$(PROGNAME))
|
||||
@ -185,6 +182,9 @@ endif
|
||||
|
||||
install::
|
||||
|
||||
show-objs:
|
||||
@echo $(addprefix $(CWD)$(DELIM),$(OBJS))
|
||||
|
||||
endif # BUILD_MODULE
|
||||
|
||||
preconfig::
|
||||
|
@ -54,6 +54,7 @@ $(foreach SDIR, $(SUBDIRS), $(eval $(call SDIR_template,$(SDIR),context)))
|
||||
$(foreach SDIR, $(SUBDIRS), $(eval $(call SDIR_template,$(SDIR),depend)))
|
||||
$(foreach SDIR, $(SUBDIRS), $(eval $(call SDIR_template,$(SDIR),clean)))
|
||||
$(foreach SDIR, $(SUBDIRS), $(eval $(call SDIR_template,$(SDIR),distclean)))
|
||||
$(foreach SDIR, $(SUBDIRS), $(eval $(call SDIR_template,$(SDIR),show-objs)))
|
||||
|
||||
nothing:
|
||||
|
||||
@ -75,4 +76,6 @@ ifneq ($(MENUDESC),)
|
||||
$(call DELFILE, Kconfig)
|
||||
endif
|
||||
|
||||
show-objs: $(foreach SDIR, $(SUBDIRS), $(SDIR)_show-objs)
|
||||
|
||||
-include Make.dep
|
||||
|
19
Makefile
19
Makefile
@ -55,6 +55,8 @@ endif
|
||||
SYMTABSRC = symtab_apps.c
|
||||
SYMTABOBJ = $(SYMTABSRC:.c=$(OBJEXT))
|
||||
|
||||
APPOBJS = $(shell $(MAKE) show-objs TOPDIR="$(TOPDIR)" APPDIR="$(APPDIR)")
|
||||
|
||||
# Build targets
|
||||
|
||||
all: $(BIN)
|
||||
@ -66,6 +68,11 @@ define MAKE_template
|
||||
|
||||
endef
|
||||
|
||||
define MAKE_template_quiet
|
||||
@ $(MAKE) -C $(1) $(2) TOPDIR="$(TOPDIR)" APPDIR="$(APPDIR)" V=0 Q=@
|
||||
|
||||
endef
|
||||
|
||||
define SDIR_template
|
||||
$(1)_$(2):
|
||||
+$(Q) $(MAKE) -C $(1) $(2) TOPDIR="$(TOPDIR)" APPDIR="$(APPDIR)"
|
||||
@ -105,6 +112,11 @@ else
|
||||
ifeq ($(CONFIG_BUILD_LOADABLE),)
|
||||
|
||||
$(BIN): $(foreach SDIR, $(CONFIGURED_APPS), $(SDIR)_all)
|
||||
ifeq ($(WINTOOL),y)
|
||||
$(call ARCHIVE, "${shell cygpath -w $(BIN)}", $(APPOBJS))
|
||||
else
|
||||
$(call ARCHIVE, $(BIN), $(APPOBJS))
|
||||
endif
|
||||
|
||||
else
|
||||
|
||||
@ -117,9 +129,9 @@ $(SYMTABOBJ): %$(OBJEXT): %.c
|
||||
|
||||
$(BIN): $(SYMTABOBJ)
|
||||
ifeq ($(WINTOOL),y)
|
||||
$(call ARCHIVE, "${shell cygpath -w $(BIN)}", $^)
|
||||
$(call ARCHIVE, "${shell cygpath -w $(BIN)}", $(APPOBJS) $(SYMTABOBJ))
|
||||
else
|
||||
$(call ARCHIVE, $(BIN), $^)
|
||||
$(call ARCHIVE, $(BIN), $(APPOBJS) $(SYMTABOBJ))
|
||||
endif
|
||||
|
||||
endif # !CONFIG_BUILD_LOADABLE
|
||||
@ -155,6 +167,9 @@ Kconfig:
|
||||
|
||||
preconfig: Kconfig
|
||||
|
||||
show-objs:
|
||||
$(foreach SDIR, $(CONFIGURED_APPS), $(call MAKE_template_quiet,$(SDIR),show-objs))
|
||||
|
||||
export:
|
||||
ifneq ($(EXPORTDIR),)
|
||||
ifneq ($(BUILTIN_REGISTRY),)
|
||||
|
Loading…
x
Reference in New Issue
Block a user