| Branch: | Revision:

root / rules.mak @ a74cdab4

History | View | Annotate | Download (2 kB)

# Date Author Comment
4c3b5a48 01/20/2011 10:54 pm Blue Swirl

Add scripts directory

Move build and user scripts into scripts directory.

Signed-off-by: Blue Swirl <>

f9728943 01/14/2011 06:11 pm Paolo Bonzini

do not pass bogus $(SRC_PATH) include paths to cc during configure

Non-existent -I paths are dropped silently by the compiler, but still
it is not polite to pass bogus options. Configure-time tests do not
need any include files from the source path, so only include -I flags...

2b2e59e6 10/23/2010 05:47 pm Paolo Bonzini

rewrite i386 tests Makefile

1) compute path to i386 compiler from configure. If it is found, run
the i386 tests. I use macros so that this approach could be applied
for other arches as well.

2) provide an easily extensible way to add tests

Most tests fail, but at least "make test" does something meaningful....

a71cd2a5 05/22/2010 11:31 am Jan Kiszka

Put dependency files in proper subdir

This seems to resolve subtle breakages of our build system:

Dependency files generated for targets like 'dir/foo.o' were saved as
'foo.d'. Now, if there was also a target 'foo.o', one of the dependency
file was overwritten. Concrete example: libhw*/macio.o vs....

288e7bcc 05/03/2010 08:39 pm Nathan Froyd

fix whitespace bogon in some versions of make

With three different make binaries I have available, configuring a
pristine QEMU tree and attempting to make gives the cryptic:

Makefile:27: *** missing separator. Stop.

This patch fixes it (presumably because it makes the output of...

59bc10ee 01/09/2010 12:55 am Paolo Bonzini

finish VPATH -> vpath translation

This adds a few more vpath suffixes and points the remaining two paths
explicitly to $(SRC_PATH) in order to eliminate the VPATH assignment
from config-host.mak.

Signed-off-by: Paolo Bonzini <>
Cc: Juan Quintela <>...

076d2471 01/08/2010 05:58 pm Paolo Bonzini

Use vpath directive

The vpath directive has two advantages over the VPATH variable:
1) it allows to skip searching of .o files; 2) the default semantics
are to append to the vpath, so there is no confusion between "VPATH=xyz"
and "VPATH+=xyz".

Since "vpath %.c %.h PATH" is not valid, I'm introducing a wrapper...

0e8c9214 01/07/2010 08:08 pm Andreas Färber

Drop --whole-archive and static libraries

Juan has contributed a cool Makefile infrastructure that enables us to drop
static libraries completely:

Move shared obj-y definitions to Makefile.objs, prefixed {common-,hw-,user-},
and link those object files directly into the executables....

7dbbbb0c 12/08/2009 12:34 am Michael S. Tsirkin

qemu: delete rule target on error

Instruct make to remove any rule target on error. This prevetns
situation where there was an error during build but generated file still
stays behind.

Signed-off-by: Michael S. Tsirkin <>
Signed-off-by: Anthony Liguori <>

7ebf54bc 12/03/2009 11:25 pm Stefan Weil

Fix build for mingw32 on windows ($@ in macro)

Make using mingw32 on windows does not preserve $@ in macros
when they are modified using this pattern:
target: macro += something

This behaviour results in an error when QEMU_CFLAGS containing
"-MMD -MP -MT $@" is modified for compilation of source files...

3e65aaf5 11/14/2009 10:32 pm malc

Do not execute shell scripts directly

Signed-off-by: malc <>

ef2fad65 11/12/2009 07:23 pm Juan Quintela

fix type in CFLAGS name

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

f527c579 11/12/2009 07:23 pm Juan Quintela

fix parallel build

Based on a ideas of Daniel Jacobowitz + Stefan Weil

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

fa394727 10/30/2009 03:39 pm Peter Hjalmarsson

Add *CFLAGS to LINK in rules.mak

Sometimes when linking with gcc to get a predictable result you are suggested to also apply the compiler flags to the linker command.

For reference, please read:

02d5467e 10/11/2009 04:08 pm malc

Move dependency generation falgs out of configure

Signed-off-by: malc <>

1215c6e7 10/09/2009 05:17 am Juan Quintela

Move generation of config-host.h to Makefile from configure

Use timestamp based appreach to avoid not needed recompilation.
Add it to rules.mak

Many thanks to Paolo Bonzini for helpding the design, and the debug.

Patchworks-ID: 35190
Signed-off-by: Juan Quintela <>...

5ab28867 10/06/2009 10:46 pm Juan Quintela

Don't use implicit rules for Makefile

This remove implicit rules + implicit variables.
Explicit rules like the generation of %.h and %.c from %.hx still works
as expected.

As an added bonus, now the output of make -d is readable.

As another added bonus, time spend on Makefiles is way smaller....

fc3baad7 10/05/2009 05:32 pm Thomas Monjalon

restore CFLAGS check for conflict and fix recursive CFLAGS issue

cc-option uses more make-syntax to replace the shell "if/else".

Issue with recursive += is fixed by doing the first assignment
simply-expanded, as explained in

8a2e6ab5 09/10/2009 01:31 am Juan Quintela

Remove CFLAGS parameter in cc-option

With cc-option we are testing if gcc just accept a particular option, we don't need CFLAGS at all. And this fixes the recursive problem with CFLAGS

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

a558ee17 08/10/2009 09:05 pm Juan Quintela


Now we have to variables: QEMU_CFLAGS: flags without which we can't compile
CFLAGS: "-g -O2"

We can now run:

make CFLAGS="-fbar" foo.o
make CFLAGS="" foo.o
make CFLAGS="-O3" foo.o

And it all should work.

Signed-off-by: Juan Quintela <>...

70071e17 07/27/2009 10:10 pm Juan Quintela

move cc-option definition to rules.mak

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

9c7f170e 06/30/2009 02:10 pm Paul Brook

Remove bogus -Werror

Revert rules.mak changes from aba800a. These should not have been here
to start with.

Signed-off-by: Paul Brook <>

aba800a3 06/24/2009 05:09 pm Michael S. Tsirkin

qemu/virtio: MSI-X support in virtio PCI

This enables actual support for MSI-X in virtio PCI.
First user will be virtio-net.

Signed-off-by: Michael S. Tsirkin <>
Signed-off-by: Anthony Liguori <>

9abbdbfe 05/15/2009 01:03 am Anthony Liguori

Fix build on Solaris and WIN32

Signed-off-by: Anthony Liguori <>

0bfe3ca5 05/14/2009 09:29 pm Anthony Liguori

Constructor support

Allow devices/drivers to register themselves via constructors.
Destructors are not needed (can be registered from a constructor)
and "priority" has been renamed and changed to an enum for clarity.

Signed-off-by: Paul Brook <>...

28c699a2 01/26/2009 07:07 pm aliguori

build system: Further improve quiet mode (Jan Kiszka)

Derived from Stuart Brady's patch: Show the target directory as prefix
to the current module when building in quiet mode. This helps to gain
overview of the current build progress, specifically when running...

b23d3d8f 01/24/2009 05:08 pm aurel32

Reformat quiet build

Indent and align the quiet build messages more like Linux - improves
readability of this great feature even more.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Aurelien Jarno <>

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

93a0dba7 01/21/2009 08:13 pm aliguori

Consolidate library creation (Avi Kivity)

Put archive utility (ar) invocations into a rule, and have it generate
quiet output by default.

Signed-off-by: Avi Kivity <>
Signed-off-by: Anthony Liguori <>

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

4f188f88 01/21/2009 08:13 pm aliguori

Make make output quieter (Avi Kivity)

Spew out less noise when compiling. This helps review make output for
information such as compilation warnings, rather than extra long compiler

The full output can be generated by supplying a 'V=1' parameter to make....

3aa892d7 01/21/2009 08:13 pm aliguori

Consolidate linker rules (Avi Kivity)

Use generic rules where posssible, and a LINK macro where not.

Signed-off-by: Avi Kivity <>
Signed-off-by: Anthony Liguori <>

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

17759187 01/21/2009 08:12 pm aliguori

Introduce rules.mak (Avi Kivity)

Add a file for common makefile rules.

Signed-off-by: Avi Kivity <>
Signed-off-by: Anthony Liguori <>

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162