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