xref: /openbmc/qemu/tests/qtest/migration/s390x/Makefile (revision bdce9bc9179bd7b6f4e12c759dd3cd6794e26a6b)
1*212c1933SFabiano Rosas# To specify cross compiler prefix, use CROSS_PREFIX=
2*212c1933SFabiano Rosas#   $ make CROSS_PREFIX=s390x-linux-gnu-
3*212c1933SFabiano Rosas
4*212c1933SFabiano Rosas.PHONY: all clean
5*212c1933SFabiano Rosasall: a-b-bios.h
6*212c1933SFabiano Rosasfwdir=../../../pc-bios/s390-ccw
7*212c1933SFabiano Rosas
8*212c1933SFabiano RosasCFLAGS+=-ffreestanding -fno-delete-null-pointer-checks -fPIE -Os \
9*212c1933SFabiano Rosas	-msoft-float -march=z900 -fno-asynchronous-unwind-tables \
10*212c1933SFabiano Rosas	-fno-stack-protector -Wl,-pie -Wl,--build-id=none -nostdlib
11*212c1933SFabiano Rosas
12*212c1933SFabiano Rosasa-b-bios.h: s390x.elf
13*212c1933SFabiano Rosas	echo "$$__note" > header.tmp
14*212c1933SFabiano Rosas	xxd -i $< | sed -e 's/.*int.*//' >> header.tmp
15*212c1933SFabiano Rosas	mv header.tmp $@
16*212c1933SFabiano Rosas
17*212c1933SFabiano Rosas# We use common-page-size=16 to avoid big padding in the ELF file
18*212c1933SFabiano Rosass390x.elf: a-b-bios.c
19*212c1933SFabiano Rosas	$(CROSS_PREFIX)gcc $(CFLAGS) -I$(fwdir) $(fwdir)/start.S \
20*212c1933SFabiano Rosas		$(fwdir)/sclp.c -Wl,-zcommon-page-size=16 -o $@ $<
21*212c1933SFabiano Rosas	$(CROSS_PREFIX)strip $@
22*212c1933SFabiano Rosas
23*212c1933SFabiano Rosasclean:
24*212c1933SFabiano Rosas	@rm -rf *.elf *.o
25