diff --git a/Application.mk b/Application.mk index 9163b646a..d1dba9858 100644 --- a/Application.mk +++ b/Application.mk @@ -73,8 +73,8 @@ PROGNAME := $(shell echo $(PROGNAME)) RASRCS = $(filter %.s,$(ASRCS)) CASRCS = $(filter %.S,$(ASRCS)) -AOBJS = $(RASRCS:.s=$(SUFFIX)$(OBJEXT)) -AOBJS += $(CASRCS:.S=$(SUFFIX)$(OBJEXT)) +RAOBJS = $(RASRCS:.s=$(SUFFIX)$(OBJEXT)) +CAOBJS = $(CASRCS:.S=$(SUFFIX)$(OBJEXT)) COBJS = $(CSRCS:.c=$(SUFFIX)$(OBJEXT)) CXXOBJS = $(CXXSRCS:$(CXXEXT)=$(SUFFIX)$(OBJEXT)) @@ -84,7 +84,7 @@ MAINCXXOBJ = $(MAINCXXSRCS:$(CXXEXT)=$(SUFFIX)$(OBJEXT)) MAINCOBJ = $(MAINCSRCS:.c=$(SUFFIX)$(OBJEXT)) SRCS = $(ASRCS) $(CSRCS) $(CXXSRCS) $(MAINSRC) -OBJS = $(AOBJS) $(COBJS) $(CXXOBJS) +OBJS = $(RAOBJS) $(CAOBJS) $(COBJS) $(CXXOBJS) ifneq ($(BUILD_MODULE),y) OBJS += $(MAINCOBJ) $(MAINCXXOBJ) @@ -122,7 +122,11 @@ define ELFLD $(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) $(ARCHCRT0OBJ) $1 $(LDLIBS) -o $2 endef -$(AOBJS): %$(SUFFIX)$(OBJEXT): $(ASRCS) +$(RAOBJS): %$(SUFFIX)$(OBJEXT): %.s + $(if $(and $(CONFIG_BUILD_LOADABLE),$(AELFFLAGS)), \ + $(call ELFASSEMBLE, $<, $@), $(call ASSEMBLE, $<, $@)) + +$(CAOBJS): %$(SUFFIX)$(OBJEXT): %.S $(if $(and $(CONFIG_BUILD_LOADABLE),$(AELFFLAGS)), \ $(call ELFASSEMBLE, $<, $@), $(call ASSEMBLE, $<, $@))