OSDN Git Service

(none)
[hos/hos-v4a.git] / test / twai_sem / lpc2000 / armcc / gmake.mak
1 # ----------------------------------------------------------------------------
2 # Hyper Operating System V4 Advance
3 #
4 # Copyright (C) 1998-2007 by Project HOS
5 # http://sourceforge.jp/projects/hos/
6 # ----------------------------------------------------------------------------
7
8
9 # %jp{ターゲット名}
10 TARGET ?= sample
11
12 # %jp{ディレクトリ定義}
13 OS_DIR            = ../../../..
14 KERNEL_DIR        = $(OS_DIR)/kernel
15 KERNEL_CFGRTR_DIR = $(OS_DIR)/cfgrtr/build/gcc
16 KERNEL_MAKINC_DIR = $(KERNEL_DIR)/build/common/gmake
17 KERNEL_BUILD_DIR  = $(KERNEL_DIR)/build/arm/lpc2000/armcc
18 OBJS_DIR          = objs_$(TARGET)
19
20 # %jp{共通定義読込み}
21 include $(KERNEL_MAKINC_DIR)/common.inc
22
23
24 # デバッグ版のターゲット名変更
25 ifeq ($(DEBUG),Yes)
26 TARGET := $(TARGET)dbg
27 endif
28
29 # %jp{メモリマップ}
30 ifeq ($(MEMMAP),ext)
31 # %jp{外部メモリ}
32 TARGET       := $(TARGET)ext
33 SECTION_ROM  ?= 0x80000000
34 SECTION_RAM  ?= 0x80010000
35 else
36 ifeq ($(MEMMAP),ram)
37 # %jp{内蔵RAM}
38 SECTION_ROM  ?= 0x00000000
39 SECTION_RAM  ?= 0x80010000
40 else
41 # %jp{内蔵ROM}
42 SECTION_ROM  ?= 0x00000000
43 SECTION_RAM  ?= 0x80010000
44 endif
45 endif
46
47
48 # %jp{フラグ設定}
49 CFLAGS  = --cpu=ARM7TDMI-S --apcs=inter --thumb
50 AFLAGS  = --cpu=ARM7TDMI-S --apcs=inter --thumb
51 LNFLAGS = --ro_base=$(SECTION_ROM) --rw_base=$(SECTION_RAM) --first=vectors.o --entry=$(SECTION_ROM)
52
53
54 # %jp{コンフィギュレータ定義}
55 KERNEL_CFGRTR = $(KERNEL_CFGRTR_DIR)/h4acfg-lpc2000
56
57
58 # 出力ファイル名
59 TARGET_EXE = $(TARGET).axf
60 TARGET_MOT = $(TARGET).mot
61 TARGET_HEX = $(TARGET).hex
62
63
64 # %jp{armcc用の設定読込み}
65 include $(KERNEL_MAKINC_DIR)/armcc_d.inc
66
67 # ソースディレクトリ
68 SRC_DIRS += . ..
69
70 # アセンブラファイルの追加
71 ASRCS += ./vectors.s            \
72          ./startup.s            \
73          ./uish.s
74
75
76 # %jp{C言語ファイルの追加}
77 CSRCS += ../kernel_cfg.c        \
78          ../main.c                      \
79          ../sample.c            \
80          ../ostimer.c           \
81          ../uart.c
82
83
84
85 # --------------------------------------
86 #  %jp{ルール}
87 # --------------------------------------
88
89 .PHONY : all
90 all: kernel_make makeexe_all $(TARGET_EXE) $(TARGET_MOT) $(TARGET_HEX)
91
92 clean: makeexe_clean
93         rm -f $(TARGET_EXE) $(TARGET_EXE) $(OBJS) ../kernel_cfg.c ../kernel_id.h
94
95 ../kernel_cfg.c ../kernel_id.h: ../system.cfg
96         cpp -E ../system.cfg ../system.i
97         $(KERNEL_CFGRTR) ../system.i -c ../kernel_cfg.c -i ../kernel_id.h
98
99
100 # %jp{ライブラリ生成用設定読込み}
101 include $(KERNEL_MAKINC_DIR)/makeexe.inc
102
103 # %jp{armcc用のルール定義読込み}
104 include $(KERNEL_MAKINC_DIR)/armcc_r.inc
105
106
107
108 # --------------------------------------
109 #  %jp{依存関係}
110 # --------------------------------------
111
112 $(OBJS_DIR)/sample.obj: ../sample.c ../kernel_id.h
113
114
115 # end of file
116