1 # ----------------------------------------------------------------------------
2 # Hyper Operating System Application Framework
4 # Copyright (C) 2007-2008 by Project HOS
5 # http://sourceforge.jp/projects/hos/
6 # ----------------------------------------------------------------------------
13 OS_DIR = ..\..\..\..\..
14 KERNEL_DIR = $(OS_DIR)\kernel
15 KERNEL_CFGRTR_DIR = $(OS_DIR)\cfgrtr\build\msc
16 KERNEL_MAKINC_DIR = $(KERNEL_DIR)\build\common\nmake
17 KERNEL_BUILD_DIR = $(KERNEL_DIR)\build\sh\sh2\shc
18 HOSAPLFW_DIR = $(OS_DIR)\aplfw
19 HOSAPLFW_INC_DIR = $(HOSAPLFW_DIR)
20 HOSAPLFW_BUILD_DIR = $(HOSAPLFW_DIR)\build\sh\sh2\shc
21 OBJS_DIR = objs_$(TARGET)
25 !include $(KERNEL_MAKINC_DIR)\common.inc
29 KERNEL_CFGRTR = $(KERNEL_CFGRTR_DIR)\h4acfg-sh2
33 HOSAPLFW_LIB = $(HOSAPLFW_BUILD_DIR)\hosaplfw.$(EXT_LIB)
37 !if "$(MEMMAP)" == "ext"
40 SECTION_VECT = 00400000
41 SECTION_ROM = 00400400
42 SECTION_RAM = 00410000
45 SECTION_VECT = 00000000
46 SECTION_ROM = 00000400
47 SECTION_RAM = 00400000
52 !if "$(DEBUG)" == "Yes"
54 HOSAPLFW_LIB = $(HOSAPLFW_BUILD_DIR)\hosaplfwdbg.$(EXT_LIB)
60 CFLAGS = $(CFLAGS) -CP=sh2 -DEBug -NOLOGO
61 AFLAGS = $(AFLAGS) -CP=sh2 -DEBug -NOLOGO
66 TARGET_EXE = $(TARGET).$(EXT_EXE)
67 TARGET_MOT = $(TARGET).$(EXT_MOT)
71 !include $(KERNEL_MAKINC_DIR)\shc_d.inc
75 INC_DIRS = $(INC_DIRS) $(HOSAPLFW_INC_DIR)
79 SRC_DIRS = $(SRC_DIRS) . ..
83 ASRCS = $(ASRCS) .\vcttbl.src
84 ASRCS = $(ASRCS) .\startup.src
88 CSRCS = $(CSRCS) .\dbsct.c
89 CSRCS = $(CSRCS) ..\kernel_cfg.c
90 CSRCS = $(CSRCS) ..\main.c
91 CSRCS = $(CSRCS) ..\boot.c
92 CSRCS = $(CSRCS) ..\ostimer.c
96 OBJS = $(OBJS) $(OBJS_DIR)\vcttbl.$(EXT_OBJ)
97 OBJS = $(OBJS) $(OBJS_DIR)\startup.$(EXT_OBJ)
98 OBJS = $(OBJS) $(OBJS_DIR)\kernel_cfg.$(EXT_OBJ)
99 OBJS = $(OBJS) $(OBJS_DIR)\main.$(EXT_OBJ)
100 OBJS = $(OBJS) $(OBJS_DIR)\boot.$(EXT_OBJ)
101 OBJS = $(OBJS) $(OBJS_DIR)\ostimer.$(EXT_OBJ)
105 LIBS = $(LIBS) $(HOSAPLFW_LIB) $(STD_LIBS)
109 # --------------------------------------
111 # --------------------------------------
113 all: make_subproject makeexe_all $(OBJS_DIR)\kernel_cfg.c srcobjcp $(TARGET_EXE) $(TARGET_MOT)
116 $(CMD_CD) $(HOSAPLFW_BUILD_DIR)
121 -$(CMD_RM) $(TARGET_EXE) $(TARGET_EXE) $(OBJS) ..\kernel_cfg.c ..\kernel_id.h
123 mostlyclean: clean kernel_clean
124 $(CMD_CD) $(HOSAPLFW_BUILD_DIR)
125 $(MAKE) -f nmake.mak clean
129 ..\kernel_cfg.c ..\kernel_id.h: ..\system.cfg
130 cl /E ..\system.cfg > ..\system.i
131 $(KERNEL_CFGRTR) ..\system.i -c ..\kernel_cfg.c -i ..\kernel_id.h
133 $(OBJS_DIR)\kernel_cfg.c: ..\kernel_cfg.c
134 $(CMD_CP) ..\kernel_cfg.c $(OBJS_DIR)
135 $(CMD_CP) ..\kernel_id.h $(OBJS_DIR)
138 lbgsh -OUTPut=$(STD_LIBS) -CP=sh2
142 !include $(KERNEL_MAKINC_DIR)\makeexe.inc
144 # %jp{コンパイラ依存のルール定義読込み}
145 !include $(KERNEL_MAKINC_DIR)\shc_r.inc
151 $(CMD_CP) .\*.src $(OBJS_DIR)
152 $(CMD_CP) .\*.c $(OBJS_DIR)
153 $(CMD_CP) ..\*.c $(OBJS_DIR)
157 # --------------------------------------
159 # --------------------------------------
161 $(OBJS_DIR)\kernel_cfg.$(EXT_OBJ) : $(OBJS_DIR)\kernel_cfg.c ..\kernel_id.h
162 $(OBJS_DIR)\main.$(EXT_OBJ) : $(OBJS_DIR)\main.c ..\kernel_id.h
163 $(OBJS_DIR)\boot.$(EXT_OBJ) : $(OBJS_DIR)\boot.c ..\kernel_id.h ..\boot.h
164 $(OBJS_DIR)\ostimer.$(EXT_OBJ) : $(OBJS_DIR)\ostimer.c ..\kernel_id.h ..\ostimer.h
165 $(OBJS_DIR)\wintimer.$(EXT_OBJ) : $(OBJS_DIR)\wintimer.c ..\kernel_id.h ..\wintimer.h