source: ssp_aarch64/trunk/qemu_virt_gcc/Makefile.target@ 353

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

initial import

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