1 # ----------------------------------------------------------------------------
2 # Hyper Operating System V4 Advance
3 # makefile for sh2-sample
5 # Copyright (C) 1998-2006 by Project HOS
6 # http://sourceforge.jp/projects/hos/
7 # ----------------------------------------------------------------------------
11 # --------------------------------------
13 # --------------------------------------
15 # %jp{ターゲット名}%en{target name}
19 # %jp{ツール定義}%en{tools}
21 CMD_CC ?= $(GCC_ARCH)gcc
22 CMD_ASM ?= $(GCC_ARCH)gcc
23 CMD_LINK ?= $(GCC_ARCH)gcc
24 CMD_OBJCNV ?= $(GCC_ARCH)objcopy
27 # %jp{拡張子定義}%en{file extention}
31 # %jp{アーキテクチャ定義}%en{architecture}
36 # %jp{ディレクトリ定義}%en{directories}
38 KERNEL_DIR = $(TOP_DIR)/kernel
39 KERNEL_MAKINC_DIR = $(KERNEL_DIR)/build/common/gmake
40 KERNEL_BUILD_DIR = $(KERNEL_DIR)/build/win/win32/gcc
41 KERNEL_CFGRTR_DIR = $(TOP_DIR)/cfgrtr/build/gcc
45 KERNEL_CFGRTR = $(KERNEL_CFGRTR_DIR)/h4acfg-$(ARCH_NAME)
48 # %jp{共通定義読込み}%jp{common setting}
49 include $(KERNEL_MAKINC_DIR)/common.inc
52 # %jp{パス設定}%en{add source directories}
57 # %jp{オプションフラグ}%en{option flags}
64 # %jp{コンパイラ依存の設定読込み}%en{compiler dependent definitions}
65 include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_d.inc
67 # %jp{実行ファイル生成用設定読込み}%en{definitions for exection file}
68 include $(KERNEL_MAKINC_DIR)/makexe_d.inc
71 # %jp{出力ファイル名}%en{output files}
72 TARGET_EXE = $(TARGET).$(EXT_EXE)
76 # --------------------------------------
77 # %jp{ソースファイル}%en{source files}
78 # --------------------------------------
81 # --------------------------------------
82 # %jp{ソースファイル}%en{source files}
83 # --------------------------------------
85 # %jp{アセンブラファイルの追加}%en{assembry sources}
89 # %jp{C言語ファイルの追加}%en{C sources}
90 CSRCS += ../kernel_cfg.c
94 CSRCS += ../wintimer.c
97 # %jp{ライブラリの追加}%en{libraries}
102 # --------------------------------------
103 # %jp{ルール定義}%en{rules}
104 # --------------------------------------
109 all: makeexe_all $(TARGET_EXE)
111 # %jp{クリーン}%en{clean}
113 rm -f $(TARGET_EXE) $(TARGET_EXE) $(OBJS) ../kernel_cfg.c ../kernel_id.h
115 # %jp{依存関係更新}%en{depend}
117 depend: makeexe_depend
119 # %jp{ソース一括コピー}%en{source files copy}
121 srccpy: makeexe_srccpy
123 # %jp{カーネルごとクリーン}%en{mostlyclean}
125 mostlyclean: clean kernel_clean
127 # %jp{コンフィギュレータ実行}%en{configurator}
128 ../kernel_cfg.c ../kernel_id.h: ../system.cfg
129 cpp -E ../system.cfg ../system.i
130 $(KERNEL_CFGRTR) ../system.i -c ../kernel_cfg.c -i ../kernel_id.h
133 # %jp{実行ファイル生成用設定読込み}%en{rules for exection file}
134 include $(KERNEL_MAKINC_DIR)/makexe_r.inc
136 # %jp{コンパイラ依存のルール定義読込み}%en{rules for compiler}
137 include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_r.inc
142 # --------------------------------------
144 # --------------------------------------
146 $(OBJS_DIR)/sample.$(EXT_OBJ): ../sample.c ../kernel_id.h