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