On Tue, 2007-10-23 at 00:57 -0500, Jerone Young wrote:
> This patch removes arch specific make rules for x86 & x86-64 out of the
> main Makefile. These rules are now moved into config-$(ARCH) and a new
> file config-x86-common has been created to consolidate common rules
> amongst x86 & x86-64.
> 
> v1 changes: 
>   *fix x86-64 building by removing redundant rules from 
>    config-x86-64.mak
> 
> Signed-off-by: Jerone Young <[EMAIL PROTECTED]>
> 
> diff --git a/user/Makefile b/user/Makefile
> --- a/user/Makefile
> +++ b/user/Makefile
> @@ -15,8 +15,7 @@ cc-option = $(shell if $(CC) $(1) -S -o 
>  cc-option = $(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null \
>                > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;)
> 
> -CFLAGS += -I $(KERNELDIR)/include $(autodepend-flags) -g 
> -fomit-frame-pointer \
> -     -Wall
> +CFLAGS += $(autodepend-flags) -g -fomit-frame-pointer -Wall 
>  CFLAGS += $(call cc-option, -fno-stack-protector, "")
>  CFLAGS += $(call cc-option, -fno-stack-protector-all, "")

You seem to be adding "-I $(KERNELDIR)/include" twice: once here, and
once in each config-*.mak file.

> @@ -25,21 +24,6 @@ CXXFLAGS = $(autodepend-flags)
>  CXXFLAGS = $(autodepend-flags) 
> 
>  autodepend-flags = -MMD -MF $(dir $*).$(notdir $*).d
> -
> -all: kvmctl libkvm.a flatfiles
> -
> -kvmctl: LDFLAGS += -pthread -lrt
> -
> -kvmctl: kvmctl.o main.o
> -
> -balloon_ctl: balloon_ctl.o
> -
> -libkvm.a: kvmctl.o
> -     $(AR) rcs $@ $^
> -
> -flatfiles-common = test/bootstrap test/vmexit.flat test/smp.flat
> -
> -flatfiles: $(flatfiles-common) $(flatfiles)
> 
>  install:
>       install -D kvmctl.h $(DESTDIR)/$(PREFIX)/include/kvmctl.h
> diff --git a/user/config-i386.mak b/user/config-i386.mak
> --- a/user/config-i386.mak
> +++ b/user/config-i386.mak
> @@ -3,5 +3,9 @@ bits = 32
>  bits = 32
>  ldarch = elf32-i386
>  CFLAGS += -m32
> +CFLAGS += -D__i386__
> +CFLAGS += -I $(KERNELDIR)/include
> 
>  flatfiles=
> +
> +include config-x86-common.mak
> diff --git a/user/config-x86-common.mak b/user/config-x86-common.mak
> new file mode 100644
> --- /dev/null
> +++ b/user/config-x86-common.mak
> @@ -0,0 +1,16 @@
> +#This is a make file with common rules for both x86 & x86-64
> +
> +all: kvmctl libkvm.a flatfiles
> +
> +kvmctl: LDFLAGS += -pthread -lrt
> +
> +kvmctl: kvmctl.o main.o
> +
> +libkvm.a: kvmctl.o
> +     $(AR) rcs $@ $^
> +
> +balloon_ctl: balloon_ctl.o
> +
> +flatfiles-common = test/bootstrap test/vmexit.flat test/smp.flat
> +
> +flatfiles: $(flatfiles-common) $(flatfiles)
> diff --git a/user/config-x86_64.mak b/user/config-x86_64.mak
> --- a/user/config-x86_64.mak
> +++ b/user/config-x86_64.mak
> @@ -3,5 +3,9 @@ bits = 64
>  bits = 64
>  ldarch = elf64-x86-64
>  CFLAGS += -m64
> +CFLAGS += -D__x86_64__
> +CFLAGS += -I $(KERNELDIR)/include
> 
>  flatfiles = test/access.flat test/irq.flat test/sieve.flat test/simple.flat 
> test/stringio.flat test/memtest1.flat
> +
> +include config-x86-common.mak

I think you're clobbering flatfiles in config-x86-common.mak .

Philosophically, I don't think that targets like "all" should be moved
into arch-specific makefiles. Also, the kvmctl and libkvm.a targets
should both be in the common Makefile.

-- 
Hollis Blanchard
IBM Linux Technology Center


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to