[92] | 1 | #
|
---|
| 2 | # @(#) $Id: Makefile.target 619 2014-03-18 06:10:27Z nmir-saito $
|
---|
| 3 | #
|
---|
| 4 |
|
---|
| 5 | #
|
---|
| 6 | # Makefile のターゲット依存部(AT91SKYEYE用)
|
---|
| 7 | #
|
---|
| 8 |
|
---|
| 9 | #
|
---|
| 10 | # ボード名,プロセッサ名,開発環境名の定義
|
---|
| 11 | #
|
---|
| 12 | BOARD = at91skyeye
|
---|
| 13 | PRC = arm
|
---|
| 14 | TOOL = gcc
|
---|
| 15 |
|
---|
| 16 | #
|
---|
| 17 | # コンパイルオプション
|
---|
| 18 | #
|
---|
| 19 | INCLUDES := $(INCLUDES) -I$(TARGETDIR)
|
---|
| 20 | COPTS := $(COPTS) -mcpu=arm7tdmi -mlittle-endian -g -gdwarf-2 -gstrict-dwarf
|
---|
| 21 | LDFLAGS := $(LDFLAGS) -mcpu=arm7tdmi -N -mlittle-endian -lc -lrdimon
|
---|
| 22 | CDEFS := $(CDEFS) -D__TARGET_ARCH_ARM=4
|
---|
| 23 |
|
---|
| 24 | #
|
---|
| 25 | # カーネルに関する定義
|
---|
| 26 | #
|
---|
| 27 | KERNEL_DIR := $(KERNEL_DIR) $(TARGETDIR)
|
---|
| 28 | KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) target_support.o
|
---|
| 29 | KERNEL_COBJS := $(KERNEL_COBJS) target_config.o target_timer.o
|
---|
| 30 |
|
---|
| 31 | #
|
---|
| 32 | # システムサービスに関する定義
|
---|
| 33 | #
|
---|
| 34 | SYSSVC_DIR := $(SYSSVC_DIR)
|
---|
| 35 | SYSSVC_COBJS := $(SYSSVC_COBJS) target_serial.o
|
---|
| 36 |
|
---|
| 37 | #
|
---|
| 38 | # コンフィギュレータ関係の変数の定義
|
---|
| 39 | #
|
---|
| 40 | CFG_TABS := $(CFG_TABS) --cfg1-def-table $(TARGETDIR)/target_def.csv
|
---|
| 41 |
|
---|
| 42 | #
|
---|
| 43 | # トレースログに関する設定
|
---|
| 44 | #
|
---|
| 45 | ifeq ($(ENABLE_TRACE),true)
|
---|
| 46 | COPTS := $(COPTS)
|
---|
| 47 | CDEFS := $(CDEFS) -DTOPPERS_ENABLE_TRACE
|
---|
| 48 | KERNEL_DIR := $(KERNEL_DIR) $(SRCDIR)/arch/logtrace
|
---|
| 49 | KERNEL_COBJS := $(KERNEL_COBJS) trace_config.o trace_dump.o
|
---|
| 50 | endif
|
---|
| 51 |
|
---|
| 52 | #
|
---|
| 53 | # GNU開発環境のターゲットアーキテクチャの定義
|
---|
| 54 | #
|
---|
| 55 | GCC_TARGET = arm-none-eabi
|
---|
| 56 |
|
---|
| 57 | #
|
---|
| 58 | # リンカスクリプトの定義
|
---|
| 59 | #
|
---|
| 60 | LDSCRIPT = $(TARGETDIR)/at91skyeye.ld
|
---|
| 61 |
|
---|
| 62 | #
|
---|
| 63 | # スタートアップモジュールに関する定義
|
---|
| 64 | #
|
---|
| 65 | # at91skyeye.ldに「STARTUP(start.o)」を記述したため,スタートアップモジュー
|
---|
| 66 | # ルの名前をHIDDEN_OBJSに定義する.
|
---|
| 67 | #
|
---|
| 68 | HIDDEN_OBJS = start.o
|
---|
| 69 |
|
---|
| 70 | $(HIDDEN_OBJS): %.o: %.S
|
---|
| 71 | $(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
|
---|
| 72 |
|
---|
| 73 | $(HIDDEN_OBJS:.o=.d): %.d: %.S
|
---|
| 74 | @$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
|
---|
| 75 | -O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
|
---|
| 76 |
|
---|
| 77 | LDFLAGS := $(LDFLAGS)
|
---|
| 78 |
|
---|
| 79 | #
|
---|
| 80 | # 依存関係の定義
|
---|
| 81 | #
|
---|
| 82 | cfg1_out.c: $(TARGETDIR)/target_def.csv
|
---|
| 83 | kernel_cfg.timestamp: $(TARGETDIR)/target.tf
|
---|
| 84 | $(OBJFILE): $(TARGETDIR)/target_check.tf
|
---|
| 85 |
|
---|
| 86 | #
|
---|
| 87 | # プロセッサ依存部のインクルード
|
---|
| 88 | #
|
---|
| 89 | include $(SRCDIR)/arch/$(PRC)_$(TOOL)/common/Makefile.core
|
---|
| 90 |
|
---|
| 91 | #
|
---|
| 92 | # gcovを有効に
|
---|
| 93 | #
|
---|
| 94 |
|
---|
| 95 | #
|
---|
| 96 | # ENABLE_GCOVに設定可能な値
|
---|
| 97 | # full : 全体取得
|
---|
| 98 | # part : 一部取得
|
---|
| 99 | # only_kernel_full : 全体取得(カーネルコードのみ)
|
---|
| 100 | # only_kernel_part : 一部取得(カーネルコードのみ)
|
---|
| 101 | # false : 無効
|
---|
| 102 | ifdef ENABLE_GCOV
|
---|
| 103 | ifneq ($(ENABLE_GCOV),false)
|
---|
| 104 | ifeq ($(ENABLE_GCOV),full)
|
---|
| 105 | CDEFS := $(CDEFS) -DTOPPERS_ENABLE_GCOV_FULL
|
---|
| 106 | COPTS := $(COPTS) -fprofile-arcs -ftest-coverage
|
---|
| 107 | endif
|
---|
| 108 | ifeq ($(ENABLE_GCOV),part)
|
---|
| 109 | CDEFS := $(CDEFS) -DTOPPERS_ENABLE_GCOV_PART
|
---|
| 110 | COPTS := $(COPTS) -fprofile-arcs -ftest-coverage
|
---|
| 111 | endif
|
---|
| 112 | ifeq ($(ENABLE_GCOV),only_kernel_full)
|
---|
| 113 | CDEFS := $(CDEFS) -DTOPPERS_ENABLE_GCOV_FULL
|
---|
| 114 | KERNEL_CFLAGS := $(KERNEL_CFLAGS) -fprofile-arcs -ftest-coverage
|
---|
| 115 | CFG1_OUT_LDFLAGS := $(CFG1_OUT_LDFLAGS) -fprofile-arcs -ftest-coverage
|
---|
| 116 | endif
|
---|
| 117 | ifeq ($(ENABLE_GCOV),only_kernel_part)
|
---|
| 118 | CDEFS := $(CDEFS) -DTOPPERS_ENABLE_GCOV_PART
|
---|
| 119 | KERNEL_CFLAGS := $(KERNEL_CFLAGS) -fprofile-arcs -ftest-coverage
|
---|
| 120 | CFG1_OUT_LDFLAGS := $(CFG1_OUT_LDFLAGS) -fprofile-arcs -ftest-coverage
|
---|
| 121 | endif
|
---|
| 122 | LIBS := $(LIBS) -lgcov
|
---|
| 123 | CLEAN_FILES := $(CLEAN_FILES) *.gcda *.gcda.bak *.gcno *.gcov coverage.info
|
---|
| 124 | lcov:
|
---|
| 125 | rm -f makeoffset.gcno cfg1_out.*
|
---|
| 126 | lcov -c -d . -o coverage.info --gcov-tool $(GCC_TARGET)-gcov.exe
|
---|
| 127 | genhtml coverage.info -o coverage_html
|
---|
| 128 | endif
|
---|
| 129 | endif
|
---|