Message ID | 20240806084409.169039-2-frankja@linux.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | s390x: split off snippet and sie related code | expand |
On Tue, 6 Aug 2024 08:42:27 +0000 Janosch Frank <frankja@linux.ibm.com> wrote: > It's time to move the snippet related Makefile parts into a new file > to make s390x/Makefile less busy. > > Signed-off-by: Janosch Frank <frankja@linux.ibm.com> Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com> > --- > s390x/Makefile | 38 ++++---------------------------------- > s390x/snippets/Makefile | 34 ++++++++++++++++++++++++++++++++++ > 2 files changed, 38 insertions(+), 34 deletions(-) > create mode 100644 s390x/snippets/Makefile > > diff --git a/s390x/Makefile b/s390x/Makefile > index 784818b2..aa55b470 100644 > --- a/s390x/Makefile > +++ b/s390x/Makefile > @@ -119,9 +119,11 @@ asmlib = $(TEST_DIR)/cstart64.o $(TEST_DIR)/cpu.o > > FLATLIBS = $(libcflat) > > +# Snippets > SNIPPET_DIR = $(TEST_DIR)/snippets > snippet_asmlib = $(SNIPPET_DIR)/c/cstart.o > snippet_lib = $(snippet_asmlib) lib/auxinfo.o > +include $(SNIPPET_DIR)/Makefile > > # perquisites (=guests) for the snippet hosts. > # $(TEST_DIR)/<snippet-host>.elf: snippets = $(SNIPPET_DIR)/<c/asm>/<snippet>.gbin > @@ -146,38 +148,6 @@ else > snippet-hdr-obj = > endif > > -# the asm/c snippets %.o have additional generated files as dependencies > -$(SNIPPET_DIR)/asm/%.o: $(SNIPPET_DIR)/asm/%.S $(asm-offsets) > - $(CC) $(CFLAGS) -c -nostdlib -o $@ $< > - > -$(SNIPPET_DIR)/c/%.o: $(SNIPPET_DIR)/c/%.c $(asm-offsets) > - $(CC) $(CFLAGS) -c -nostdlib -o $@ $< > - > -$(SNIPPET_DIR)/asm/%.elf: $(SNIPPET_DIR)/asm/%.o $(SNIPPET_DIR)/asm/flat.lds > - $(CC) $(LDFLAGS) -o $@ -T $(SNIPPET_DIR)/asm/flat.lds $< > - > -$(SNIPPET_DIR)/asm/%.gbin: $(SNIPPET_DIR)/asm/%.elf > - $(OBJCOPY) -O binary -j ".rodata" -j ".lowcore" -j ".text" -j ".data" -j ".bss" --set-section-flags .bss=alloc,load,contents $< $@ > - truncate -s '%4096' $@ > - > -$(SNIPPET_DIR)/c/%.elf: $(SNIPPET_DIR)/c/%.o $(snippet_lib) $(FLATLIBS) $(SNIPPET_DIR)/c/flat.lds > - $(CC) $(LDFLAGS) -o $@ -T $(SNIPPET_DIR)/c/flat.lds $< $(snippet_lib) $(FLATLIBS) > - > -$(SNIPPET_DIR)/c/%.gbin: $(SNIPPET_DIR)/c/%.elf > - $(OBJCOPY) -O binary -j ".rodata" -j ".lowcore" -j ".text" -j ".data" -j ".bss" --set-section-flags .bss=alloc,load,contents $< $@ > - truncate -s '%4096' $@ > - > -%.hdr: %.gbin $(HOST_KEY_DOCUMENT) > - $(GEN_SE_HEADER) -k $(HOST_KEY_DOCUMENT) -c $<,0x0,0x00000000000000420000000000000000 --psw-addr 0x4000 -o $@ > - > -.SECONDARY: > -%.gobj: %.gbin > - $(OBJCOPY) -I binary -O elf64-s390 -B "s390:64-bit" $< $@ > - > -.SECONDARY: > -%.hdr.obj: %.hdr > - $(OBJCOPY) -I binary -O elf64-s390 -B "s390:64-bit" $< $@ > - > lds-autodepend-flags = -MMD -MF $(dir $*).$(notdir $*).d -MT $@ > %.lds: %.lds.S $(asm-offsets) > $(CPP) $(lds-autodepend-flags) $(CPPFLAGS) -P -C -o $@ $< > @@ -231,8 +201,8 @@ $(snippet_asmlib): $$(patsubst %.o,%.S,$$@) $(asm-offsets) > $(CC) $(CFLAGS) -c -nostdlib -o $@ $< > > > -arch_clean: asm_offsets_clean > - $(RM) $(TEST_DIR)/*.{o,elf,bin,lds} $(SNIPPET_DIR)/*/*.{o,elf,*bin,*obj,hdr,lds} $(SNIPPET_DIR)/asm/.*.d $(TEST_DIR)/.*.d lib/s390x/.*.d $(comm-key) > +arch_clean: asm_offsets_clean snippet_clean > + $(RM) $(TEST_DIR)/*.{o,elf,bin,lds} $(TEST_DIR)/.*.d lib/s390x/.*.d $(comm-key) > > generated-files = $(asm-offsets) > $(tests:.elf=.o) $(asmlib) $(cflatobjs): $(generated-files) > diff --git a/s390x/snippets/Makefile b/s390x/snippets/Makefile > new file mode 100644 > index 00000000..8d79165e > --- /dev/null > +++ b/s390x/snippets/Makefile > @@ -0,0 +1,34 @@ > +# the asm/c snippets %.o have additional generated files as dependencies > +$(SNIPPET_DIR)/asm/%.o: $(SNIPPET_DIR)/asm/%.S $(asm-offsets) > + $(CC) $(CFLAGS) -c -nostdlib -o $@ $< > + > +$(SNIPPET_DIR)/c/%.o: $(SNIPPET_DIR)/c/%.c $(asm-offsets) > + $(CC) $(CFLAGS) -c -nostdlib -o $@ $< > + > +$(SNIPPET_DIR)/asm/%.elf: $(SNIPPET_DIR)/asm/%.o $(SNIPPET_DIR)/asm/flat.lds > + $(CC) $(LDFLAGS) -o $@ -T $(SNIPPET_DIR)/asm/flat.lds $< > + > +$(SNIPPET_DIR)/asm/%.gbin: $(SNIPPET_DIR)/asm/%.elf > + $(OBJCOPY) -O binary -j ".rodata" -j ".lowcore" -j ".text" -j ".data" -j ".bss" --set-section-flags .bss=alloc,load,contents $< $@ > + truncate -s '%4096' $@ > + > +$(SNIPPET_DIR)/c/%.elf: $(SNIPPET_DIR)/c/%.o $(snippet_lib) $(FLATLIBS) $(SNIPPET_DIR)/c/flat.lds > + $(CC) $(LDFLAGS) -o $@ -T $(SNIPPET_DIR)/c/flat.lds $< $(snippet_lib) $(FLATLIBS) > + > +$(SNIPPET_DIR)/c/%.gbin: $(SNIPPET_DIR)/c/%.elf > + $(OBJCOPY) -O binary -j ".rodata" -j ".lowcore" -j ".text" -j ".data" -j ".bss" --set-section-flags .bss=alloc,load,contents $< $@ > + truncate -s '%4096' $@ > + > +%.hdr: %.gbin $(HOST_KEY_DOCUMENT) > + $(GEN_SE_HEADER) -k $(HOST_KEY_DOCUMENT) -c $<,0x0,0x00000000000000420000000000000000 --psw-addr 0x4000 -o $@ > + > +.SECONDARY: > +%.gobj: %.gbin > + $(OBJCOPY) -I binary -O elf64-s390 -B "s390:64-bit" $< $@ > + > +.SECONDARY: > +%.hdr.obj: %.hdr > + $(OBJCOPY) -I binary -O elf64-s390 -B "s390:64-bit" $< $@ > + > +snippet_clean: > + $(RM) $(SNIPPET_DIR)/*/*.{o,elf,*bin,*obj,hdr,lds} $(SNIPPET_DIR)/asm/.*.d
On Tue, 6 Aug 2024 08:42:27 +0000 Janosch Frank <frankja@linux.ibm.com> wrote: > It's time to move the snippet related Makefile parts into a new file > to make s390x/Makefile less busy. > > Signed-off-by: Janosch Frank <frankja@linux.ibm.com> Reviewed-by: Christoph Schlameuss <schlameuss@linux.ibm.com> > --- > s390x/Makefile | 38 ++++---------------------------------- > s390x/snippets/Makefile | 34 ++++++++++++++++++++++++++++++++++ > 2 files changed, 38 insertions(+), 34 deletions(-) > create mode 100644 s390x/snippets/Makefile > > diff --git a/s390x/Makefile b/s390x/Makefile > index 784818b2..aa55b470 100644 > --- a/s390x/Makefile > +++ b/s390x/Makefile > @@ -119,9 +119,11 @@ asmlib = $(TEST_DIR)/cstart64.o $(TEST_DIR)/cpu.o > > FLATLIBS = $(libcflat) > > +# Snippets > SNIPPET_DIR = $(TEST_DIR)/snippets > snippet_asmlib = $(SNIPPET_DIR)/c/cstart.o > snippet_lib = $(snippet_asmlib) lib/auxinfo.o > +include $(SNIPPET_DIR)/Makefile > > # perquisites (=guests) for the snippet hosts. > # $(TEST_DIR)/<snippet-host>.elf: snippets = $(SNIPPET_DIR)/<c/asm>/<snippet>.gbin > @@ -146,38 +148,6 @@ else > snippet-hdr-obj = > endif > > -# the asm/c snippets %.o have additional generated files as dependencies > -$(SNIPPET_DIR)/asm/%.o: $(SNIPPET_DIR)/asm/%.S $(asm-offsets) > - $(CC) $(CFLAGS) -c -nostdlib -o $@ $< > - > -$(SNIPPET_DIR)/c/%.o: $(SNIPPET_DIR)/c/%.c $(asm-offsets) > - $(CC) $(CFLAGS) -c -nostdlib -o $@ $< > - > -$(SNIPPET_DIR)/asm/%.elf: $(SNIPPET_DIR)/asm/%.o $(SNIPPET_DIR)/asm/flat.lds > - $(CC) $(LDFLAGS) -o $@ -T $(SNIPPET_DIR)/asm/flat.lds $< > - > -$(SNIPPET_DIR)/asm/%.gbin: $(SNIPPET_DIR)/asm/%.elf > - $(OBJCOPY) -O binary -j ".rodata" -j ".lowcore" -j ".text" -j ".data" -j ".bss" --set-section-flags .bss=alloc,load,contents $< $@ > - truncate -s '%4096' $@ > - > -$(SNIPPET_DIR)/c/%.elf: $(SNIPPET_DIR)/c/%.o $(snippet_lib) $(FLATLIBS) $(SNIPPET_DIR)/c/flat.lds > - $(CC) $(LDFLAGS) -o $@ -T $(SNIPPET_DIR)/c/flat.lds $< $(snippet_lib) $(FLATLIBS) > - > -$(SNIPPET_DIR)/c/%.gbin: $(SNIPPET_DIR)/c/%.elf > - $(OBJCOPY) -O binary -j ".rodata" -j ".lowcore" -j ".text" -j ".data" -j ".bss" --set-section-flags .bss=alloc,load,contents $< $@ > - truncate -s '%4096' $@ > - > -%.hdr: %.gbin $(HOST_KEY_DOCUMENT) > - $(GEN_SE_HEADER) -k $(HOST_KEY_DOCUMENT) -c $<,0x0,0x00000000000000420000000000000000 --psw-addr 0x4000 -o $@ > - > -.SECONDARY: > -%.gobj: %.gbin > - $(OBJCOPY) -I binary -O elf64-s390 -B "s390:64-bit" $< $@ > - > -.SECONDARY: > -%.hdr.obj: %.hdr > - $(OBJCOPY) -I binary -O elf64-s390 -B "s390:64-bit" $< $@ > - > lds-autodepend-flags = -MMD -MF $(dir $*).$(notdir $*).d -MT $@ > %.lds: %.lds.S $(asm-offsets) > $(CPP) $(lds-autodepend-flags) $(CPPFLAGS) -P -C -o $@ $< > @@ -231,8 +201,8 @@ $(snippet_asmlib): $$(patsubst %.o,%.S,$$@) $(asm-offsets) > $(CC) $(CFLAGS) -c -nostdlib -o $@ $< > > > -arch_clean: asm_offsets_clean > - $(RM) $(TEST_DIR)/*.{o,elf,bin,lds} $(SNIPPET_DIR)/*/*.{o,elf,*bin,*obj,hdr,lds} $(SNIPPET_DIR)/asm/.*.d $(TEST_DIR)/.*.d lib/s390x/.*.d $(comm-key) > +arch_clean: asm_offsets_clean snippet_clean > + $(RM) $(TEST_DIR)/*.{o,elf,bin,lds} $(TEST_DIR)/.*.d lib/s390x/.*.d $(comm-key) > > generated-files = $(asm-offsets) > $(tests:.elf=.o) $(asmlib) $(cflatobjs): $(generated-files) > diff --git a/s390x/snippets/Makefile b/s390x/snippets/Makefile > new file mode 100644 > index 00000000..8d79165e > --- /dev/null > +++ b/s390x/snippets/Makefile > @@ -0,0 +1,34 @@ > +# the asm/c snippets %.o have additional generated files as dependencies > +$(SNIPPET_DIR)/asm/%.o: $(SNIPPET_DIR)/asm/%.S $(asm-offsets) > + $(CC) $(CFLAGS) -c -nostdlib -o $@ $< > + > +$(SNIPPET_DIR)/c/%.o: $(SNIPPET_DIR)/c/%.c $(asm-offsets) > + $(CC) $(CFLAGS) -c -nostdlib -o $@ $< > + > +$(SNIPPET_DIR)/asm/%.elf: $(SNIPPET_DIR)/asm/%.o $(SNIPPET_DIR)/asm/flat.lds > + $(CC) $(LDFLAGS) -o $@ -T $(SNIPPET_DIR)/asm/flat.lds $< > + > +$(SNIPPET_DIR)/asm/%.gbin: $(SNIPPET_DIR)/asm/%.elf > + $(OBJCOPY) -O binary -j ".rodata" -j ".lowcore" -j ".text" -j ".data" -j ".bss" --set-section-flags .bss=alloc,load,contents $< $@ > + truncate -s '%4096' $@ > + > +$(SNIPPET_DIR)/c/%.elf: $(SNIPPET_DIR)/c/%.o $(snippet_lib) $(FLATLIBS) $(SNIPPET_DIR)/c/flat.lds > + $(CC) $(LDFLAGS) -o $@ -T $(SNIPPET_DIR)/c/flat.lds $< $(snippet_lib) $(FLATLIBS) > + > +$(SNIPPET_DIR)/c/%.gbin: $(SNIPPET_DIR)/c/%.elf > + $(OBJCOPY) -O binary -j ".rodata" -j ".lowcore" -j ".text" -j ".data" -j ".bss" --set-section-flags .bss=alloc,load,contents $< $@ > + truncate -s '%4096' $@ > + > +%.hdr: %.gbin $(HOST_KEY_DOCUMENT) > + $(GEN_SE_HEADER) -k $(HOST_KEY_DOCUMENT) -c $<,0x0,0x00000000000000420000000000000000 --psw-addr 0x4000 -o $@ > + > +.SECONDARY: > +%.gobj: %.gbin > + $(OBJCOPY) -I binary -O elf64-s390 -B "s390:64-bit" $< $@ > + > +.SECONDARY: > +%.hdr.obj: %.hdr > + $(OBJCOPY) -I binary -O elf64-s390 -B "s390:64-bit" $< $@ > + > +snippet_clean: > + $(RM) $(SNIPPET_DIR)/*/*.{o,elf,*bin,*obj,hdr,lds} $(SNIPPET_DIR)/asm/.*.d
diff --git a/s390x/Makefile b/s390x/Makefile index 784818b2..aa55b470 100644 --- a/s390x/Makefile +++ b/s390x/Makefile @@ -119,9 +119,11 @@ asmlib = $(TEST_DIR)/cstart64.o $(TEST_DIR)/cpu.o FLATLIBS = $(libcflat) +# Snippets SNIPPET_DIR = $(TEST_DIR)/snippets snippet_asmlib = $(SNIPPET_DIR)/c/cstart.o snippet_lib = $(snippet_asmlib) lib/auxinfo.o +include $(SNIPPET_DIR)/Makefile # perquisites (=guests) for the snippet hosts. # $(TEST_DIR)/<snippet-host>.elf: snippets = $(SNIPPET_DIR)/<c/asm>/<snippet>.gbin @@ -146,38 +148,6 @@ else snippet-hdr-obj = endif -# the asm/c snippets %.o have additional generated files as dependencies -$(SNIPPET_DIR)/asm/%.o: $(SNIPPET_DIR)/asm/%.S $(asm-offsets) - $(CC) $(CFLAGS) -c -nostdlib -o $@ $< - -$(SNIPPET_DIR)/c/%.o: $(SNIPPET_DIR)/c/%.c $(asm-offsets) - $(CC) $(CFLAGS) -c -nostdlib -o $@ $< - -$(SNIPPET_DIR)/asm/%.elf: $(SNIPPET_DIR)/asm/%.o $(SNIPPET_DIR)/asm/flat.lds - $(CC) $(LDFLAGS) -o $@ -T $(SNIPPET_DIR)/asm/flat.lds $< - -$(SNIPPET_DIR)/asm/%.gbin: $(SNIPPET_DIR)/asm/%.elf - $(OBJCOPY) -O binary -j ".rodata" -j ".lowcore" -j ".text" -j ".data" -j ".bss" --set-section-flags .bss=alloc,load,contents $< $@ - truncate -s '%4096' $@ - -$(SNIPPET_DIR)/c/%.elf: $(SNIPPET_DIR)/c/%.o $(snippet_lib) $(FLATLIBS) $(SNIPPET_DIR)/c/flat.lds - $(CC) $(LDFLAGS) -o $@ -T $(SNIPPET_DIR)/c/flat.lds $< $(snippet_lib) $(FLATLIBS) - -$(SNIPPET_DIR)/c/%.gbin: $(SNIPPET_DIR)/c/%.elf - $(OBJCOPY) -O binary -j ".rodata" -j ".lowcore" -j ".text" -j ".data" -j ".bss" --set-section-flags .bss=alloc,load,contents $< $@ - truncate -s '%4096' $@ - -%.hdr: %.gbin $(HOST_KEY_DOCUMENT) - $(GEN_SE_HEADER) -k $(HOST_KEY_DOCUMENT) -c $<,0x0,0x00000000000000420000000000000000 --psw-addr 0x4000 -o $@ - -.SECONDARY: -%.gobj: %.gbin - $(OBJCOPY) -I binary -O elf64-s390 -B "s390:64-bit" $< $@ - -.SECONDARY: -%.hdr.obj: %.hdr - $(OBJCOPY) -I binary -O elf64-s390 -B "s390:64-bit" $< $@ - lds-autodepend-flags = -MMD -MF $(dir $*).$(notdir $*).d -MT $@ %.lds: %.lds.S $(asm-offsets) $(CPP) $(lds-autodepend-flags) $(CPPFLAGS) -P -C -o $@ $< @@ -231,8 +201,8 @@ $(snippet_asmlib): $$(patsubst %.o,%.S,$$@) $(asm-offsets) $(CC) $(CFLAGS) -c -nostdlib -o $@ $< -arch_clean: asm_offsets_clean - $(RM) $(TEST_DIR)/*.{o,elf,bin,lds} $(SNIPPET_DIR)/*/*.{o,elf,*bin,*obj,hdr,lds} $(SNIPPET_DIR)/asm/.*.d $(TEST_DIR)/.*.d lib/s390x/.*.d $(comm-key) +arch_clean: asm_offsets_clean snippet_clean + $(RM) $(TEST_DIR)/*.{o,elf,bin,lds} $(TEST_DIR)/.*.d lib/s390x/.*.d $(comm-key) generated-files = $(asm-offsets) $(tests:.elf=.o) $(asmlib) $(cflatobjs): $(generated-files) diff --git a/s390x/snippets/Makefile b/s390x/snippets/Makefile new file mode 100644 index 00000000..8d79165e --- /dev/null +++ b/s390x/snippets/Makefile @@ -0,0 +1,34 @@ +# the asm/c snippets %.o have additional generated files as dependencies +$(SNIPPET_DIR)/asm/%.o: $(SNIPPET_DIR)/asm/%.S $(asm-offsets) + $(CC) $(CFLAGS) -c -nostdlib -o $@ $< + +$(SNIPPET_DIR)/c/%.o: $(SNIPPET_DIR)/c/%.c $(asm-offsets) + $(CC) $(CFLAGS) -c -nostdlib -o $@ $< + +$(SNIPPET_DIR)/asm/%.elf: $(SNIPPET_DIR)/asm/%.o $(SNIPPET_DIR)/asm/flat.lds + $(CC) $(LDFLAGS) -o $@ -T $(SNIPPET_DIR)/asm/flat.lds $< + +$(SNIPPET_DIR)/asm/%.gbin: $(SNIPPET_DIR)/asm/%.elf + $(OBJCOPY) -O binary -j ".rodata" -j ".lowcore" -j ".text" -j ".data" -j ".bss" --set-section-flags .bss=alloc,load,contents $< $@ + truncate -s '%4096' $@ + +$(SNIPPET_DIR)/c/%.elf: $(SNIPPET_DIR)/c/%.o $(snippet_lib) $(FLATLIBS) $(SNIPPET_DIR)/c/flat.lds + $(CC) $(LDFLAGS) -o $@ -T $(SNIPPET_DIR)/c/flat.lds $< $(snippet_lib) $(FLATLIBS) + +$(SNIPPET_DIR)/c/%.gbin: $(SNIPPET_DIR)/c/%.elf + $(OBJCOPY) -O binary -j ".rodata" -j ".lowcore" -j ".text" -j ".data" -j ".bss" --set-section-flags .bss=alloc,load,contents $< $@ + truncate -s '%4096' $@ + +%.hdr: %.gbin $(HOST_KEY_DOCUMENT) + $(GEN_SE_HEADER) -k $(HOST_KEY_DOCUMENT) -c $<,0x0,0x00000000000000420000000000000000 --psw-addr 0x4000 -o $@ + +.SECONDARY: +%.gobj: %.gbin + $(OBJCOPY) -I binary -O elf64-s390 -B "s390:64-bit" $< $@ + +.SECONDARY: +%.hdr.obj: %.hdr + $(OBJCOPY) -I binary -O elf64-s390 -B "s390:64-bit" $< $@ + +snippet_clean: + $(RM) $(SNIPPET_DIR)/*/*.{o,elf,*bin,*obj,hdr,lds} $(SNIPPET_DIR)/asm/.*.d
It's time to move the snippet related Makefile parts into a new file to make s390x/Makefile less busy. Signed-off-by: Janosch Frank <frankja@linux.ibm.com> --- s390x/Makefile | 38 ++++---------------------------------- s390x/snippets/Makefile | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 34 deletions(-) create mode 100644 s390x/snippets/Makefile