Failed to fetch fork details. Try again later.
-
rwenz2004 authored12f70413
Forked from
ASVOS / ASVOS
Source project has a limited visibility.
.PHONY: clean build user run debug test .FORCE
all: build
K = src
U = user
IMG = sdcard.img
TOOLPREFIX = riscv64-unknown-elf-
CC = $(TOOLPREFIX)gcc
AS = $(TOOLPREFIX)gcc
LD = $(TOOLPREFIX)ld
OBJCOPY = $(TOOLPREFIX)objcopy
OBJDUMP = $(TOOLPREFIX)objdump
PY = python3
GDB = $(TOOLPREFIX)gdb
CP = cp
BUILDDIR = build
C_SRCS = $(wildcard $(K)/boot/*.c)
C_SRCS += $(wildcard $(K)/dev/*.c)
C_SRCS += $(wildcard $(K)/mm/*.c)
C_SRCS += $(wildcard $(K)/sched/*.c)
C_SRCS += $(wildcard $(K)/fs/*.c)
C_SRCS += $(wildcard $(K)/lib/*.c)
C_SRCS += $(wildcard $(K)/syscall/*.c)
AS_SRCS = $(wildcard $(K)/sched/*.S) $(wildcard $(K)/boot/*.S)
C_OBJS = $(addprefix $(BUILDDIR)/, $(addsuffix .o, $(basename $(C_SRCS))))
AS_OBJS = $(addprefix $(BUILDDIR)/, $(addsuffix .o, $(basename $(AS_SRCS))))
OBJS = $(C_OBJS) $(AS_OBJS)
INCLUDES = include/
ifeq (,$(findstring initproc.o,$(OBJS)))
AS_OBJS += $(BUILDDIR)/$(K)/sched/initproc.o
endif
INIT_PROC ?= run_all_app
$(K)/sched/initproc.o: $(K)/sched/initproc.S
$(K)/sched/initproc.S: scripts/initproc.py .FORCE
@$(PY) scripts/initproc.py $(INIT_PROC)
CFLAGS = -Wall -O -fno-omit-frame-pointer -ggdb
CFLAGS += -MD
CFLAGS += -mcmodel=medany
CFLAGS += -ffreestanding -fno-common -nostdlib -mno-relax
CFLAGS += -I $(INCLUDES)
CFLAGS += $(shell $(CC) -fno-stack-protector -E -x c /dev/null >/dev/null 2>&1 && echo -fno-stack-protector)
LOG ?= error
ifeq ($(LOG), error)
CFLAGS += -D LOG_LEVEL_ERROR
else ifeq ($(LOG), warn)
CFLAGS += -D LOG_LEVEL_WARN
else ifeq ($(LOG), info)
CFLAGS += -D LOG_LEVEL_INFO
else ifeq ($(LOG), debug)
CFLAGS += -D LOG_LEVEL_DEBUG
else ifeq ($(LOG), trace)
CFLAGS += -D LOG_LEVEL_TRACE
endif
# Disable PIE when possible (for Ubuntu 16.10 toolchain)
ifneq ($(shell $(CC) -dumpspecs 2>/dev/null | grep -e '[^f]no-pie'),)
CFLAGS += -fno-pie -no-pie
endif
ifneq ($(shell $(CC) -dumpspecs 2>/dev/null | grep -e '[^f]nopie'),)
CFLAGS += -fno-pie -nopie
endif