1 | #
|
---|
2 | # Makefile のターゲット依存部(CQ-FRM-FM3用)
|
---|
3 | #
|
---|
4 |
|
---|
5 | #
|
---|
6 | # ボード名,プロセッサ名,開発環境名の定義
|
---|
7 | #
|
---|
8 | BOARD = cq_frk_fm3
|
---|
9 | PRC = arm_m
|
---|
10 | TOOL = gcc
|
---|
11 |
|
---|
12 | #
|
---|
13 | # ROM化するかどうか
|
---|
14 | #
|
---|
15 |
|
---|
16 | ROM_BOOT = true
|
---|
17 |
|
---|
18 | #
|
---|
19 | # GNU開発環境のターゲットアーキテクチャの定義
|
---|
20 | #
|
---|
21 | GCC_TARGET = arm-none-eabi
|
---|
22 |
|
---|
23 | #
|
---|
24 | # 各セグメントの開始アドレスの定義
|
---|
25 | #
|
---|
26 |
|
---|
27 | #
|
---|
28 | # 非タスクコンテキスト用のスタックの初期値(底)
|
---|
29 | #
|
---|
30 | DEFAULT_STK_TOP = 0x20005000
|
---|
31 |
|
---|
32 | #
|
---|
33 | # コンパイルオプション
|
---|
34 | #
|
---|
35 | INCLUDES := $(INCLUDES) -I$(TARGETDIR)
|
---|
36 | CDEFS := $(CDEFS)
|
---|
37 | COPTS := $(COPTS) -mcpu=cortex-m3 -mthumb
|
---|
38 |
|
---|
39 | #
|
---|
40 | # カーネルに関する定義
|
---|
41 | #
|
---|
42 | KERNEL_DIR := $(KERNEL_DIR) $(TARGETDIR)
|
---|
43 | KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) target_support.o
|
---|
44 | KERNEL_COBJS := $(KERNEL_COBJS) target_config.o target_serial.o
|
---|
45 | KERNEL_CFLAGS := $(KERNEL_CFLAGS) -fno-strict-aliasing -mcpu=cortex-m3 -mthumb
|
---|
46 |
|
---|
47 | #
|
---|
48 | # システムサービスに関する定義
|
---|
49 | #
|
---|
50 | SYSSVC_DIR := $(SYSSVC_DIR)
|
---|
51 | SYSSVC_COBJS := $(SYSSVC_COBJS)
|
---|
52 | SYSSVC_CFLAGS := $(SYSSVC_CFLAGS) -mcpu=cortex-m3 -mthumb
|
---|
53 |
|
---|
54 | #
|
---|
55 | # コンフィギュレータ関係の変数の定義
|
---|
56 | #
|
---|
57 | CFG_TABS := $(CFG_TABS) --cfg1-def-table $(TARGETDIR)/target_def.csv
|
---|
58 |
|
---|
59 | #
|
---|
60 | # トレースログに関する設定
|
---|
61 | #
|
---|
62 | ifeq ($(ENABLE_TRACE),true)
|
---|
63 | COPTS := $(COPTS) -DTOPPERS_ENABLE_TRACE
|
---|
64 | KERNEL_DIR := $(KERNEL_DIR) $(SRCDIR)/arch/logtrace
|
---|
65 | KERNEL_COBJS := $(KERNEL_COBJS) trace_config.o trace_dump.o
|
---|
66 | endif
|
---|
67 |
|
---|
68 | #
|
---|
69 | # ROM化時は ROM_BOOTをtrueに定義する
|
---|
70 | #
|
---|
71 | ifeq ($(ROM_BOOT),true)
|
---|
72 | CDEFS := $(CDEFS) -DROM_BOOT
|
---|
73 | else
|
---|
74 | CDEFS := $(CDEFS) -DINIT_MSP
|
---|
75 | endif
|
---|
76 |
|
---|
77 | #
|
---|
78 | # リンカスクリプトの定義
|
---|
79 | #
|
---|
80 |
|
---|
81 | ifeq ($(ROM_BOOT),true)
|
---|
82 | LDSCRIPT = $(SRCDIR)/target/$(BOARD)_$(TOOL)/cq_frm_fm3_rom.ld
|
---|
83 | else
|
---|
84 | LDSCRIPT = $(SRCDIR)/target/$(BOARD)_$(TOOL)/cq_frm_fm3_ram.ld
|
---|
85 | endif
|
---|
86 |
|
---|
87 | #
|
---|
88 | # スタートアップモジュールに関する定義
|
---|
89 | #
|
---|
90 | # cq_starm.ldに「STARTUP(start.o)」を記述したため,スタートアップモジュー
|
---|
91 | # ルの名前をHIDDEN_OBJSに定義する.また,LDFLAGSに-nostdlibを追加している.
|
---|
92 | #
|
---|
93 | HIDDEN_OBJS = start.o
|
---|
94 |
|
---|
95 | $(HIDDEN_OBJS): %.o: %.S
|
---|
96 | $(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
|
---|
97 |
|
---|
98 | $(HIDDEN_OBJS:.o=.d): %.d: %.S
|
---|
99 | @$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
|
---|
100 | -O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
|
---|
101 |
|
---|
102 | LDFLAGS := -nostdlib $(LDFLAGS) --entry _start
|
---|
103 |
|
---|
104 | #
|
---|
105 | # 依存関係の定義
|
---|
106 | #
|
---|
107 | cfg1_out.c: $(TARGETDIR)/target_def.csv
|
---|
108 | kernel_cfg.timestamp: $(TARGETDIR)/target.tf
|
---|
109 | $(OBJFILE): $(TARGETDIR)/target_check.tf
|
---|
110 |
|
---|
111 | #
|
---|
112 | # プロセッサ依存部のインクルード
|
---|
113 | #
|
---|
114 | include $(SRCDIR)/arch/$(PRC)_$(TOOL)/Makefile.prc
|
---|