source: ssp_rpi3/trunk/target/rpi_arm64_gcc/Makefile.target@ 386

Last change on this file since 386 was 386, checked in by nmir-saito, 5 years ago

modify svn:mimetype of files

  • Property svn:mime-type set to text/plain; charset=utf-8
File size: 3.1 KB
Line 
1#
2# Makefile のターゲット依存部(RPI-ARM64用)
3#
4
5#
6# ボード名,コア名,チップ名,開発環境名の定義
7#
8BOARD = rpi_arm64
9CHIP = bcm283x
10CORE = arm64
11TOOL = gcc
12
13#
14# GNU開発環境のターゲットアーキテクチャの定義
15#
16GCC_TARGET = aarch64-elf
17
18#
19# コンパイルオプション
20#
21COPTS := $(COPTS) -Werror -ggdb3 -mgeneral-regs-only -fno-pic -fno-builtin -fno-omit-frame-pointer #-mfix-cortex-a53-835769 -mfix-cortex-a53-843419
22CDEFS := $(CDEFS)
23INCLUDES := $(INCLUDES) -I$(TARGETDIR)
24LDFLAGS := -nostdlib $(LDFLAGS)
25LIBS := $(LIBS) -lgcc
26
27#
28# システムサービスに関する定義
29#
30SYSSVC_DIRS := $(SYSSVC_DIRS)
31SYSSVC_ASMOBJS := $(SYSSVC_ASMOBJS)
32SYSSVC_COBJS := $(SYSSVC_COBJS)
33SYSSVC_CFLAGS := $(SYSSVC_CFLAGS)
34SYSSVC_LIBS := $(SYSSVC_LIBS)
35
36#
37# カーネルに関する定義
38#
39KERNEL_DIRS := $(KERNEL_DIRS) $(TARGETDIR)
40KERNEL_ASMOBJS := $(KERNEL_ASMOBJS)
41KERNEL_COBJS := $(KERNEL_COBJS) target_config.o
42KERNEL_CFLAGS := $(KERNEL_CFLAGS)
43
44#
45# トレースログに関する設定
46#
47ifeq ($(ENABLE_TRACE),true)
48 COPTS := $(COPTS) -DTOPPERS_ENABLE_TRACE
49 KERNEL_DIRS := $(KERNEL_DIRS) $(SRCDIR)/arch/logtrace
50 KERNEL_COBJS := $(KERNEL_COBJS) trace_config.o trace_dump.o
51endif
52
53#
54# コンフィギュレータ関係の変数の定義
55#
56CFG_TABS := $(CFG_TABS) --symval-table $(TARGETDIR)/target_sym.def
57CFG1_OUT_LDFLAGS := $(CFG1_OUT_LDFLAGS)
58CFG_OBJS := $(CFG_OBJS)
59CFG2_OUT := $(CFG2_OUT)
60
61#
62# -Wall オプションの省略
63# -Wallを追加したくない場合に true に定義する
64#
65#OMIT_WARNING_ALL = true
66
67#
68# 最適化フラグの省略
69# -O2を追加したくない場合に true に定義する
70#
71#OMIT_OPTIMIZATION = true
72
73#
74# リンカスクリプトの定義
75#
76LDSCRIPT = $(SRCDIR)/target/$(BOARD)_$(TOOL)/$(BOARD).ld
77
78#
79# 各セクションの先頭番地の指定
80#
81TEXT_START_ADDRESS = 0x00000000
82
83#
84# スタートアップモジュールに関する定義
85#
86
87# スタートアップモジュール
88START_OBJS = start.o
89# リンカスクリプトに「STARTUP(start.o)」を記述した場合,
90# スタートアップモジュールの名前をSTART_OBJS の代わりに HIDDEN_OBJS で定義する.
91HIDDEN_OBJS =
92
93
94# スタートアップモジュールのコンパイルルール
95$(START_OBJS): %.o: %.S
96 $(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
97$(HIDDEN_OBJS): %.o: %.S
98 $(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
99
100
101# スタートアップモジュールの依存関係作成ルール
102$(START_OBJS:.o=.d): %.d: %.S
103 @$(PERL) $(SRCDIR)/utils/makedep -C $(CC) $(MAKEDEP_OPTS) \
104 -O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
105$(HIDDEN_OBJS:.o=.d): %.d: %.S
106 @$(PERL) $(SRCDIR)/utils/makedep -C $(CC) $(MAKEDEP_OPTS) \
107 -O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
108
109#
110# 依存関係の定義
111#
112cfg1_out.c: $(TARGETDIR)/target_sym.def
113kernel_cfg.timestamp: $(TARGETDIR)/target_kernel.trb
114check.timestamp: $(TARGETDIR)/target_check.trb
115
116#
117# その他
118#
119CLEAN_FILES := $(CLEAN_FILES)
120REALCLEAN_FILES := $(REALCLEAN_FILES)
121
122
123#
124# チップ依存部のインクルード
125#
126include $(SRCDIR)/arch/$(CORE)_$(TOOL)/$(CHIP)/Makefile.chip
Note: See TracBrowser for help on using the repository browser.