public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] [v1] consolidate i386 & x86-64 user dir make rules
@ 2007-10-23  5:57 Jerone Young
  2007-10-23 15:21 ` [kvm-ppc-devel] " Hollis Blanchard
  0 siblings, 1 reply; 8+ messages in thread
From: Jerone Young @ 2007-10-23  5:57 UTC (permalink / raw)
  To: kvm-devel; +Cc: kvm-ppc-devel

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 <jyoung5-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>

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, "")
 
@@ -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



-------------------------------------------------------------------------
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/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [kvm-ppc-devel] [PATCH 1/2] [v1] consolidate i386 & x86-64 user dir make rules
  2007-10-23  5:57 [PATCH 1/2] [v1] consolidate i386 & x86-64 user dir make rules Jerone Young
@ 2007-10-23 15:21 ` Hollis Blanchard
  2007-10-23 15:24   ` Hollis Blanchard
  2007-10-23 15:45   ` Jerone Young
  0 siblings, 2 replies; 8+ messages in thread
From: Hollis Blanchard @ 2007-10-23 15:21 UTC (permalink / raw)
  To: jyoung5-r/Jw6+rmf7HQT0dZR+AlfA; +Cc: kvm-devel, kvm-ppc-devel

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 <jyoung5-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
> 
> 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/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [kvm-ppc-devel] [PATCH 1/2] [v1] consolidate i386 & x86-64 user dir make rules
  2007-10-23 15:21 ` [kvm-ppc-devel] " Hollis Blanchard
@ 2007-10-23 15:24   ` Hollis Blanchard
  2007-10-23 15:35     ` Jerone Young
  2007-10-23 15:45   ` Jerone Young
  1 sibling, 1 reply; 8+ messages in thread
From: Hollis Blanchard @ 2007-10-23 15:24 UTC (permalink / raw)
  To: jyoung5-r/Jw6+rmf7HQT0dZR+AlfA; +Cc: kvm-devel, kvm-ppc-devel

On Tue, 2007-10-23 at 10:21 -0500, Hollis Blanchard wrote:
> 
> > -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.

My bad; I read the diff backwards. :)

Are you sure about that move though? Why doesn't every arch need that -I
switch?

-- 
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/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [kvm-ppc-devel] [PATCH 1/2] [v1] consolidate i386 & x86-64 user dir make rules
  2007-10-23 15:24   ` Hollis Blanchard
@ 2007-10-23 15:35     ` Jerone Young
  0 siblings, 0 replies; 8+ messages in thread
From: Jerone Young @ 2007-10-23 15:35 UTC (permalink / raw)
  To: Hollis Blanchard; +Cc: kvm-devel, kvm-ppc-devel


On Tue, 2007-10-23 at 10:24 -0500, Hollis Blanchard wrote:
> On Tue, 2007-10-23 at 10:21 -0500, Hollis Blanchard wrote:
> > 
> > > -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.
> 
> My bad; I read the diff backwards. :)
> 
> Are you sure about that move though? Why doesn't every arch need that -I
> switch?

Actually no. For our powerpc stuff having -I $(KERNELDIR)/include causes
hell with errno.h & it's definitions. Since we do not include any of the
kernel headers in our codes we don't need this, but x86 does as it
includes nice headears like "linux/paravirt.h".

Now including kernel headers is a totally different argument. But
basically from what I know is you should "never" do it. 

> 


-------------------------------------------------------------------------
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/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [kvm-ppc-devel] [PATCH 1/2] [v1] consolidate i386 & x86-64 user dir make rules
  2007-10-23 15:21 ` [kvm-ppc-devel] " Hollis Blanchard
  2007-10-23 15:24   ` Hollis Blanchard
@ 2007-10-23 15:45   ` Jerone Young
  2007-10-23 15:52     ` Hollis Blanchard
  1 sibling, 1 reply; 8+ messages in thread
From: Jerone Young @ 2007-10-23 15:45 UTC (permalink / raw)
  To: Hollis Blanchard; +Cc: kvm-devel, kvm-ppc-devel


On Tue, 2007-10-23 at 10:21 -0500, Hollis Blanchard wrote:
> 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 <jyoung5-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
> > 
> > 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 .

PATCH 2 moves all the rest of the flatfile rules to
config-x86-common.mak. So nothing gets clobbered.

> 
> 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.

So "all" is going to be different for everyone. Since all the test are
not common, and all will not use flat files.

Also kvmctl ad libkvm.a will be diffrenent for everyone. But this could
also be made into a variable. With new split code (soon to be coming to
a kvm-devel list near you). Here is an example of how it will look
later. The names may change but you get the idea.

Examples x86:
   kvmctl: kvmctl-x86.o kvmctl.o main-x86.o main.o

   libkvm.a: kvmctl.o kvmctl-x86.o

   This split may also grow more .. as maybe the apic stuff will get
moved to it's own file.


Example Powerpc:
   kvmctl: kvmctl-powerpc.o kvmctl.o main.o main-x86.o


Now one way could be is to create a variable in the arch specific
makefiles for kvmctl & libkvm . So that for x86  you woud have

KVMCTL= kvmctl-x86.o kvmctl.o main-x86.o main.o

Then in the main Makefile.

kvmctl: $(KVMCTL)

I personally think having the declaration in each arch makes things less
confusing.
 

 So for this patch it's mainly about keeping things working today, while
slowly splitting things apart. Future patches will change all of this.

  


> 


-------------------------------------------------------------------------
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/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [kvm-ppc-devel] [PATCH 1/2] [v1] consolidate i386 & x86-64 user dir make rules
  2007-10-23 15:45   ` Jerone Young
@ 2007-10-23 15:52     ` Hollis Blanchard
  2007-10-23 16:06       ` Jerone Young
  0 siblings, 1 reply; 8+ messages in thread
From: Hollis Blanchard @ 2007-10-23 15:52 UTC (permalink / raw)
  To: jyoung5-r/Jw6+rmf7HQT0dZR+AlfA; +Cc: kvm-devel, kvm-ppc-devel

On Tue, 2007-10-23 at 10:45 -0500, Jerone Young wrote:
> On Tue, 2007-10-23 at 10:21 -0500, Hollis Blanchard wrote:
> > > 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 .
> 
> PATCH 2 moves all the rest of the flatfile rules to
> config-x86-common.mak. So nothing gets clobbered.

But THIS patch clobbers it.

> > 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.
> 
> So "all" is going to be different for everyone. Since all the test are
> not common, and all will not use flat files.
> 
> Also kvmctl ad libkvm.a will be diffrenent for everyone. But this could
> also be made into a variable. With new split code (soon to be coming to
> a kvm-devel list near you). Here is an example of how it will look
> later. The names may change but you get the idea.
> 
> Examples x86:
>    kvmctl: kvmctl-x86.o kvmctl.o main-x86.o main.o
> 
>    libkvm.a: kvmctl.o kvmctl-x86.o
> 
>    This split may also grow more .. as maybe the apic stuff will get
> moved to it's own file.
> 
> 
> Example Powerpc:
>    kvmctl: kvmctl-powerpc.o kvmctl.o main.o main-x86.o
> 
> 
> Now one way could be is to create a variable in the arch specific
> makefiles for kvmctl & libkvm . So that for x86  you woud have
> 
> KVMCTL= kvmctl-x86.o kvmctl.o main-x86.o main.o
> 
> Then in the main Makefile.
> 
> kvmctl: $(KVMCTL)

Exactly: that way we can ensure that every arch builds a common set of
targets.

> I personally think having the declaration in each arch makes things less
> confusing.

I can't tell if you're agreeing or if you forgot a negative. I agree
that each arch should define e.g. "kvmctl_objs".

-- 
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/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [kvm-ppc-devel] [PATCH 1/2] [v1] consolidate i386 & x86-64 user dir make rules
  2007-10-23 15:52     ` Hollis Blanchard
@ 2007-10-23 16:06       ` Jerone Young
  2007-10-23 18:10         ` Hollis Blanchard
  0 siblings, 1 reply; 8+ messages in thread
From: Jerone Young @ 2007-10-23 16:06 UTC (permalink / raw)
  To: Hollis Blanchard; +Cc: kvm-devel, kvm-ppc-devel


On Tue, 2007-10-23 at 10:52 -0500, Hollis Blanchard wrote:
> On Tue, 2007-10-23 at 10:45 -0500, Jerone Young wrote:
> > On Tue, 2007-10-23 at 10:21 -0500, Hollis Blanchard wrote:
> > > > 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 .
> > 
> > PATCH 2 moves all the rest of the flatfile rules to
> > config-x86-common.mak. So nothing gets clobbered.
> 
> But THIS patch clobbers it.

Oh, It does not clobber flatfiles. It uses it. So in
config-x86-common.mak there is a rule

flatfiles: $(flatfiles-common) $(flatfiles)

Acutally I thought the same too. But this is actually in the original
makefile. It doesn't clobber it apparently. But for saftey I'll change
the name of this rule as it shouldn't be the same name as variable.



> 
> > > 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.
> > 
> > So "all" is going to be different for everyone. Since all the test are
> > not common, and all will not use flat files.
> > 
> > Also kvmctl ad libkvm.a will be diffrenent for everyone. But this could
> > also be made into a variable. With new split code (soon to be coming to
> > a kvm-devel list near you). Here is an example of how it will look
> > later. The names may change but you get the idea.
> > 
> > Examples x86:
> >    kvmctl: kvmctl-x86.o kvmctl.o main-x86.o main.o
> > 
> >    libkvm.a: kvmctl.o kvmctl-x86.o
> > 
> >    This split may also grow more .. as maybe the apic stuff will get
> > moved to it's own file.
> > 
> > 
> > Example Powerpc:
> >    kvmctl: kvmctl-powerpc.o kvmctl.o main.o main-x86.o
> > 
> > 
> > Now one way could be is to create a variable in the arch specific
> > makefiles for kvmctl & libkvm . So that for x86  you woud have
> > 
> > KVMCTL= kvmctl-x86.o kvmctl.o main-x86.o main.o
> > 
> > Then in the main Makefile.
> > 
> > kvmctl: $(KVMCTL)
> 
> Exactly: that way we can ensure that every arch builds a common set of
> targets.
> 
> > I personally think having the declaration in each arch makes things less
> > confusing.
> 
> I can't tell if you're agreeing or if you forgot a negative. I agree
> that each arch should define e.g. "kvmctl_objs".

Well I guess I'm doing both :-). Either way will work. Having a variable
"kvmctl_objs" may be a better way. I'll redo and send again.

> 


-------------------------------------------------------------------------
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/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [kvm-ppc-devel] [PATCH 1/2] [v1] consolidate i386 & x86-64 user dir make rules
  2007-10-23 16:06       ` Jerone Young
@ 2007-10-23 18:10         ` Hollis Blanchard
  0 siblings, 0 replies; 8+ messages in thread
From: Hollis Blanchard @ 2007-10-23 18:10 UTC (permalink / raw)
  To: jyoung5-r/Jw6+rmf7HQT0dZR+AlfA; +Cc: kvm-devel, kvm-ppc-devel

On Tue, 2007-10-23 at 11:06 -0500, Jerone Young wrote:
> 
> > > PATCH 2 moves all the rest of the flatfile rules to
> > > config-x86-common.mak. So nothing gets clobbered.
> > 
> > But THIS patch clobbers it.
> 
> Oh, It does not clobber flatfiles. It uses it. So in
> config-x86-common.mak there is a rule
> 
> flatfiles: $(flatfiles-common) $(flatfiles)
> 
> Acutally I thought the same too. But this is actually in the original
> makefile. It doesn't clobber it apparently. But for saftey I'll change
> the name of this rule as it shouldn't be the same name as variable.

My mistake again. However, it's a little confusing that there is a
variable *and* a target named "flatfiles"...

-- 
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/

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2007-10-23 18:10 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-23  5:57 [PATCH 1/2] [v1] consolidate i386 & x86-64 user dir make rules Jerone Young
2007-10-23 15:21 ` [kvm-ppc-devel] " Hollis Blanchard
2007-10-23 15:24   ` Hollis Blanchard
2007-10-23 15:35     ` Jerone Young
2007-10-23 15:45   ` Jerone Young
2007-10-23 15:52     ` Hollis Blanchard
2007-10-23 16:06       ` Jerone Young
2007-10-23 18:10         ` Hollis Blanchard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox