OSDN Git Service

(none)
[hos/hos-v4a.git] / aplfw / sample / sh / cq7144a / shc / 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 TOP_DIR             = ../../../../..
14 KERNEL_DIR          = $(TOP_DIR)/kernel
15 KERNEL_CFGRTR_DIR   = $(TOP_DIR)/cfgrtr/build/gcc
16 KERNEL_MAKINC_DIR   = $(KERNEL_DIR)/build/common/gmake
17 KERNEL_BUILD_DIR    = $(KERNEL_DIR)/build/sh/sh2/shc
18 HOSAPLFW_DIR        = $(TOP_DIR)/aplfw
19 HOSAPLFW_INC_DIR    = $(HOSAPLFW_DIR)
20 HOSAPLFW_BUILD_DIR  = $(HOSAPLFW_DIR)/build/sh/sh2/shc
21 OBJS_DIR            = objs_$(TARGET)
22
23
24 # %jp{共通定義読込み}
25 include $(KERNEL_MAKINC_DIR)/common.inc
26
27
28 # %jp{コンフィギュレータ定義}
29 KERNEL_CFGRTR = $(KERNEL_CFGRTR_DIR)/h4acfg-sh2
30
31
32 # %jp{ライブラリ定義}
33 HOSAPLFW_LIB = $(HOSAPLFW_BUILD_DIR)/hosaplfw.$(EXT_LIB)
34 STD_LIBS  = stdlib.lib
35
36
37 # %jp{メモリマップ}
38 ifeq ($(MEMMAP),ext)
39 # %jp{外部メモリ}
40 TARGET       := $(TARGET)ext
41 SECTION_VECT ?= 00400000
42 SECTION_ROM  ?= 00400400
43 SECTION_RAM  ?= 00410000
44 else
45 # %jp{内蔵ROMメモリ}
46 SECTION_VECT ?= 00000000
47 SECTION_ROM  ?= 00000400
48 SECTION_RAM  ?= 00400000
49 endif
50
51
52 # %jp{デバッグ版の定義変更}
53 ifeq ($(DEBUG),Yes)
54 TARGET := $(TARGET)dbg
55 HOSAPLFW_LIB = $(HOSAPLFW_BUILD_DIR)/hosaplfwdbg.$(EXT_LIB)
56 endif
57
58
59 # %jp{フラグ設定}
60 CFLAGS  += -CP=sh2 -DEBug -NOLOGO
61 AFLAGS  += -CP=sh2 -DEBug -NOLOGO
62 LNFLAGS += 
63
64
65 # %jp{出力ファイル名}
66 TARGET_EXE = $(TARGET).$(EXT_EXE)
67 TARGET_MOT = $(TARGET).$(EXT_MOT)
68
69
70 # %jp{shc用の設定読込み}
71 include $(KERNEL_MAKINC_DIR)/shc_d.inc
72
73
74 # %jp{インクルードディレクトリ}
75 INC_DIRS += $(HOSAPLFW_INC_DIR)
76
77 # %jp{ソースディレクトリ}
78 SRC_DIRS += . ..
79
80
81 # %jp{アセンブラファイルの追加}
82 ASRCS += ./vcttbl.src           \
83          ./startup.src          \
84
85
86 # %jp{C言語ファイルの追加}
87 CSRCS += ./dbsct.c                      \
88          ../kernel_cfg.c        \
89          ../main.c                      \
90          ../boot.c                      \
91          ../ostimer.c
92
93
94 # %jp{ライブラリファイルの追加}
95 LIBS += $(HOSAPLFW_LIB) $(STD_LIBS)
96
97
98
99 # --------------------------------------
100 #  %jp{ルール}
101 # --------------------------------------
102
103 .PHONY : all
104 all: make_libs makeexe_all $(TARGET_EXE) $(TARGET_MOT)
105
106
107 .PHONY : make_libs
108 make_libs:
109         $(MAKE) -C $(HOSAPLFW_BUILD_DIR) -f gmake.mak
110
111 .PHONY : clean
112 clean: makeexe_clean
113         rm -f $(TARGET_EXE) $(TARGET_EXE) $(OBJS) ../kernel_cfg.c ../kernel_id.h
114
115 .PHONY : mostlyclean
116 mostlyclean: clean kernel_clean
117         $(MAKE) -C $(HOSAPLFW_BUILD_DIR) -f gmake.mak clean
118
119 .PHONY : depend
120 depend: makeexe_depend
121
122 .PHONY : mostlydepend
123 mostlydepend: depend kernel_depend
124         $(MAKE) -C $(HOSAPLFW_BUILD_DIR) -f gmake.mak depend
125
126 .PHONY : srccpy
127 srccpy: makeexe_srccpy
128         $(MAKE) -C $(KERNEL_BUILD_DIR) -f gmake.mak srccpy
129         $(MAKE) -C $(HOSAPLFW_BUILD_DIR) -f gmake.mak srccpy
130
131
132 $(STD_LIBS):
133         lbgsh -OUTPut=$(STD_LIBS) -CP=sh2
134 #       lbgsh -OUTPut=$(STD_LIBS) -CP=sh2 -REent 
135
136
137 ../kernel_cfg.c ../kernel_id.h: ../system.cfg
138         cpp -E ../system.cfg ../system.i
139         $(KERNEL_CFGRTR) ../system.i -c ../kernel_cfg.c -i ../kernel_id.h
140
141
142
143 # %jp{ライブラリ生成用設定読込み}
144 include $(KERNEL_MAKINC_DIR)/makeexe.inc
145
146 # %jp{shc用のルール定義読込み}
147 include $(KERNEL_MAKINC_DIR)/shc_r.inc
148
149
150
151 # --------------------------------------
152 #  %jp{依存関係}
153 # --------------------------------------
154
155 $(OBJS_DIR)/sample.obj: ../sample.c ../kernel_id.h
156
157
158 # end of file