[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] (no subject)



===
Name: proper-depends.patch
Description: Use proper targets in makefiles
 A rule in make should produce only what it's target allows.  When it
 produces side-effects, things like ctrl-c and parallellism break it
 oddly.
DiffStat:
 xen/Makefile              |    9 +++++----
 xen/arch/x86/Makefile     |   14 ++++++++++----
 xen/common/Makefile       |    3 ++-
 xen/drivers/acpi/Makefile |    3 ++-
 xen/drivers/char/Makefile |    3 ++-
 xen/drivers/pci/Makefile  |    3 ++-
 6 files changed, 23 insertions(+), 12 deletions(-)
===
Description: Use proper targets in makefiles
 A rule in make should produce only what it's target allows.  When it
 produces side-effects, things like ctrl-c and parallellism break it
 oddly.

--- xen-2.0.3.orig/xen/arch/x86/Makefile
+++ xen-2.0.3/xen/arch/x86/Makefile
@@ -12,12 +12,18 @@

 OBJS := $(subst $(TARGET_SUBARCH)/asm-offsets.o,,$(OBJS))

-default: boot/$(TARGET_SUBARCH).o $(OBJS) boot/mkelf32
-       $(LD) $(LDFLAGS) -r -o arch.o $(OBJS)
-       $(LD) $(LDFLAGS) -T $(TARGET_SUBARCH)/xen.lds -N \
-           boot/$(TARGET_SUBARCH).o $(ALL_OBJS) -o $(TARGET)-syms
+default: $(TARGET)
+
+$(TARGET): $(TARGET)-syms boot/mkelf32
        ./boot/mkelf32 $(TARGET)-syms $(TARGET) 0x100000

+$(CURDIR)/arch.o: $(OBJS)
+       $(LD) $(LDFLAGS) -r -o $@ $(OBJS)
+
+$(TARGET)-syms: boot/$(TARGET_SUBARCH).o $(ALL_OBJS) $(TARGET_SUBARCH)/xen.lds
+       $(LD) $(LDFLAGS) -T $(TARGET_SUBARCH)/xen.lds -N \
+           boot/$(TARGET_SUBARCH).o $(ALL_OBJS) -o $@
+
 asm-offsets.s: $(TARGET_SUBARCH)/asm-offsets.c
        $(CC) $(CFLAGS) -S -o $@ $<

--- xen-2.0.3.orig/xen/common/Makefile
+++ xen-2.0.3/xen/common/Makefile
@@ -19,7 +19,8 @@
 OBJS := $(subst trace.o,,$(OBJS))
 endif

-default: $(OBJS)
+default: common.o
+common.o: $(OBJS)
        $(LD) $(LDFLAGS) -r -o common.o $(OBJS)

 clean:
--- xen-2.0.3.orig/xen/drivers/pci/Makefile
+++ xen-2.0.3/xen/drivers/pci/Makefile
@@ -28,7 +28,8 @@
 #obj-y += syscall.o
 #endif

-default: $(OBJS)
+default: driver.o
+driver.o: $(OBJS)
        $(LD) $(LDFLAGS) -r -o driver.o $(OBJS)

 clean:
--- xen-2.0.3.orig/xen/drivers/char/Makefile
+++ xen-2.0.3/xen/drivers/char/Makefile
@@ -1,7 +1,8 @@

 include $(BASEDIR)/Rules.mk

-default: $(OBJS)
+default: driver.o
+driver.o: $(OBJS)
        $(LD) $(LDFLAGS) -r -o driver.o $(OBJS)

 clean:
--- xen-2.0.3.orig/xen/drivers/acpi/Makefile
+++ xen-2.0.3/xen/drivers/acpi/Makefile
@@ -6,7 +6,8 @@

 OBJS := acpi_ksyms.o tables.o

-default: $(OBJS)
+default: driver.o
+driver.o: $(OBJS)
        $(LD) $(LDFLAGS) -r -o driver.o $(OBJS)

 clean:
--- xen-2.0.3.orig/xen/Makefile
+++ xen-2.0.3/xen/Makefile
@@ -9,14 +9,15 @@

 include Rules.mk

-default: $(TARGET)
-       gzip -f -9 < $(TARGET) > $(TARGET).gz
+default: $(TARGET).gz
+$(TARGET).gz: $(TARGET)
+       gzip -f -9 < $< > $@.new
+       mv $@.new $@

 debug:
        objdump -D -S $(TARGET)-syms > $(TARGET).s

-install: $(TARGET)
-       gzip -f -9 < $(TARGET) > $(TARGET).gz
+install: $(TARGET).gz
        mkdir -p $(prefix)/boot
        install -m0644 $(TARGET).gz $(prefix)/boot
        install -m0644 $(TARGET)-syms $(prefix)/boot




-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.