2 # Dummy command so that make thinks it has done something
5 include ..
/..
/config-host.mak
6 include $(SRC_PATH
)/rules.mak
8 $(call set-vpath
, $(SRC_PATH
)/pc-bios
/s390-ccw
)
10 .PHONY
: all clean build-all
12 OBJECTS
= start.o main.o bootmap.o jump2ipl.o sclp.o menu.o \
13 virtio.o virtio-scsi.o virtio-blkdev.o libc.o cio.o dasd-ipl.o
15 QEMU_CFLAGS
:= $(filter -W
%, $(QEMU_CFLAGS
))
16 QEMU_CFLAGS
+= -ffreestanding
-fno-delete-null-pointer-checks
-msoft-float
17 QEMU_CFLAGS
+= -march
=z900
-fPIE
-fno-strict-aliasing
18 QEMU_CFLAGS
+= -fno-asynchronous-unwind-tables
19 QEMU_CFLAGS
+= $(call cc-option
, $(QEMU_CFLAGS
), -fno-stack-protector
)
20 LDFLAGS
+= -Wl
,-pie
-nostdlib
22 build-all
: s390-ccw.img s390-netboot.img
24 s390-ccw.elf
: $(OBJECTS
)
25 $(call quiet-command
,$(CC
) $(LDFLAGS
) -o
$@
$(OBJECTS
),"BUILD","$(TARGET_DIR)$@")
29 s390-ccw.img
: s390-ccw.elf
30 $(call quiet-command
,$(STRIP
) --strip-unneeded
$< -o
$@
,"STRIP","$(TARGET_DIR)$@")
34 ifneq ($(wildcard $(SRC_PATH
)/roms
/SLOF
/lib
/libnet
),)
35 include $(SRC_PATH
)/pc-bios
/s390-ccw
/netboot.mak
38 @echo
"s390-netboot.img not built since roms/SLOF/ is not available."
41 ALL_OBJS
= $(sort $(OBJECTS
) $(NETOBJS
) $(LIBCOBJS
) $(LIBNETOBJS
))
42 -include $(ALL_OBJS
:%.o
=%.d
)
45 rm -f
*.o
*.d
*.img
*.elf
*~
*.a