diff --git a/docs/support-matrix-generate b/docs/support-matrix-generate index a3d93321f1..8a27849cf6 100755 --- a/docs/support-matrix-generate +++ b/docs/support-matrix-generate @@ -27,8 +27,8 @@ # # Then we try to find the next previous revision. This is done by # extracting the current version number from xen/Makefile. (We make -# some slight assumption about how xen/Makefile's xenversion target -# works, because we want to be able to do this without checking out +# some slight assumption about how xen/Makefile's variables are +# written, because we want to be able to do this without checking out # the whole tree for the version in question.) Then we use git log on # xen/Makefile to try to find a commit where the version changed. # This gives us the previous version number, NN. @@ -102,12 +102,16 @@ commitish_version () { esac git cat-file blob "$commitish:$versionfile" >"$tmp_versionfile" - version=$(make --no-print-directory -C docs \ - -f "${tmp_versionfile#docs/}" xenversion) - case "$version" in - *.*.*) version="${version%.*}" ;; - esac - printf "%s\n" "${version%%-*}" + + local maj=$(sed -n 's/.*XEN_VERSION.*= \([0-9]\+\)/\1/p' < "$tmp_versionfile") + local min=$(sed -n 's/.*XEN_SUBVERSION.*= \([0-9]\+\)/\1/p' < "$tmp_versionfile") + + if [ -z $maj ] || [ -z $min ]; + then + fail "Unable to identify Xen version for $commitish"; + fi + + printf "%d.%d\n" "$maj" "$min" } exec 4>"$tmp_revisions" diff --git a/xen/Rules.mk b/xen/Rules.mk index 2e28c57230..ebfd40caff 100644 --- a/xen/Rules.mk +++ b/xen/Rules.mk @@ -201,13 +201,13 @@ $(filter %.init.o,$(obj-y) $(obj-bin-y) $(extra-y)): %.init.o: %.o FORCE $(call if_changed,obj_init_o) quiet_cmd_cpp_i_c = CPP $@ -cmd_cpp_i_c = $(CPP) $(filter-out -Wa$(comma)%,$(c_flags)) $< -o $@ +cmd_cpp_i_c = $(CPP) $(filter-out -Wa$(comma)%,$(c_flags)) -MQ $@ -o $@ $< quiet_cmd_cc_s_c = CC $@ cmd_cc_s_c = $(CC) $(filter-out -Wa$(comma)%,$(c_flags)) -S $< -o $@ quiet_cmd_s_S = CPP $@ -cmd_s_S = $(CPP) $(filter-out -Wa$(comma)%,$(a_flags)) $< -o $@ +cmd_s_S = $(CPP) $(filter-out -Wa$(comma)%,$(a_flags)) -MQ $@ -o $@ $< %.i: %.c FORCE $(call if_changed,cpp_i_c) diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile index c1a1b5e803..7e82b2178c 100644 --- a/xen/arch/arm/Makefile +++ b/xen/arch/arm/Makefile @@ -123,9 +123,7 @@ asm-offsets.s: $(TARGET_SUBARCH)/asm-offsets.c $(CC) $(filter-out -flto,$(c_flags)) -S -o $@ $< xen.lds: xen.lds.S - $(CC) -P -E -Ui386 $(a_flags) -o $@ $< - sed -e 's/xen\.lds\.o:/xen\.lds:/g' <.xen.lds.d >.xen.lds.d.new - mv -f .xen.lds.d.new .xen.lds.d + $(CPP) -P $(a_flags) -MQ $@ -o $@ $< dtb.o: $(CONFIG_DTB_FILE) diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile index 07eeefbf82..b388861679 100644 --- a/xen/arch/x86/Makefile +++ b/xen/arch/x86/Makefile @@ -244,9 +244,7 @@ $(BASEDIR)/include/asm-x86/asm-macros.h: asm-macros.i Makefile efi.lds: AFLAGS-y += -DEFI xen.lds efi.lds: xen.lds.S - $(CC) -P -E -Ui386 $(filter-out -Wa$(comma)%,$(a_flags)) -o $@ $< - sed -e 's/.*\.lds\.o:/$(@F):/g' <.$(@F).d >.$(@F).d.new - mv -f .$(@F).d.new .$(@F).d + $(CPP) -P $(filter-out -Wa$(comma)%,$(a_flags)) -MQ $@ -o $@ $< boot/mkelf32: boot/mkelf32.c $(HOSTCC) $(HOSTCFLAGS) -o $@ $<