From 254ffbc869c2376e77ecc298dfd396f077e9d58a Mon Sep 17 00:00:00 2001 From: stefan Date: Fri, 31 Mar 2023 20:10:19 -0400 Subject: start of makefile --- Makefile | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 Makefile (limited to 'Makefile') diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..3c2a981 --- /dev/null +++ b/Makefile @@ -0,0 +1,30 @@ +TARGET?=virt +CROSS_COMPILE?=riscv64-unknown-elf- + +BUILDDIR=build/${TARGET} +TARGETDIR=mainboard/${TARGET} + +CFLAGS=-nostdlib -ffreestanding -mcmodel=medany + +.if !exists(${TARGETDIR}/conf/mainboard.mk) +.error 'ERROR: invalid target "${TARGET}"' +.else +.include <${TARGETDIR}/conf/mainboard.mk> +.endif + +all: ${BUILDDIR}/kernel.elf + +clean: + rm -rf ${BUILDDIR} + +${BUILDDIR}/kernel.elf: ${SRC} + mkdir -p ${BUILDDIR} + ${CROSS_COMPILE}gcc ${SRC} \ + -Wl,--defsym=LOAD_ADDR=${LOAD_ADDR}\ + -Wl,--defsym=PAGE_SIZE=${PAGE_SIZE}\ + -Wl,--defsym=NPROC=${NPROC}\ + -DPAGE_SIZE=${PAGE_SIZE}\ + ${CFLAGS} -T kernel/lds/kernel.ld ${LDFLAGS}\ + -o $@ + +.PHONY: all clean -- cgit v1.2.3