1# the asm/c snippets %.o have additional generated files as dependencies 2$(SNIPPET_DIR)/asm/%.o: $(SNIPPET_SRC_DIR)/asm/%.S $(asm-offsets) 3 $(CC) $(CFLAGS) -c -nostdlib -o $@ $< 4 5$(SNIPPET_DIR)/c/%.o: SNIPPET_INCLUDE := $(SNIPPET_SRC_DIR)/lib 6$(SNIPPET_DIR)/c/%.o: $(SNIPPET_SRC_DIR)/c/%.c $(asm-offsets) 7 $(CC) $(CFLAGS) -c -nostdlib -o $@ $< 8 9$(SNIPPET_DIR)/asm/%.elf: $(SNIPPET_DIR)/asm/%.o $(SNIPPET_DIR)/asm/flat.lds 10 $(CC) $(LDFLAGS) -o $@ -T $(SNIPPET_SRC_DIR)/asm/flat.lds $< 11 12$(SNIPPET_DIR)/asm/%.gbin: $(SNIPPET_DIR)/asm/%.elf 13 $(OBJCOPY) -O binary -j ".rodata" -j ".lowcore" -j ".text" -j ".data" -j ".bss" --set-section-flags .bss=alloc,load,contents $< $@ 14 truncate -s '%4096' $@ 15 16$(SNIPPET_DIR)/c/%.elf: $(SNIPPET_DIR)/c/%.o $(snippet_lib) $(FLATLIBS) $(SNIPPET_DIR)/c/flat.lds 17 $(CC) $(LDFLAGS) -o $@ -T $(SNIPPET_DIR)/c/flat.lds $< $(snippet_lib) $(FLATLIBS) 18 19$(SNIPPET_DIR)/c/%.gbin: $(SNIPPET_DIR)/c/%.elf 20 $(OBJCOPY) -O binary -j ".rodata" -j ".lowcore" -j ".text" -j ".data" -j ".bss" --set-section-flags .bss=alloc,load,contents $< $@ 21 truncate -s '%4096' $@ 22 23%.hdr: %.gbin $(HOST_KEY_DOCUMENT) 24 $(GEN_SE_HEADER) -k $(HOST_KEY_DOCUMENT) -c $<,0x0,0x00000000000000420000000000000000 --psw-addr 0x4000 -o $@ 25 26.SECONDARY: 27%.gobj: %.gbin 28 $(OBJCOPY) -I binary -O elf64-s390 -B "s390:64-bit" $< $@ 29 30.SECONDARY: 31%.hdr.obj: %.hdr 32 $(OBJCOPY) -I binary -O elf64-s390 -B "s390:64-bit" $< $@ 33 34snippet_clean: 35 $(RM) $(SNIPPET_DIR)/*/*.{o,elf,*bin,*obj,hdr,lds} $(SNIPPET_DIR)/asm/.*.d 36