diff --git a/Application.mk b/Application.mk index 4d6fd5682..923407800 100644 --- a/Application.mk +++ b/Application.mk @@ -205,9 +205,10 @@ $(ZIGOBJS): %$(ZIGEXT)$(SUFFIX)$(OBJEXT): %$(ZIGEXT) $(if $(and $(CONFIG_BUILD_LOADABLE), $(CELFFLAGS)), \ $(call ELFCOMPILEZIG, $<, $@), $(call COMPILEZIG, $<, $@)) -AROBJS := +AROBJS := ifneq ($(OBJS),) -$(eval $(call SPLITVARIABLE,OBJS_SPILT,$(OBJS),100)) +SORTOBJS := $(sort $(OBJS)) +$(eval $(call SPLITVARIABLE,OBJS_SPILT,$(SORTOBJS),100)) $(foreach BATCH, $(OBJS_SPILT_TOTAL), \ $(foreach obj, $(OBJS_SPILT_$(BATCH)), \ $(eval substitute := $(patsubst %$(OBJEXT),%_$(BATCH)$(OBJEXT),$(obj))) \ @@ -298,7 +299,7 @@ endif $(shell $(MKDEP) $(DEPPATH) --obj-suffix .c$(SUFFIX)$(OBJEXT) "$(CC)" -- $(CFLAGS) -- $(filter %.c,$(ALL_DEP_OBJS_$(BATCH))) >Make.dep) \ $(shell $(MKDEP) $(DEPPATH) --obj-suffix .S$(SUFFIX)$(OBJEXT) "$(CC)" -- $(CFLAGS) -- $(filter %.S,$(ALL_DEP_OBJS_$(BATCH))) >>Make.dep) \ $(shell $(MKDEP) $(DEPPATH) --obj-suffix $(CXXEXT)$(SUFFIX)$(OBJEXT) "$(CXX)" -- $(CXXFLAGS) -- $(filter %$(CXXEXT),$(ALL_DEP_OBJS_$(BATCH))) >>Make.dep) \ - ) + ) $(Q) touch $@ depend:: .depend @@ -306,8 +307,8 @@ depend:: .depend clean:: $(call DELFILE, .built) + $(call CLEANAROBJS) $(call CLEAN) - distclean:: clean $(call DELFILE, Make.dep) $(call DELFILE, .depend) diff --git a/Make.defs b/Make.defs index 91842102e..d13634ff9 100644 --- a/Make.defs +++ b/Make.defs @@ -157,7 +157,21 @@ define ARLOCK flock $1.lock $(call ARCHIVE, $1, $(2)) endef +# dynamic AR target + define AROBJSRULES $(1) : $(2) cp $(2) $(1) -endef \ No newline at end of file +endef + +# CLEANAROBJS - del AR target files exclusively + +ifeq ($(CONFIG_WINDOWS_NATIVE),y) +define CLEANAROBJS + $(call DELFILE,$(subst /,\,$(AROBJS))) +endef +else +define CLEANAROBJS + $(Q) rm -f $(AROBJS) +endef +endif \ No newline at end of file