OSDN Git Service

add ignore file
[hos/hos-v4a.git] / sample / arm / aduc7000 / gcc / Makefile
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 # %jp{ターゲット名}
9 TARGET ?= sample
10
11 # %jp{ツール定義}
12 GCC_ARCH   ?= arm-elf-
13 CMD_CC     ?= $(GCC_ARCH)gcc
14 CMD_ASM    ?= $(GCC_ARCH)gcc
15 CMD_LINK   ?= $(GCC_ARCH)gcc
16 CMD_OBJCNV ?= $(GCC_ARCH)objcopy
17
18
19 # %jp{ディレクトリ定義}
20 OS_DIR            = ../../../..
21 KERNEL_DIR        = $(OS_DIR)/kernel
22 KERNEL_CFGRTR_DIR = $(OS_DIR)/cfgrtr/build/gcc
23 KERNEL_MAKINC_DIR = $(KERNEL_DIR)/build/common/gmake
24 KERNEL_BUILD_DIR  = $(KERNEL_DIR)/build/arm/aduc7000/gcc
25 OBJS_DIR          = objs_$(TARGET)
26
27 # %jp{共通定義読込み}
28 include $(KERNEL_MAKINC_DIR)/common.inc
29
30 # デバッグ版のターゲット名変更
31 ifeq ($(DEBUG),Yes)
32 TARGET := $(TARGET)dbg
33 endif
34
35 # リンカスクリプト
36 LINK_SCRIPT = link.lds
37
38
39 # %jp{フラグ設定}
40 CFLAGS  = -mcpu=arm7tdmi -mthumb-interwork
41 AFLAGS  = -mcpu=arm7tdmi -mthumb-interwork
42 LNFLAGS = -mcpu=arm7tdmi -mthumb-interwork -nostartfiles -Wl,-Map,$(TARGET).map,-T$(LINK_SCRIPT)
43
44
45 # %jp{コンフィギュレータ定義}
46 KERNEL_CFGRTR = $(KERNEL_CFGRTR_DIR)/h4acfg-aduc7000
47
48 # 出力ファイル名
49 TARGET_EXE = $(TARGET).$(EXT_EXE)
50 TARGET_MOT = $(TARGET).$(EXT_MOT)
51 TARGET_HEX = $(TARGET).$(EXT_HEX)
52
53
54 # %jp{gcc用の設定読込み}
55 include $(KERNEL_MAKINC_DIR)/gcc_d.inc
56
57 # ソースディレクトリ
58 SRC_DIRS += . ..
59
60 # アセンブラファイルの追加
61 ASRCS += ./vectors.S            \
62          ./crt0.S
63
64 # %jp{C言語ファイルの追加}
65 CSRCS += ../kernel_cfg.c        \
66          ../main.c                      \
67          ../sample.c            \
68          ../ostimer.c           \
69          ../uart.c
70
71
72
73 # --------------------------------------
74 #  %jp{ルール}
75 # --------------------------------------
76
77 .PHONY : all
78 all: makeexe_all $(TARGET_EXE) $(TARGET_MOT) $(TARGET_HEX)
79
80 clean: makeexe_clean
81         rm -f $(TARGET_EXE) $(TARGET_EXE) $(OBJS) ../kernel_cfg.c ../kernel_id.h
82
83 ../kernel_cfg.c ../kernel_id.h: ../system.cfg
84         cpp -E ../system.cfg ../system.i
85         $(KERNEL_CFGRTR) ../system.i -c ../kernel_cfg.c -i ../kernel_id.h
86
87
88 # %jp{ライブラリ生成用設定読込み}
89 include $(KERNEL_MAKINC_DIR)/makeexe.inc
90
91 # %jp{gcc用のルール定義読込み}
92 include $(KERNEL_MAKINC_DIR)/gcc_r.inc
93
94
95
96 # --------------------------------------
97 #  %jp{依存関係}
98 # --------------------------------------
99
100 $(OBJS_DIR)/sample.$(EXT_OBJ): ../sample.c ../kernel_id.h
101
102
103 # end of file
104