OSDN Git Service

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