Makefile.target
PATCH 1/1 Makefile.target
This small patch for Makefile.target fixes a very special build issue:
make distclean # (only needed to remove files left from earlier builds) ./configure
make -C i386-softmmu # (or any other system emulation)
will try to build the missing dyngen and fail because dyngen is normally build by the root Makefile.
The patch adds a rule for dyngen which simply calls "make dyngen" in the root directory.
Stefan
Index: Makefile.target
===================================================================
RCS file: /sources/qemu/qemu/Makefile.target,v
retrieving revision 1.160
Makefile.target +3 -0
@@ -540,6 +540,9 @@ translate-op.o: translate-all.c op.h opc.h cpu.h +$(DYNGEN): + make -C .. dyngen$(EXESUF) + op.h: op.o $(DYNGEN) $(DYNGEN) -o $@ $<
Quoted 11 lines · Stefan Weil
This small patch for Makefile.target fixes a very special build issue:
make distclean # (only needed to remove files left from earlier builds) ./configure
make -C i386-softmmu # (or any other system emulation)will try to build the missing dyngen and fail because dyngen is normally build by the root
Makefile.The patch adds a rule for dyngen which simply calls "make dyngen" in the root directory.
I think "don't do that" is the most appropriate response to this problem. It's certainly not something I'd like to commit to keeping working long-term.
Try "make subdir-i386-softmmu" if you really must do this. Configuring with --target-list=i386-softmmu is a much better solution though.
Paul
Hi Paul,
of course it is always good practice to avoid errors.
But nevertheless, sometimes it happens that I "do that", and then I'm always happy when I get a clear error message. Or even better, when something works as expected even when I did something unexpected. You are lucky if you never experienced such situations.
In my case, even a simple line like
$(DYNGEN):
in Makefile.target would have made me happier.
"make subdir-i386-softmmu" is ok for my application, configuring with --target-list=i386-softmmu is no solution though because I need mips-softmmu and mipsel-softmmu, too :-)
Stefan
Quoted 23 lines · Paul Brook
Quoted 11 lines · Stefan Weil
This small patch for Makefile.target fixes a very special build issue:
make distclean # (only needed to remove files left from earlier builds) ./configure
make -C i386-softmmu # (or any other system emulation)will try to build the missing dyngen and fail because dyngen is normally build by the root
Makefile.The patch adds a rule for dyngen which simply calls "make dyngen" in the root directory.
I think "don't do that" is the most appropriate response to this problem. It's certainly not something I'd like to commit to keeping working long-term.
Try "make subdir-i386-softmmu" if you really must do this. Configuring with --target-list=i386-softmmu is a much better solution though.
Paul
Quoted 9 lines
But nevertheless, sometimes it happens that I "do that", and then I'm always happy when I get a clear error message. Or even better, when something works as expected even when I did something unexpected. You are lucky if you never experienced such situations.
In my case, even a simple line like
$(DYNGEN):
in Makefile.target would have made me happier.
I still think you're poking around in things that shouldn't concern you, so deserve everything you get.
Quoted 3 lines
"make subdir-i386-softmmu" is ok for my application, configuring with --target-list=i386-softmmu is no solution though because I need mips-softmmu and mipsel-softmmu, too :-)
So configure with --target-list=i386-softmmu,mips-softmmu,mipsel-softmmu
Paul