OSDN Git Service

add sh7262
[hos/hos-v4a.git] / sample / sh / sh7262 / shc / GNUmakefile
1 # ----------------------------------------------------------------------------
2 # Hyper Operating System V4 Advance
3 #  makefile for sh2-sample
4 #
5 # Copyright (C) 1998-2007 by Project HOS
6 # http://sourceforge.jp/projects/hos/
7 # ----------------------------------------------------------------------------
8
9
10
11 # --------------------------------------
12 #  %jp{\8ae\8eí\90Ý\92è}{setting}
13 # --------------------------------------
14
15 # %jp{\83^\81[\83Q\83b\83g\96¼}%en{target name}
16 TARGET ?= sample
17
18
19 # %jp{\83A\81[\83L\83e\83N\83`\83\83\92è\8b`}%en{architecture}
20 ARCH_NAME ?= sh2a-fpu
21 ARCH_CC   ?= shc
22
23
24 # %jp{\83f\83B\83\8c\83N\83g\83\8a\92è\8b`}%en{directories}
25 OS_DIR            = ../../../..
26 KERNEL_DIR        = $(OS_DIR)/kernel
27 KERNEL_CFGRTR_DIR = $(OS_DIR)/cfgrtr/build/gcc
28 KERNEL_MAKINC_DIR = $(KERNEL_DIR)/build/common/gmake
29 KERNEL_BUILD_DIR  = $(KERNEL_DIR)/build/sh/sh2a-fpu/shc
30
31
32 # %jp{\83R\83\93\83t\83B\83M\83\85\83\8c\81[\83^\92è\8b`}
33 KERNEL_CFGRTR = $(KERNEL_CFGRTR_DIR)/h4acfg-$(ARCH_NAME)
34
35
36 # %jp{\8b¤\92Ê\92è\8b`\93Ç\8d\9e\82Ý}%jp{common setting}
37 include $(KERNEL_MAKINC_DIR)/common.inc
38
39
40 ifeq ($(MEMMAP),ram)
41 # %jp{RAM\8eÀ\8ds}%en{external RAM}
42 TARGET := $(TARGET)_ram
43 SECTION_VECT ?= 01c000000
44 SECTION_RO   ?= 01c000800
45 SECTION_RW   ?= 01c028000
46 else
47 # %jp{ROM\8fÄ\82«\82·\82é\8fê\8d\87}%en{internal ROM}
48 TARGET := $(TARGET)
49 SECTION_VECT ?= 000000000
50 SECTION_RO   ?= 000000800
51 SECTION_RW   ?= 01c000000
52 endif
53
54
55 # %jp{\83p\83X\90Ý\92è}%en{add source directories}
56 INC_DIRS += . ..
57 SRC_DIRS += . ..
58
59
60 # %jp{\83I\83v\83V\83\87\83\93\83t\83\89\83O}%en{option flags}
61 AFLAGS  = -CPu=sh2afpu
62 CFLAGS  = -CPu=sh2afpu
63 LNFLAGS = 
64
65
66 # %jp{\83R\83\93\83p\83C\83\89\88Ë\91\82Ì\90Ý\92è\93Ç\8d\9e\82Ý}%en{compiler dependent definitions}
67 include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_d.inc
68
69 # %jp{\8eÀ\8ds\83t\83@\83C\83\8b\90\90¬\97p\90Ý\92è\93Ç\8d\9e\82Ý}%en{definitions for exection file}
70 include $(KERNEL_MAKINC_DIR)/makexe_d.inc
71
72
73 # %jp{\8fo\97Í\83t\83@\83C\83\8b\96¼}%en{output files}
74 TARGET_EXE = $(TARGET).$(EXT_EXE)
75 TARGET_MOT = $(TARGET).$(EXT_MOT)
76
77 # %jp{C\83\89\83C\83u\83\89\83\8a\96¼\82Ì\8ew\92è}%en{std library}
78 STD_LIBS = stdlib.lib
79
80
81
82
83 # --------------------------------------
84 #  %jp{\83\\81[\83X\83t\83@\83C\83\8b}%en{source files}
85 # --------------------------------------
86
87 # %jp{\83A\83Z\83\93\83u\83\89\83t\83@\83C\83\8b\82Ì\92Ç\89Á}%en{assembry sources}
88 ASRCS += ./vcttbl.src
89 ASRCS += ./startup.src
90
91
92 # %jp{C\8c¾\8cê\83t\83@\83C\83\8b\82Ì\92Ç\89Á}%en{C sources}
93 CSRCS += ./dbsct.c
94 CSRCS += ../kernel_cfg.c
95 CSRCS += ../main.c
96 CSRCS += ../sample.c
97 CSRCS += ../ostimer.c
98 CSRCS += ../sci1.c
99
100
101 # %jp{\83\89\83C\83u\83\89\83\8a\82Ì\92Ç\89Á}%en{library}
102 LIBS  += $(STD_LIBS)
103
104
105
106
107 # --------------------------------------
108 #  %jp{\83\8b\81[\83\8b\92è\8b`}%en{rules}
109 # --------------------------------------
110
111 # %jp{ALL}%en{all}
112 .PHONY : all
113 all: makeexe_all $(TARGET_EXE) $(TARGET_MOT)
114
115 # %jp{\83N\83\8a\81[\83\93}%en{clean}
116 .PHONY : clean
117 clean: makeexe_clean
118         rm -f $(TARGET_EXE) $(TARGET_EXE) $(OBJS) ../kernel_cfg.c ../kernel_id.h
119
120 # %jp{\88Ë\91\8aÖ\8cW\8dX\90V}%en{depend}
121 .PHONY : depend
122 depend: makeexe_depend
123
124 # %jp{\83\\81[\83X\88ê\8a\87\83R\83s\81[}%en{source files copy}
125 .PHONY : srccpy
126 srccpy: makeexe_srccpy
127
128 # %jp{\83J\81[\83l\83\8b\82²\82Æ\83N\83\8a\81[\83\93}%en{mostlyclean}
129 .PHONY : mostlyclean
130 mostlyclean: clean kernel_clean
131
132
133 # %jp{\95W\8f\80\83\89\83C\83u\83\89\83\8a}%en{std library}
134 $(STD_LIBS):
135         lbgsh -OUTPut=$(STD_LIBS) -CPu=sh2 -REent
136
137
138 # %jp{\83R\83\93\83t\83B\83M\83\85\83\8c\81[\83^\8eÀ\8ds}%en{configurator}
139 ../kernel_cfg.c ../kernel_id.h: ../system.cfg $(KERNEL_CFGRTR)
140         cpp -E ../system.cfg ../system.i
141         $(KERNEL_CFGRTR) ../system.i -c ../kernel_cfg.c -i ../kernel_id.h
142
143
144 # %jp{\8eÀ\8ds\83t\83@\83C\83\8b\90\90¬\97p\90Ý\92è\93Ç\8d\9e\82Ý}%en{setting for execute file}
145 include $(KERNEL_MAKINC_DIR)/makeexe.inc
146
147 # %jp{shc\97p\82Ì\83\8b\81[\83\8b\92è\8b`\93Ç\8d\9e\82Ý}
148 include $(KERNEL_MAKINC_DIR)/shc_r.inc
149
150
151
152 # --------------------------------------
153 #  %jp{\88Ë\91\8aÖ\8cW}%en{dependency}
154 # --------------------------------------
155
156 $(OBJS_DIR)/sample.obj: ../sample.c ../kernel_id.h
157
158
159 # end of file
160