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

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

set svn:mime-type to files

  • Property svn:mime-type set to text/plain; charset=utf-8
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#TEXT_START_ADDRESS =
81#DATA_START_ADDRESS =
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/$(PRC)_$(TOOL)/Makefile.prc
Note: See TracBrowser for help on using the repository browser.