# # Makefileのターゲット依存部(RISCV64/K210用) # # # ボード名,プロセッサ名,開発環境名の定義 # BOARD = k210 PRC = riscv TOOL = gcc # # COMポートピン0設定 # COM0 = 0 # # コンパイルオプション # INCLUDES := $(INCLUDES) -I$(TARGETDIR) COPTS := $(COPTS) -march=rv64imafdc -mabi=lp64d -mcmodel=medany -nostdlib -fstrict-volatile-bitfields CDEFS := $(CDEFS) -D__riscv64 -DUSE_FPU -DCOM0=$(COM0) # # カーネルに関する定義 # KERNEL_DIR := $(KERNEL_DIR) $(TARGETDIR) KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) KERNEL_COBJS := $(KERNEL_COBJS) target_config.o # # システムサービスに関する定義 # SYSSVC_COBJS := $(SYSSVC_COBJS) target_serial.o target_inithook.o # # GNU開発環境のターゲットアーキテクチャの定義 # GCC_TARGET = riscv-none-embed # # トレースログ記録のサンプルコードに関する定義 # ifeq ($(ENABLE_TRACE),true) COPTS := $(COPTS) -DTOPPERS_ENABLE_TRACE KERNEL_DIR := $(KERNEL_DIR) $(SRCDIR)/arch/logtrace KERNEL_COBJS := $(KERNEL_COBJS) trace_config.o trace_dump.o endif # # 各セグメントの開始アドレスの定義 # TEXT_START_ADDRESS = 80000000 # # リンカスクリプトの定義 # LDSCRIPT = $(SRCDIR)/arch/$(PRC)_$(TOOL)/riscv64elf.ld # # スタートアップモジュールに関する定義 # # m68kelf.ldに「STARTUP(start.o)」を記述したため,スタートアップモジュー # ルの名前をHIDDEN_OBJSに定義する.また,LDFLAGSに-nostdlibを追加している. # HIDDEN_OBJS = start.o $(HIDDEN_OBJS): %.o: %.S $(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $< $(HIDDEN_OBJS:.o=.d): %.d: %.S @$(PERL) $(SRCDIR)/utils/makedep -C $(CC) $(MAKEDEP_OPTS) \ -O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend LDFLAGS := -nostdlib $(LDFLAGS) CFG1_OUT_LDFLAGS := -nostdlib $(CFG1_OUT_LDFLAGS) LIBS := $(LIBS) -lgcc # # 依存関係の定義 # kernel_cfg.timestamp: $(TARGETDIR)/target.tf $(OBJFILE): $(TARGETDIR)/target_check.tf # # プロセッサ依存部のインクルード # include $(SRCDIR)/arch/$(PRC)_$(TOOL)/Makefile.prc