blob: be2ddee585230180e1a56dc2b0b170e5024efc7f [file]
# -*- makefile -*- : Force emacs to use Makefile mode
# Build a position-independent executable, with relocations required
# only for data values. Runtime relocations are applied by the
# prefix code.
#
CFLAGS += -mcmodel=medany -fpie
LDFLAGS += -pie --no-dynamic-linker -z combreloc
# Place explicitly zero-initialised variables in the .data section
# rather than in .bss, so that we can rely on their values even during
# parsing of the system memory map prior to relocation (and therefore
# prior to explicit zeroing of the .bss section).
#
CFLAGS += -fno-zero-initialized-in-bss
# Linker script
#
LDSCRIPT = arch/riscv/scripts/sbi.lds
# Media types
#
MEDIA += sbi
MEDIA += lkrn
# Padded flash device images (e.g. for QEMU's -pflash option)
#
NON_AUTO_MEDIA += pf32
%.pf32 : %.sbi $(MAKEDEPS)
$(Q)$(CP) $< $@
$(Q)$(TRUNCATE) -s 32M $@
# Include Devicetree drivers in the all-drivers build
#
DRIVERS_ipxe += $(DRIVERS_dt_net)