Rebuild cmdline.o when the user changes the CMDLINE=X argument passed to
the make invocation. I couldn't find an example of another project that
handles this case properly, so I came up with this.
Signed-off-by: Amos Waterland <apw@xxxxxxxxxx>
---
.hgignore | 1 +
xen/arch/powerpc/Makefile | 16 +++++++++++++++-
2 files changed, 16 insertions(+), 1 deletion(-)
diff -r 1b759b2522cd .hgignore
--- a/.hgignore Wed Oct 04 17:27:16 2006 -0500
+++ b/.hgignore Wed Oct 04 20:26:04 2006 -0400
@@ -207,6 +207,7 @@
^xen/arch/powerpc/xen\.lds$
^xen/arch/powerpc/.xen-syms$
^xen/arch/powerpc/xen-syms.S$
+^xen/arch/powerpc/cmdline.dep$
^unmodified_drivers/linux-2.6/\.tmp_versions
^unmodified_drivers/linux-2.6/.*\.cmd$
^unmodified_drivers/linux-2.6/.*\.ko$
diff -r 1b759b2522cd xen/arch/powerpc/Makefile
--- a/xen/arch/powerpc/Makefile Wed Oct 04 17:27:16 2006 -0500
+++ b/xen/arch/powerpc/Makefile Wed Oct 04 20:26:24 2006 -0400
@@ -80,6 +80,20 @@ ifneq ($(CMDLINE),)
# The first token in the arguments will be silently dropped.
FULL_CMDLINE := xen $(CMDLINE)
endif
+
+ifeq ($(wildcard cmdline.dep),)
+cmdline.dep:
+ echo $(FULL_CMDLINE) > cmdline.dep
+else
+ifneq ($(FULL_CMDLINE),$(shell cat cmdline.dep))
+cmdline.dep::
+ echo $(FULL_CMDLINE) > cmdline.dep
+else
+cmdline.dep:
+endif
+endif
+
+cmdline.o: cmdline.dep
cmdline.o: CFLAGS += -DCMDLINE="\"$(FULL_CMDLINE)\""
TARGET_OPTS = $(OMAGIC) -Wl,-Ttext,0x400000,-T,xen.lds
@@ -122,4 +136,4 @@ dom0.bin: $(DOM0_IMAGE)
clean::
$(MAKE) -f $(BASEDIR)/Rules.mk -C of_handler clean
- rm -f firmware firmware_image.bin dom0.bin .xen-syms
+ rm -f firmware firmware_image.bin dom0.bin .xen-syms cmdline.dep
_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ppc-devel
|