OSDN Git Service

add ignore file
[hos/hos-v4a.git] / sample / h8 / h83069 / gcc / Makefile
1 # ----------------------------------------------------------------------------
2 # Hyper Operating System V4 Advance
3 #
4 # Copyright (C) 1998-2006 by Project HOS
5 # http://sourceforge.jp/projects/hos/
6 # ----------------------------------------------------------------------------
7
8 # %jp{ターゲット名}
9 TARGET ?= sample
10
11
12 # %jp{ツール定義}
13 GCC_ARCH   ?= h8300-elf-
14 CMD_CC     ?= $(GCC_ARCH)gcc
15 CMD_ASM    ?= $(GCC_ARCH)gcc
16 CMD_LINK   ?= $(GCC_ARCH)gcc
17 CMD_OBJCNV ?= $(GCC_ARCH)objcopy
18
19
20 # %jp{ディレクトリ定義}
21 OS_DIR            = ../../../..
22 KERNEL_DIR        = $(OS_DIR)/kernel
23 KERNEL_CFGRTR_DIR = $(OS_DIR)/cfgrtr/build/gcc
24 KERNEL_MAKINC_DIR = $(KERNEL_DIR)/build/common/gmake
25 KERNEL_BUILD_DIR  = $(KERNEL_DIR)/build/h8/h8300ha/gcc
26 OBJS_DIR          = objs_$(TARGET)
27
28 # %jp{共通定義読込み}
29 include $(KERNEL_MAKINC_DIR)/common.inc
30
31
32 ifeq ($(MEMMAP),ram)
33 # %jp{RAM実行(モニタプログラム利用を想定)}
34 TARGET := $(TARGET)_ram
35 LINKER_SCRIPT ?= link_ram.lds
36 C_DEFS        += _RAM
37 else
38 # %jp{ROM焼きする場合}
39 LINKER_SCRIPT ?= link_rom.lds
40 C_DEFS        += 
41 endif
42
43
44 # %jp{フラグ設定}
45 CFLAGS  = -mh
46 AFLAGS  = -mh
47 LNFLAGS = -mh -nostartfiles -T$(LINKER_SCRIPT) -Wl,-Map,$(TARGET).map
48
49
50 # %jp{コンフィギュレータ定義}
51 KERNEL_CFGRTR = $(KERNEL_CFGRTR_DIR)/h4acfg-h8300ha
52
53 # %jp{出力ファイル名}
54 TARGET_EXE = $(TARGET).$(EXT_EXE)
55 TARGET_MOT = $(TARGET).$(EXT_MOT)
56
57
58 # %jp{gcc用の設定読込み}
59 include $(KERNEL_MAKINC_DIR)/gcc_d.inc
60
61
62 # --------------------------------------
63 #  %jp{ファイル設定}
64 # --------------------------------------
65
66 # %jp{ソースディレクトリ}
67 SRC_DIRS += . ..
68
69 # %jp{アセンブラファイルの追加}
70 ASRCS += ./vector.S                     \
71          ./crt0.S
72
73 # %jp{C言語ファイルの追加}
74 CSRCS += ../kernel_cfg.c        \
75          ../main.c                      \
76          ../sample.c            \
77          ../ostimer.c           \
78          ../sci1.c
79
80 # %jp{ライブラリの追加}
81 LIBS  +=
82
83
84 # --------------------------------------
85 #  %jp{ルール}
86 # --------------------------------------
87
88 .PHONY : all
89 all: makeexe_all $(TARGET_EXE) $(TARGET_MOT)
90
91
92 .PHONY : clean
93 clean: makeexe_clean
94         rm -f $(TARGET_EXE) $(TARGET_MOT) $(OBJS) ../kernel_cfg.c ../kernel_id.h
95
96
97 .PHONY : mostlyclean
98 mostlyclean: clean clean_kernel
99
100
101 ../kernel_cfg.c ../kernel_id.h: ../system.cfg
102         cpp -E ../system.cfg ../system.i
103         $(KERNEL_CFGRTR) ../system.i -c ../kernel_cfg.c -i ../kernel_id.h
104
105
106 # %jp{実行ファイル生成用設定読込み}
107 include $(KERNEL_MAKINC_DIR)/makeexe.inc
108
109 # %jp{gcc用のルール定義読込み}
110 include $(KERNEL_MAKINC_DIR)/gcc_r.inc
111
112
113 # --------------------------------------
114 #  %jp{依存関係}
115 # --------------------------------------
116
117 $(OBJS_DIR)/sample.$(EXT_OBJ): ../sample.c ../kernel_id.h
118
119
120 # end of file
121