On 05/30/2015 11:11 PM, Peter Crosthwaite wrote: > ######################################################### > # cpu emulator library > -obj-y = exec.o translate-all.o cpu-exec.o > -obj-y += tcg/tcg.o tcg/tcg-op.o tcg/optimize.o > +obj-y += exec.o > +arch-obj-$(call lnot,$(TARGET_MULTI)) += translate-all.o > +arch-obj-$(call lnot,$(TARGET_MULTI)) += cpu-exec.o > +arch-obj-$(call lnot,$(TARGET_MULTI)) += tcg/tcg.o tcg/tcg-op.o > tcg/optimize.o > obj-$(CONFIG_TCG_INTERPRETER) += tci.o > obj-$(CONFIG_TCG_INTERPRETER) += disas/tci.o > obj-y += fpu/softfloat.o > -obj-y += target-$(TARGET_BASE_ARCH)/ > +obj-$(CONFIG_ARCH_SINGLE) += target-$(TARGET_BASE_ARCH)/ > +arch-obj-$(CONFIG_ARCH_MULTI) += target-$(TARGET_BASE_ARCH)/ > +obj-$(CONFIG_ARCH_MULTI) += target-$(TARGET_BASE_ARCH)/hw/ > obj-y += disas.o > obj-$(call notempty,$(TARGET_XML_FILES)) += gdbstub-xml.o > obj-$(call lnot,$(CONFIG_KVM)) += kvm-stub.o > @@ -132,7 +136,8 @@ obj-y += arch_init.o cpus.o monitor.o gdbstub.o balloon.o > ioport.o numa.o > obj-y += qtest.o bootdevice.o > obj-y += hw/ > obj-$(CONFIG_KVM) += kvm-all.o > -obj-y += memory.o savevm.o cputlb.o > +obj-y += memory.o savevm.o > +arch-obj-$(call lnot,$(TARGET_MULTI)) += cputlb.o > obj-y += memory_mapping.o > obj-y += dump.o > LIBS := $(libs_softmmu) $(LIBS)
How does translate-all.o get built for CONFIG_ARCH_SINGLE? Is arch-obj-n added to obj-y somewhere I'm missing? Such an inclusion would seem to tidy some of the lines above... r~