Patchwork [v3,06/29] build: move libobj-y variable to nested Makefile.objs

login
register
mail settings
Submitter Paolo Bonzini
Date June 7, 2012, 7:39 a.m.
Message ID <1339054814-20939-7-git-send-email-pbonzini@redhat.com>
Download mbox | patch
Permalink /patch/163527/
State New
Headers show

Comments

Paolo Bonzini - June 7, 2012, 7:39 a.m.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 Makefile.target                 |   41 +++++++--------------------------------
 configure                       |    6 ------
 target-alpha/Makefile.objs      |    3 ++-
 target-arm/Makefile.objs        |    4 ++++
 target-cris/Makefile.objs       |    5 ++++-
 target-i386/Makefile.objs       |    3 +++
 target-lm32/Makefile.objs       |    4 +++-
 target-m68k/Makefile.objs       |    3 +++
 target-microblaze/Makefile.objs |    5 ++++-
 target-mips/Makefile.objs       |    4 +++-
 target-ppc/Makefile.objs        |    4 +++-
 target-s390x/Makefile.objs      |    4 +++-
 target-sh4/Makefile.objs        |    4 +++-
 target-sparc/Makefile.objs      |    8 +++++++-
 target-unicore32/Makefile.objs  |    4 +++-
 target-xtensa/Makefile.objs     |    3 +++
 16 files changed, 55 insertions(+), 50 deletions(-)
Blue Swirl - June 7, 2012, 9:10 p.m.
On Thu, Jun 7, 2012 at 7:39 AM, Paolo Bonzini <pbonzini@redhat.com> wrote:
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  Makefile.target                 |   41 +++++++--------------------------------
>  configure                       |    6 ------
>  target-alpha/Makefile.objs      |    3 ++-
>  target-arm/Makefile.objs        |    4 ++++
>  target-cris/Makefile.objs       |    5 ++++-
>  target-i386/Makefile.objs       |    3 +++
>  target-lm32/Makefile.objs       |    4 +++-
>  target-m68k/Makefile.objs       |    3 +++
>  target-microblaze/Makefile.objs |    5 ++++-
>  target-mips/Makefile.objs       |    4 +++-
>  target-ppc/Makefile.objs        |    4 +++-
>  target-s390x/Makefile.objs      |    4 +++-
>  target-sh4/Makefile.objs        |    4 +++-
>  target-sparc/Makefile.objs      |    8 +++++++-
>  target-unicore32/Makefile.objs  |    4 +++-
>  target-xtensa/Makefile.objs     |    3 +++
>  16 files changed, 55 insertions(+), 50 deletions(-)
>
> diff --git a/Makefile.target b/Makefile.target
> index c416ba5..67d5f3e 100644
> --- a/Makefile.target
> +++ b/Makefile.target
> @@ -76,41 +76,19 @@ all: $(PROGS) stap
>
>  #########################################################
>  # cpu emulator library
> -libobj-y = exec.o translate-all.o cpu-exec.o translate.o
> -libobj-y += tcg/tcg.o tcg/optimize.o
> -libobj-$(CONFIG_TCG_INTERPRETER) += tci.o
> -libobj-y += fpu/softfloat.o
> -ifneq ($(TARGET_BASE_ARCH), sparc)
> -ifneq ($(TARGET_BASE_ARCH), alpha)
> -libobj-y += op_helper.o
> -endif
> -endif
> -libobj-y += helper.o
> -ifneq ($(TARGET_BASE_ARCH), ppc)
> -libobj-y += cpu.o
> -endif
> -libobj-$(TARGET_SPARC64) += vis_helper.o
> -libobj-$(CONFIG_NEED_MMU) += mmu.o
> -libobj-$(TARGET_ARM) += neon_helper.o iwmmxt_helper.o
> -ifeq ($(TARGET_BASE_ARCH), sparc)
> -libobj-y += fop_helper.o cc_helper.o win_helper.o mmu_helper.o ldst_helper.o
> -endif
> -libobj-$(TARGET_SPARC) += int32_helper.o
> -libobj-$(TARGET_SPARC64) += int64_helper.o
> -libobj-$(TARGET_ALPHA) += int_helper.o fpu_helper.o sys_helper.o mem_helper.o
> -
> -libobj-y += disas.o
> -libobj-$(CONFIG_TCI_DIS) += tci-dis.o
> -
> +obj-y = exec.o translate-all.o cpu-exec.o translate.o
> +obj-y += tcg/tcg.o tcg/optimize.o
> +obj-$(CONFIG_TCG_INTERPRETER) += tci.o
> +obj-y += fpu/softfloat.o
> +obj-y += disas.o
> +obj-$(CONFIG_TCI_DIS) += tci-dis.o
>  obj-y += target-$(TARGET_BASE_ARCH)/
> +obj-$(CONFIG_GDBSTUB_XML) += gdbstub-xml.o
>
>  tci-dis.o: QEMU_CFLAGS += -I$(SRC_PATH)/tcg -I$(SRC_PATH)/tcg/tci
>
>  # HELPER_CFLAGS is used for all the legacy code compiled with static register
>  # variables
> -ifneq ($(TARGET_BASE_ARCH), sparc)
> -op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
> -endif
>  user-exec.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
>
>  # Note: this is a workaround. The real fix is to avoid compiling
> @@ -130,7 +108,6 @@ obj-y += gdbstub.o thunk.o user-exec.o $(oslib-obj-y)
>  obj-y += $(addprefix ../, $(universal-obj-y))
>  obj-y += $(addprefix ../libuser/, $(user-obj-y))
>  obj-y += $(addprefix ../libdis-user/, $(libdis-y))
> -obj-y += $(libobj-y)
>
>  endif #CONFIG_LINUX_USER
>
> @@ -147,7 +124,6 @@ obj-y += gdbstub.o user-exec.o
>  obj-y += $(addprefix ../, $(universal-obj-y))
>  obj-y += $(addprefix ../libuser/, $(user-obj-y))
>  obj-y += $(addprefix ../libdis-user/, $(libdis-y))
> -obj-y += $(libobj-y)
>
>  endif #CONFIG_BSD_USER
>
> @@ -215,7 +191,6 @@ GENERATED_HEADERS += hmp-commands.h qmp-commands-old.h
>  obj-y += $(addprefix ../, $(universal-obj-y))
>  obj-y += $(addprefix ../, $(common-obj-y))
>  obj-y += $(addprefix ../libdis/, $(libdis-y))
> -obj-y += $(libobj-y)
>  obj-y += $(addprefix $(HWDIR)/, $(hw-obj-y))
>  obj-y += $(addprefix ../, $(trace-obj-y))
>
> @@ -231,8 +206,6 @@ obj-$(CONFIG_SMARTCARD_NSS) += $(addprefix ../libcacard/, $(libcacard-y))
>  endif # CONFIG_BSD_USER
>  endif # CONFIG_LINUX_USER
>
> -obj-$(CONFIG_GDBSTUB_XML) += gdbstub-xml.o
> -
>  nested-vars = obj-y
>  dummy := $(call unnest-vars)
>
> diff --git a/configure b/configure
> index a2fca50..cc77700 100755
> --- a/configure
> +++ b/configure
> @@ -3911,12 +3911,6 @@ if test "$target_softmmu" = "yes" ; then
>   esac
>  fi
>
> -if test "$target_softmmu" = "yes" -a \( \
> -        "$TARGET_ARCH" = "microblaze" -o \
> -        "$TARGET_ARCH" = "cris" \) ; then
> -  echo "CONFIG_NEED_MMU=y" >> $config_target_mak
> -fi
> -
>  if test "$gprof" = "yes" ; then
>   echo "TARGET_GPROF=yes" >> $config_target_mak
>   if test "$target_linux_user" = "yes" ; then
> diff --git a/target-alpha/Makefile.objs b/target-alpha/Makefile.objs
> index c574c9e..9a72870 100644
> --- a/target-alpha/Makefile.objs
> +++ b/target-alpha/Makefile.objs
> @@ -1 +1,2 @@
> -# still empty
> +obj-y += helper.o cpu.o
> +obj-y += int_helper.o fpu_helper.o sys_helper.o mem_helper.o
> diff --git a/target-arm/Makefile.objs b/target-arm/Makefile.objs
> index f5bb920..4dcd3c5 100644
> --- a/target-arm/Makefile.objs
> +++ b/target-arm/Makefile.objs
> @@ -1 +1,5 @@
>  obj-y += arm-semi.o
> +obj-y += op_helper.o helper.o cpu.o
> +obj-y += neon_helper.o iwmmxt_helper.o
> +
> +$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
> diff --git a/target-cris/Makefile.objs b/target-cris/Makefile.objs
> index c574c9e..9a50c28 100644
> --- a/target-cris/Makefile.objs
> +++ b/target-cris/Makefile.objs
> @@ -1 +1,4 @@
> -# still empty
> +obj-y += op_helper.o helper.o cpu.o
> +obj-$(CONFIG_SOFTMMU) += mmu.o
> +
> +$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
> diff --git a/target-i386/Makefile.objs b/target-i386/Makefile.objs
> index 93c6f3f..2538c43 100644
> --- a/target-i386/Makefile.objs
> +++ b/target-i386/Makefile.objs
> @@ -1,3 +1,6 @@
> +obj-y += op_helper.o helper.o cpu.o
>  obj-$(CONFIG_KVM) += hyperv.o
>  obj-$(CONFIG_LINUX_USER) += ioport-user.o
>  obj-$(CONFIG_BSD_USER) += ioport-user.o
> +
> +$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
> diff --git a/target-lm32/Makefile.objs b/target-lm32/Makefile.objs
> index c574c9e..8e9be60 100644
> --- a/target-lm32/Makefile.objs
> +++ b/target-lm32/Makefile.objs
> @@ -1 +1,3 @@
> -# still empty
> +obj-y += op_helper.o helper.o cpu.o
> +
> +$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
> diff --git a/target-m68k/Makefile.objs b/target-m68k/Makefile.objs
> index e73a5ba..553691d 100644
> --- a/target-m68k/Makefile.objs
> +++ b/target-m68k/Makefile.objs
> @@ -1 +1,4 @@
>  obj-y += m68k-semi.o
> +obj-y += op_helper.o helper.o cpu.o
> +
> +$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
> diff --git a/target-microblaze/Makefile.objs b/target-microblaze/Makefile.objs
> index c574c9e..9a50c28 100644
> --- a/target-microblaze/Makefile.objs
> +++ b/target-microblaze/Makefile.objs
> @@ -1 +1,4 @@
> -# still empty
> +obj-y += op_helper.o helper.o cpu.o
> +obj-$(CONFIG_SOFTMMU) += mmu.o
> +
> +$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
> diff --git a/target-mips/Makefile.objs b/target-mips/Makefile.objs
> index c574c9e..8e9be60 100644
> --- a/target-mips/Makefile.objs
> +++ b/target-mips/Makefile.objs
> @@ -1 +1,3 @@
> -# still empty
> +obj-y += op_helper.o helper.o cpu.o
> +
> +$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
> diff --git a/target-ppc/Makefile.objs b/target-ppc/Makefile.objs
> index c574c9e..bf46331 100644
> --- a/target-ppc/Makefile.objs
> +++ b/target-ppc/Makefile.objs
> @@ -1 +1,3 @@
> -# still empty
> +obj-y += op_helper.o helper.o
> +
> +$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
> diff --git a/target-s390x/Makefile.objs b/target-s390x/Makefile.objs
> index c574c9e..8e9be60 100644
> --- a/target-s390x/Makefile.objs
> +++ b/target-s390x/Makefile.objs
> @@ -1 +1,3 @@
> -# still empty
> +obj-y += op_helper.o helper.o cpu.o
> +
> +$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
> diff --git a/target-sh4/Makefile.objs b/target-sh4/Makefile.objs
> index c574c9e..8e9be60 100644
> --- a/target-sh4/Makefile.objs
> +++ b/target-sh4/Makefile.objs
> @@ -1 +1,3 @@
> -# still empty
> +obj-y += op_helper.o helper.o cpu.o
> +
> +$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
> diff --git a/target-sparc/Makefile.objs b/target-sparc/Makefile.objs
> index c574c9e..3556d13 100644
> --- a/target-sparc/Makefile.objs
> +++ b/target-sparc/Makefile.objs
> @@ -1 +1,7 @@
> -# still empty
> +obj-y += helper.o cpu.o
> +obj-y += fop_helper.o cc_helper.o win_helper.o mmu_helper.o ldst_helper.o
> +obj-$(TARGET_SPARC) += int32_helper.o
> +obj-$(TARGET_SPARC64) += int64_helper.o
> +obj-$(TARGET_SPARC64) += vis_helper.o
> +
> +$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)

Please remove.

> diff --git a/target-unicore32/Makefile.objs b/target-unicore32/Makefile.objs
> index c574c9e..8e9be60 100644
> --- a/target-unicore32/Makefile.objs
> +++ b/target-unicore32/Makefile.objs
> @@ -1 +1,3 @@
> -# still empty
> +obj-y += op_helper.o helper.o cpu.o
> +
> +$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
> diff --git a/target-xtensa/Makefile.objs b/target-xtensa/Makefile.objs
> index a49ca8d..3cdf604 100644
> --- a/target-xtensa/Makefile.objs
> +++ b/target-xtensa/Makefile.objs
> @@ -2,3 +2,6 @@ obj-y += xtensa-semi.o
>  obj-y += core-dc232b.o
>  obj-y += core-dc233c.o
>  obj-y += core-fsf.o
> +obj-y += op_helper.o helper.o cpu.o
> +
> +$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
> --
> 1.7.10.1
>
>
>
Paolo Bonzini - June 7, 2012, 11:18 p.m.
Il 07/06/2012 23:10, Blue Swirl ha scritto:
>> diff --git a/target-sparc/Makefile.objs b/target-sparc/Makefile.objs
>> index c574c9e..3556d13 100644
>> --- a/target-sparc/Makefile.objs
>> +++ b/target-sparc/Makefile.objs
>> @@ -1 +1,7 @@
>> -# still empty
>> +obj-y += helper.o cpu.o
>> +obj-y += fop_helper.o cc_helper.o win_helper.o mmu_helper.o ldst_helper.o
>> +obj-$(TARGET_SPARC) += int32_helper.o
>> +obj-$(TARGET_SPARC64) += int64_helper.o
>> +obj-$(TARGET_SPARC64) += vis_helper.o
>> +
>> +$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
> 
> Please remove.

Fixed, updated branch to commit 067ca6b.  Thanks.

Paolo
Andreas Färber - June 8, 2012, 8:03 a.m.
Am 08.06.2012 01:18, schrieb Paolo Bonzini:
> Il 07/06/2012 23:10, Blue Swirl ha scritto:
>>> diff --git a/target-sparc/Makefile.objs b/target-sparc/Makefile.objs
>>> index c574c9e..3556d13 100644
>>> --- a/target-sparc/Makefile.objs
>>> +++ b/target-sparc/Makefile.objs
>>> @@ -1 +1,7 @@
>>> -# still empty
>>> +obj-y += helper.o cpu.o
>>> +obj-y += fop_helper.o cc_helper.o win_helper.o mmu_helper.o ldst_helper.o
>>> +obj-$(TARGET_SPARC) += int32_helper.o
>>> +obj-$(TARGET_SPARC64) += int64_helper.o
>>> +obj-$(TARGET_SPARC64) += vis_helper.o
>>> +
>>> +$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
>>
>> Please remove.
> 
> Fixed, updated branch to commit 067ca6b.  Thanks.

Anthony, are you planning to pull this soon? This refactoring is
blocking even the first batch of qom-next patches and any other series
that touches Makefiles.

Andreas

Patch

diff --git a/Makefile.target b/Makefile.target
index c416ba5..67d5f3e 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -76,41 +76,19 @@  all: $(PROGS) stap
 
 #########################################################
 # cpu emulator library
-libobj-y = exec.o translate-all.o cpu-exec.o translate.o
-libobj-y += tcg/tcg.o tcg/optimize.o
-libobj-$(CONFIG_TCG_INTERPRETER) += tci.o
-libobj-y += fpu/softfloat.o
-ifneq ($(TARGET_BASE_ARCH), sparc)
-ifneq ($(TARGET_BASE_ARCH), alpha)
-libobj-y += op_helper.o
-endif
-endif
-libobj-y += helper.o
-ifneq ($(TARGET_BASE_ARCH), ppc)
-libobj-y += cpu.o
-endif
-libobj-$(TARGET_SPARC64) += vis_helper.o
-libobj-$(CONFIG_NEED_MMU) += mmu.o
-libobj-$(TARGET_ARM) += neon_helper.o iwmmxt_helper.o
-ifeq ($(TARGET_BASE_ARCH), sparc)
-libobj-y += fop_helper.o cc_helper.o win_helper.o mmu_helper.o ldst_helper.o
-endif
-libobj-$(TARGET_SPARC) += int32_helper.o
-libobj-$(TARGET_SPARC64) += int64_helper.o
-libobj-$(TARGET_ALPHA) += int_helper.o fpu_helper.o sys_helper.o mem_helper.o
-
-libobj-y += disas.o
-libobj-$(CONFIG_TCI_DIS) += tci-dis.o
-
+obj-y = exec.o translate-all.o cpu-exec.o translate.o
+obj-y += tcg/tcg.o tcg/optimize.o
+obj-$(CONFIG_TCG_INTERPRETER) += tci.o
+obj-y += fpu/softfloat.o
+obj-y += disas.o
+obj-$(CONFIG_TCI_DIS) += tci-dis.o
 obj-y += target-$(TARGET_BASE_ARCH)/
+obj-$(CONFIG_GDBSTUB_XML) += gdbstub-xml.o
 
 tci-dis.o: QEMU_CFLAGS += -I$(SRC_PATH)/tcg -I$(SRC_PATH)/tcg/tci
 
 # HELPER_CFLAGS is used for all the legacy code compiled with static register
 # variables
-ifneq ($(TARGET_BASE_ARCH), sparc)
-op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
-endif
 user-exec.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
 
 # Note: this is a workaround. The real fix is to avoid compiling
@@ -130,7 +108,6 @@  obj-y += gdbstub.o thunk.o user-exec.o $(oslib-obj-y)
 obj-y += $(addprefix ../, $(universal-obj-y))
 obj-y += $(addprefix ../libuser/, $(user-obj-y))
 obj-y += $(addprefix ../libdis-user/, $(libdis-y))
-obj-y += $(libobj-y)
 
 endif #CONFIG_LINUX_USER
 
@@ -147,7 +124,6 @@  obj-y += gdbstub.o user-exec.o
 obj-y += $(addprefix ../, $(universal-obj-y))
 obj-y += $(addprefix ../libuser/, $(user-obj-y))
 obj-y += $(addprefix ../libdis-user/, $(libdis-y))
-obj-y += $(libobj-y)
 
 endif #CONFIG_BSD_USER
 
@@ -215,7 +191,6 @@  GENERATED_HEADERS += hmp-commands.h qmp-commands-old.h
 obj-y += $(addprefix ../, $(universal-obj-y))
 obj-y += $(addprefix ../, $(common-obj-y))
 obj-y += $(addprefix ../libdis/, $(libdis-y))
-obj-y += $(libobj-y)
 obj-y += $(addprefix $(HWDIR)/, $(hw-obj-y))
 obj-y += $(addprefix ../, $(trace-obj-y))
 
@@ -231,8 +206,6 @@  obj-$(CONFIG_SMARTCARD_NSS) += $(addprefix ../libcacard/, $(libcacard-y))
 endif # CONFIG_BSD_USER
 endif # CONFIG_LINUX_USER
 
-obj-$(CONFIG_GDBSTUB_XML) += gdbstub-xml.o
-
 nested-vars = obj-y
 dummy := $(call unnest-vars)
 
diff --git a/configure b/configure
index a2fca50..cc77700 100755
--- a/configure
+++ b/configure
@@ -3911,12 +3911,6 @@  if test "$target_softmmu" = "yes" ; then
   esac
 fi
 
-if test "$target_softmmu" = "yes" -a \( \
-        "$TARGET_ARCH" = "microblaze" -o \
-        "$TARGET_ARCH" = "cris" \) ; then
-  echo "CONFIG_NEED_MMU=y" >> $config_target_mak
-fi
-
 if test "$gprof" = "yes" ; then
   echo "TARGET_GPROF=yes" >> $config_target_mak
   if test "$target_linux_user" = "yes" ; then
diff --git a/target-alpha/Makefile.objs b/target-alpha/Makefile.objs
index c574c9e..9a72870 100644
--- a/target-alpha/Makefile.objs
+++ b/target-alpha/Makefile.objs
@@ -1 +1,2 @@ 
-# still empty
+obj-y += helper.o cpu.o
+obj-y += int_helper.o fpu_helper.o sys_helper.o mem_helper.o
diff --git a/target-arm/Makefile.objs b/target-arm/Makefile.objs
index f5bb920..4dcd3c5 100644
--- a/target-arm/Makefile.objs
+++ b/target-arm/Makefile.objs
@@ -1 +1,5 @@ 
 obj-y += arm-semi.o
+obj-y += op_helper.o helper.o cpu.o
+obj-y += neon_helper.o iwmmxt_helper.o
+
+$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-cris/Makefile.objs b/target-cris/Makefile.objs
index c574c9e..9a50c28 100644
--- a/target-cris/Makefile.objs
+++ b/target-cris/Makefile.objs
@@ -1 +1,4 @@ 
-# still empty
+obj-y += op_helper.o helper.o cpu.o
+obj-$(CONFIG_SOFTMMU) += mmu.o
+
+$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-i386/Makefile.objs b/target-i386/Makefile.objs
index 93c6f3f..2538c43 100644
--- a/target-i386/Makefile.objs
+++ b/target-i386/Makefile.objs
@@ -1,3 +1,6 @@ 
+obj-y += op_helper.o helper.o cpu.o
 obj-$(CONFIG_KVM) += hyperv.o
 obj-$(CONFIG_LINUX_USER) += ioport-user.o
 obj-$(CONFIG_BSD_USER) += ioport-user.o
+
+$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-lm32/Makefile.objs b/target-lm32/Makefile.objs
index c574c9e..8e9be60 100644
--- a/target-lm32/Makefile.objs
+++ b/target-lm32/Makefile.objs
@@ -1 +1,3 @@ 
-# still empty
+obj-y += op_helper.o helper.o cpu.o
+
+$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-m68k/Makefile.objs b/target-m68k/Makefile.objs
index e73a5ba..553691d 100644
--- a/target-m68k/Makefile.objs
+++ b/target-m68k/Makefile.objs
@@ -1 +1,4 @@ 
 obj-y += m68k-semi.o
+obj-y += op_helper.o helper.o cpu.o
+
+$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-microblaze/Makefile.objs b/target-microblaze/Makefile.objs
index c574c9e..9a50c28 100644
--- a/target-microblaze/Makefile.objs
+++ b/target-microblaze/Makefile.objs
@@ -1 +1,4 @@ 
-# still empty
+obj-y += op_helper.o helper.o cpu.o
+obj-$(CONFIG_SOFTMMU) += mmu.o
+
+$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-mips/Makefile.objs b/target-mips/Makefile.objs
index c574c9e..8e9be60 100644
--- a/target-mips/Makefile.objs
+++ b/target-mips/Makefile.objs
@@ -1 +1,3 @@ 
-# still empty
+obj-y += op_helper.o helper.o cpu.o
+
+$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-ppc/Makefile.objs b/target-ppc/Makefile.objs
index c574c9e..bf46331 100644
--- a/target-ppc/Makefile.objs
+++ b/target-ppc/Makefile.objs
@@ -1 +1,3 @@ 
-# still empty
+obj-y += op_helper.o helper.o
+
+$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-s390x/Makefile.objs b/target-s390x/Makefile.objs
index c574c9e..8e9be60 100644
--- a/target-s390x/Makefile.objs
+++ b/target-s390x/Makefile.objs
@@ -1 +1,3 @@ 
-# still empty
+obj-y += op_helper.o helper.o cpu.o
+
+$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-sh4/Makefile.objs b/target-sh4/Makefile.objs
index c574c9e..8e9be60 100644
--- a/target-sh4/Makefile.objs
+++ b/target-sh4/Makefile.objs
@@ -1 +1,3 @@ 
-# still empty
+obj-y += op_helper.o helper.o cpu.o
+
+$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-sparc/Makefile.objs b/target-sparc/Makefile.objs
index c574c9e..3556d13 100644
--- a/target-sparc/Makefile.objs
+++ b/target-sparc/Makefile.objs
@@ -1 +1,7 @@ 
-# still empty
+obj-y += helper.o cpu.o
+obj-y += fop_helper.o cc_helper.o win_helper.o mmu_helper.o ldst_helper.o
+obj-$(TARGET_SPARC) += int32_helper.o
+obj-$(TARGET_SPARC64) += int64_helper.o
+obj-$(TARGET_SPARC64) += vis_helper.o
+
+$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-unicore32/Makefile.objs b/target-unicore32/Makefile.objs
index c574c9e..8e9be60 100644
--- a/target-unicore32/Makefile.objs
+++ b/target-unicore32/Makefile.objs
@@ -1 +1,3 @@ 
-# still empty
+obj-y += op_helper.o helper.o cpu.o
+
+$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-xtensa/Makefile.objs b/target-xtensa/Makefile.objs
index a49ca8d..3cdf604 100644
--- a/target-xtensa/Makefile.objs
+++ b/target-xtensa/Makefile.objs
@@ -2,3 +2,6 @@  obj-y += xtensa-semi.o
 obj-y += core-dc232b.o
 obj-y += core-dc233c.o
 obj-y += core-fsf.o
+obj-y += op_helper.o helper.o cpu.o
+
+$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)