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