From 7ad9525c357adee503bb68d9aeb1c1e08b8332f3 Mon Sep 17 00:00:00 2001 From: chao an Date: Tue, 28 Feb 2023 14:45:50 +0800 Subject: [PATCH] Application: fix multiple main target mismatch during incremental compile MAINSRC will fail to match with PROGNAME if one of main source is changed in incremental compilation this PR will correct this issue. Signed-off-by: chao an --- Application.mk | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Application.mk b/Application.mk index c54829a13..265e34ba7 100644 --- a/Application.mk +++ b/Application.mk @@ -203,16 +203,16 @@ else MAINNAME := $(addsuffix _main,$(PROGNAME)) $(MAINCXXOBJ): %$(CXXEXT)$(SUFFIX)$(OBJEXT): %$(CXXEXT) - $(eval $<_CXXFLAGS += ${shell $(DEFINE) "$(CXX)" main=$(firstword $(MAINNAME))}) - $(eval $<_CXXELFFLAGS += ${shell $(DEFINE) "$(CXX)" main=$(firstword $(MAINNAME))}) - $(eval MAINNAME=$(filter-out $(firstword $(MAINNAME)),$(MAINNAME))) + $(eval MAIN=$(word $(call GETINDEX,$<,$(MAINCXXSRCS)),$(MAINNAME))) + $(eval $<_CXXFLAGS += ${shell $(DEFINE) "$(CXX)" main=$(MAIN)}) + $(eval $<_CXXELFFLAGS += ${shell $(DEFINE) "$(CXX)" main=$(MAIN)}) $(if $(and $(CONFIG_BUILD_LOADABLE),$(CXXELFFLAGS)), \ $(call ELFCOMPILEXX, $<, $@), $(call COMPILEXX, $<, $@)) $(MAINCOBJ): %.c$(SUFFIX)$(OBJEXT): %.c - $(eval $<_CFLAGS += ${DEFINE_PREFIX}main=$(firstword $(MAINNAME))) - $(eval $<_CELFFLAGS += ${DEFINE_PREFIX}main=$(firstword $(MAINNAME))) - $(eval MAINNAME=$(filter-out $(firstword $(MAINNAME)),$(MAINNAME))) + $(eval MAIN=$(word $(call GETINDEX,$<,$(MAINCSRCS)),$(MAINNAME))) + $(eval $<_CFLAGS += ${DEFINE_PREFIX}main=$(MAIN)) + $(eval $<_CELFFLAGS += ${DEFINE_PREFIX}main=$(MAIN)) $(if $(and $(CONFIG_BUILD_LOADABLE),$(CELFFLAGS)), \ $(call ELFCOMPILE, $<, $@), $(call COMPILE, $<, $@))