[453] | 1 | #
|
---|
| 2 | # Makefileのターゲット依存部(RISCV64/K210用)
|
---|
| 3 | #
|
---|
| 4 |
|
---|
| 5 | #
|
---|
| 6 | # ボード名,プロセッサ名,開発環境名の定義
|
---|
| 7 | #
|
---|
| 8 | BOARD = k210
|
---|
| 9 | PRC = riscv
|
---|
| 10 | TOOL = gcc
|
---|
| 11 |
|
---|
| 12 | #
|
---|
| 13 | # COMポートピン0設定
|
---|
| 14 | #
|
---|
| 15 | COM0 = 0
|
---|
| 16 |
|
---|
| 17 | #
|
---|
| 18 | # コンパイルオプション
|
---|
| 19 | #
|
---|
| 20 | INCLUDES := $(INCLUDES) -I$(TARGETDIR)
|
---|
| 21 | COPTS := $(COPTS) -march=rv64imafdc -mabi=lp64d -mcmodel=medany -nostdlib -fstrict-volatile-bitfields
|
---|
| 22 | CDEFS := $(CDEFS) -D__riscv64 -DUSE_FPU -DCOM0=$(COM0)
|
---|
| 23 |
|
---|
| 24 | #
|
---|
| 25 | # カーネルに関する定義
|
---|
| 26 | #
|
---|
| 27 | KERNEL_DIR := $(KERNEL_DIR) $(TARGETDIR)
|
---|
| 28 | KERNEL_ASMOBJS := $(KERNEL_ASMOBJS)
|
---|
| 29 | KERNEL_COBJS := $(KERNEL_COBJS) target_config.o
|
---|
| 30 |
|
---|
| 31 | #
|
---|
| 32 | # システムサービスに関する定義
|
---|
| 33 | #
|
---|
| 34 | SYSSVC_COBJS := $(SYSSVC_COBJS) target_serial.o target_inithook.o
|
---|
| 35 |
|
---|
| 36 | #
|
---|
| 37 | # GNU開発環境のターゲットアーキテクチャの定義
|
---|
| 38 | #
|
---|
| 39 | GCC_TARGET = riscv-none-embed
|
---|
| 40 |
|
---|
| 41 | #
|
---|
| 42 | # トレースログ記録のサンプルコードに関する定義
|
---|
| 43 | #
|
---|
| 44 | ifeq ($(ENABLE_TRACE),true)
|
---|
| 45 | COPTS := $(COPTS) -DTOPPERS_ENABLE_TRACE
|
---|
| 46 | KERNEL_DIR := $(KERNEL_DIR) $(SRCDIR)/arch/logtrace
|
---|
| 47 | KERNEL_COBJS := $(KERNEL_COBJS) trace_config.o trace_dump.o
|
---|
| 48 | endif
|
---|
| 49 |
|
---|
| 50 | #
|
---|
| 51 | # 各セグメントの開始アドレスの定義
|
---|
| 52 | #
|
---|
| 53 | TEXT_START_ADDRESS = 80000000
|
---|
| 54 |
|
---|
| 55 | #
|
---|
| 56 | # リンカスクリプトの定義
|
---|
| 57 | #
|
---|
[458] | 58 | LDSCRIPT = $(TARGETDIR)/kendryte-k210.ld
|
---|
[453] | 59 |
|
---|
| 60 | #
|
---|
| 61 | # スタートアップモジュールに関する定義
|
---|
| 62 | #
|
---|
| 63 | # m68kelf.ldに「STARTUP(start.o)」を記述したため,スタートアップモジュー
|
---|
| 64 | # ルの名前をHIDDEN_OBJSに定義する.また,LDFLAGSに-nostdlibを追加している.
|
---|
| 65 | #
|
---|
| 66 | HIDDEN_OBJS = start.o
|
---|
| 67 |
|
---|
| 68 | $(HIDDEN_OBJS): %.o: %.S
|
---|
| 69 | $(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
|
---|
| 70 |
|
---|
| 71 | $(HIDDEN_OBJS:.o=.d): %.d: %.S
|
---|
| 72 | @$(PERL) $(SRCDIR)/utils/makedep -C $(CC) $(MAKEDEP_OPTS) \
|
---|
| 73 | -O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
|
---|
| 74 |
|
---|
| 75 | LDFLAGS := -nostdlib $(LDFLAGS)
|
---|
| 76 | CFG1_OUT_LDFLAGS := -nostdlib $(CFG1_OUT_LDFLAGS)
|
---|
| 77 | LIBS := $(LIBS) -lgcc
|
---|
| 78 |
|
---|
| 79 | #
|
---|
| 80 | # 依存関係の定義
|
---|
| 81 | #
|
---|
| 82 | kernel_cfg.timestamp: $(TARGETDIR)/target.tf
|
---|
| 83 | $(OBJFILE): $(TARGETDIR)/target_check.tf
|
---|
| 84 |
|
---|
| 85 | #
|
---|
| 86 | # プロセッサ依存部のインクルード
|
---|
| 87 | #
|
---|
| 88 | include $(SRCDIR)/arch/$(PRC)_$(TOOL)/Makefile.prc
|
---|