[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 3/3] x86/build: Clean up boot/Makefile
There are no .S intermediate files, so rework in terms of head-bin-objs. No functional change. Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> --- CC: Jan Beulich <JBeulich@xxxxxxxx> CC: Roger Pau Monné <roger.pau@xxxxxxxxxx> CC: Wei Liu <wl@xxxxxxx> CC: Anthony PERARD <anthony.perard@xxxxxxxxxx> I'm slightly -1 on this, because head-bin-objs := $(addprefix $(obj)/,$(head-bin-objs)) is substantial obfuscation which I'd prefer to bin. Anthony: Why does dropping the targets += line interfere with incremental builds? With it gone, *.bin are regenerated unconditionally, but I can't see what would cause that, nor why the normal dependencies on head.o don't work. --- xen/arch/x86/boot/Makefile | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile index 294ac2418583..527f3e393037 100644 --- a/xen/arch/x86/boot/Makefile +++ b/xen/arch/x86/boot/Makefile @@ -1,16 +1,17 @@ obj-bin-y += head.o -head-srcs := cmdline.S reloc.S -nocov-y += $(head-srcs:.S=.o) -noubsan-y += $(head-srcs:.S=.o) -targets += $(head-srcs:.S=.o) +head-bin-objs := cmdline.o reloc.o -head-srcs := $(addprefix $(obj)/, $(head-srcs)) +nocov-y += $(head-bin-objs) +noubsan-y += $(head-bin-objs) +targets += $(head-bin-objs) + +head-bin-objs := $(addprefix $(obj)/,$(head-bin-objs)) # For .incbin - add $(obj) to the include path and add the dependencies # manually as they're not included in .d $(obj)/head.o: AFLAGS-y += -Wa$(comma)-I$(obj) -$(obj)/head.o: $(head-srcs:.S=.bin) +$(obj)/head.o: $(head-bin-objs:.o=.bin) CFLAGS_x86_32 := $(subst -m64,-m32 -march=i686,$(XEN_TREEWIDE_CFLAGS)) $(call cc-options-add,CFLAGS_x86_32,CC,$(EMBEDDED_EXTRA_CFLAGS)) @@ -18,8 +19,8 @@ CFLAGS_x86_32 += -Werror -fno-builtin -g0 -msoft-float CFLAGS_x86_32 += -I$(srctree)/include # override for 32bit binaries -$(head-srcs:.S=.o): CFLAGS_stack_boundary := -$(head-srcs:.S=.o): XEN_CFLAGS := $(CFLAGS_x86_32) -fpic +$(head-bin-objs): CFLAGS_stack_boundary := +$(head-bin-objs): XEN_CFLAGS := $(CFLAGS_x86_32) -fpic %.bin: %.lnk $(OBJCOPY) -j .text -O binary $< $@ @@ -27,4 +28,4 @@ $(head-srcs:.S=.o): XEN_CFLAGS := $(CFLAGS_x86_32) -fpic %.lnk: %.o $(src)/build32.lds $(LD) $(subst x86_64,i386,$(LDFLAGS_DIRECT)) -N -T $(filter %.lds,$^) -o $@ $< -clean-files := cmdline.S reloc.S *.lnk *.bin +clean-files := *.lnk *.bin -- 2.11.0
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |