OSDN Git Service

add ignore file
[hos/hos-v4a.git] / test / twai_sem / lpc2000 / gcc / gmake.mak
1 # ----------------------------------------------------------------------------
2 # Hyper Operating System V4 Advance
3 #
4 # Copyright (C) 1998-2008 by Project HOS
5 # http://sourceforge.jp/projects/hos/
6 # ----------------------------------------------------------------------------
7
8
9
10 # --------------------------------------
11 #  %jp{各種設定}{setting}
12 # --------------------------------------
13
14 # %jp{ターゲット名}%en{target name}
15 TARGET ?= sample
16
17
18 # %jp{ツール定義}%en{tools}
19 GCC_ARCH   ?= arm-elf-
20 CMD_CC     ?= $(GCC_ARCH)gcc
21 CMD_ASM    ?= $(GCC_ARCH)gcc
22 CMD_LINK   ?= $(GCC_ARCH)gcc
23 CMD_OBJCNV ?= $(GCC_ARCH)objcopy
24
25
26 # %jp{アーキテクチャ定義}%en{architecture}
27 ARCH_NAME ?= lpc2000
28 ARCH_CC   ?= gcc
29
30
31 # %jp{ディレクトリ定義}%en{directories}
32 TOP_DIR           = ../../../..
33 KERNEL_DIR        = $(TOP_DIR)/kernel
34 KERNEL_CFGRTR_DIR = $(TOP_DIR)/cfgrtr/build/gcc
35 KERNEL_MAKINC_DIR = $(KERNEL_DIR)/build/common/gmake
36 KERNEL_BUILD_DIR  = $(KERNEL_DIR)/build/arm/lpc2000/gcc
37
38
39 # %jp{コンフィギュレータ定義}
40 KERNEL_CFGRTR = $(KERNEL_CFGRTR_DIR)/h4acfg-$(ARCH_NAME)
41
42
43 # %jp{共通定義読込み}%jp{common setting}
44 include $(KERNEL_MAKINC_DIR)/common.inc
45
46
47 # %jp{リンカスクリプト}%en{linker script}
48 LINK_SCRIPT = link.lds
49
50 # %jp{外部メモリ}%en{external memory}
51 ifeq ($(MEMMAP),ext)
52 TARGET     := $(TARGET)_ext
53 LINK_SCRIPT = linkext.lds
54 endif
55
56 # %jp{内蔵RAM}%en{internal RAM}
57 ifeq ($(MEMMAP),ram)
58 LINK_SCRIPT = linkram.lds
59 endif
60
61
62 # %jp{パス設定}%en{add source directories}
63 INC_DIRS += . ..
64 SRC_DIRS += . ..
65
66
67 # %jp{オプションフラグ}%en{option flags}
68 AFLAGS  = -mcpu=arm7tdmi -mthumb-interwork
69 CFLAGS  = -mcpu=arm7tdmi -mthumb-interwork
70 LNFLAGS = -mcpu=arm7tdmi -mthumb-interwork -nostartfiles -Wl,-Map,$(TARGET).map,-T$(LINK_SCRIPT)
71
72
73 # %jp{コンパイラ依存の設定読込み}%en{compiler dependent definitions}
74 include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_d.inc
75
76 # %jp{実行ファイル生成用設定読込み}%en{definitions for exection file}
77 include $(KERNEL_MAKINC_DIR)/makexe_d.inc
78
79
80 # %jp{出力ファイル名}%en{output files}
81 TARGET_EXE = $(TARGET).$(EXT_EXE)
82 TARGET_MOT = $(TARGET).$(EXT_MOT)
83 TARGET_HEX = $(TARGET).$(EXT_HEX)
84 TARGET_BIN = $(TARGET).$(EXT_BIN)
85
86
87
88
89 # --------------------------------------
90 #  %jp{ソースファイル}%en{source files}
91 # --------------------------------------
92
93 # %jp{アセンブラファイルの追加}%en{assembry sources}
94 ASRCS += ./vectors.S
95 ASRCS += ./crt0.S
96
97
98 # %jp{C言語ファイルの追加}%en{C sources}
99 CSRCS += ../kernel_cfg.c
100 CSRCS += ../main.c
101 CSRCS += ../sample.c
102 CSRCS += ../ostimer.c
103 CSRCS += ../uart.c
104
105
106
107
108 # --------------------------------------
109 #  %jp{ルール定義}%en{rules}
110 # --------------------------------------
111
112 # %jp{ALL}%en{all}
113 .PHONY : all
114 all: kernel_make makeexe_all $(TARGET_EXE) $(TARGET_MOT) $(TARGET_HEX) $(TARGET_BIN)
115
116 # %jp{クリーン}%en{clean}
117 .PHONY : clean
118 clean: makeexe_clean
119         rm -f $(TARGET_EXE) $(TARGET_EXE) $(OBJS) ../kernel_cfg.c ../kernel_id.h
120
121 # %jp{依存関係更新}%en{depend}
122 .PHONY : depend
123 depend: makeexe_depend
124
125 # %jp{ソース一括コピー}%en{source files copy}
126 .PHONY : srccpy
127 srccpy: makeexe_srccpy
128
129 # %jp{カーネルごとクリーン}%en{mostlyclean}
130 .PHONY : mostlyclean
131 mostlyclean: clean kernel_clean
132
133
134 # %jp{コンフィギュレータ実行}%en{configurator}
135 ../kernel_cfg.c ../kernel_id.h: ../system.cfg $(KERNEL_CFGRTR)
136         cpp -E ../system.cfg ../system.i
137         $(KERNEL_CFGRTR) ../system.i -c ../kernel_cfg.c -i ../kernel_id.h
138
139
140 # %jp{実行ファイル生成用設定読込み}%en{rules for exection file}
141 include $(KERNEL_MAKINC_DIR)/makexe_r.inc
142
143 # %jp{コンパイラ依存のルール定義読込み}%en{rules for compiler}
144 include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_r.inc
145
146
147
148
149 # --------------------------------------
150 #  %jp{依存関係}%en{dependency}
151 # --------------------------------------
152
153 $(OBJS_DIR)/sample.$(EXT_OBJ) : ../kernel_id.h
154
155
156
157 # end of file
158