When a rule isn't a pattern rule, and thus don't have a %, the value of the automatic variable stem $* depends on .SUFFIXES. GNU make manual explain that it is better to avoid this "bizarre" behavior which exist for compatibility.
Use $(basename ) instead. So we can one day avoid make's build-in rules and variables. Signed-off-by: Anthony PERARD <[email protected]> --- tools/include/xen-foreign/Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/include/xen-foreign/Makefile b/tools/include/xen-foreign/Makefile index e395011fdd..6ce51daf5e 100644 --- a/tools/include/xen-foreign/Makefile +++ b/tools/include/xen-foreign/Makefile @@ -25,28 +25,28 @@ check-headers: checker rm tmp.size arm32.h: mkheader.py structs.py $(ROOT)/arch-arm.h $(ROOT)/xen.h - $(PYTHON) $< $* [email protected] $(filter %.h,$^) + $(PYTHON) $< $(basename $@) [email protected] $(filter %.h,$^) #Avoid mixing an alignment directive with a uint64_t cast or sizeof expression sed 's/(__align8__ \(uint64_t\))/(\1)/g' < [email protected] > [email protected] rm [email protected] $(call move-if-changed,[email protected],$@) arm64.h: mkheader.py structs.py $(ROOT)/arch-arm.h $(ROOT)/xen.h - $(PYTHON) $< $* [email protected] $(filter %.h,$^) + $(PYTHON) $< $(basename $@) [email protected] $(filter %.h,$^) #Avoid mixing an alignment directive with a uint64_t cast or sizeof expression sed 's/(__align8__ \(uint64_t\))/(\1)/g' < [email protected] > [email protected] rm [email protected] $(call move-if-changed,[email protected],$@) x86_32.h: mkheader.py structs.py $(ROOT)/arch-x86/xen-x86_32.h $(ROOT)/arch-x86/xen.h $(ROOT)/xen.h - $(PYTHON) $< $* [email protected] $(filter %.h,$^) + $(PYTHON) $< $(basename $@) [email protected] $(filter %.h,$^) #Avoid mixing an alignment directive with a uint64_t cast or sizeof expression sed 's/(__align8__ \(uint64_t\))/(\1)/g' < [email protected] > [email protected] rm [email protected] $(call move-if-changed,[email protected],$@) x86_64.h: mkheader.py structs.py $(ROOT)/arch-x86/xen-x86_64.h $(ROOT)/arch-x86/xen.h $(ROOT)/xen.h - $(PYTHON) $< $* [email protected] $(filter %.h,$^) + $(PYTHON) $< $(basename $@) [email protected] $(filter %.h,$^) #Avoid mixing an alignment directive with a uint64_t cast or sizeof expression sed 's/(__align8__ \(uint64_t\))/(\1)/g' < [email protected] > [email protected] rm [email protected] -- Anthony PERARD
