1 # ----------------------------------------------------------------------------
2 # Hyper Operating System V4 Advance
3 # makefile for Win32 advanced mode
5 # Copyright (C) 1998-2008 by Project HOS
6 # http://sourceforge.jp/projects/hos/
7 # ----------------------------------------------------------------------------
12 # --------------------------------------
14 # --------------------------------------
16 # %jp{ターゲットライブラリ名}%en{target library name}
20 # %jp{アーキテクチャ定義}%en{architecture}
27 # %jp{ディレクトリ定義}%en{directories}
28 TOP_DIR = ..\..\..\..\..
29 KERNEL_DIR = $(TOP_DIR)\kernel
30 KERNEL_MAKINC_DIR = $(KERNEL_DIR)\build\common\nmake
31 INC_PROC_DIR = $(KERNEL_DIR)\include\arch\proc\$(ARCH_PROC)
32 INC_IRC_DIR = $(KERNEL_DIR)\include\arch\irc\$(ARCH_IRC)
33 SRC_PROC_DIR = $(KERNEL_DIR)\source\arch\proc\$(ARCH_PROC)
34 SRC_PROC_CC_DIR = $(KERNEL_DIR)\source\arch\proc\$(ARCH_PROC)\$(ARCH_CC)
35 SRC_IRC_DIR = $(KERNEL_DIR)\source\arch\irc\$(ARCH_IRC)
36 SRC_IRC_CC_DIR = $(KERNEL_DIR)\source\arch\irc\$(ARCH_IRC)\$(ARCH_CC)
37 CFGRTR_DIR = $(TOP_DIR)\cfgrtr\build\msc
40 # %jp{コンフィギュレータ定義}%en{kernel configurator}
41 CFGRTR = h4acfg-$(ARCH_NAME)
43 # %jp{カーネル指定}%en{kernel flag}
47 # %jp{共通定義読込み}%jp{common setting}
48 !include $(KERNEL_MAKINC_DIR)\common.inc
51 # %jp{パス設定}%en{add source directories}
52 INC_DIRS = $(INC_DIRS) $(INC_PROC_DIR) $(INC_IRC_DIR)
53 SRC_DIRS = $(SRC_DIRS) $(SRC_PROC_DIR) $(SRC_PROC_DIR) $(SRC_PROC_ASM_DIR) $(SRC_IRC_DIR) $(SRC_IRC_ASM_DIR)
56 # %jp{オプションフラグ}%en{option flags}
62 # %jp{コンパイラ依存の設定読込み}%en{compiler dependent definitions}
63 !include $(KERNEL_MAKINC_DIR)\$(ARCH_CC)_d.inc
65 # %jp{ライブラリ生成用設定読込み}%en{definitions for library}
66 !include $(KERNEL_MAKINC_DIR)\maklib_d.inc
70 # --------------------------------------
71 # %jp{ソースファイル}%en{source files}
72 # --------------------------------------
74 # %jp{アセンブラファイルの追加}%en{assembry sources}
77 # %jp{C言語ファイルの追加}%en{C sources}
78 CSRCS = $(CSRCS) $(SRC_PROC_DIR)\kcre_ctx.c
79 CSRCS = $(CSRCS) $(SRC_PROC_DIR)\kdis_int.c
80 CSRCS = $(CSRCS) $(SRC_PROC_DIR)\kena_int.c
81 CSRCS = $(CSRCS) $(SRC_PROC_DIR)\kini_prc.c
82 CSRCS = $(CSRCS) $(SRC_PROC_DIR)\krst_ctx.c
83 CSRCS = $(CSRCS) $(SRC_PROC_DIR)\ksta_ctx.c
84 CSRCS = $(CSRCS) $(SRC_PROC_DIR)\kswi_ctx.c
85 CSRCS = $(CSRCS) $(SRC_PROC_DIR)\kwai_int.c
86 CSRCS = $(CSRCS) $(SRC_PROC_DIR)\val_int.c
87 CSRCS = $(CSRCS) $(SRC_PROC_DIR)\vsig_int.c
91 OBJS = $(OBJS) $(OBJS_DIR)\kcre_ctx.$(EXT_OBJ)
92 OBJS = $(OBJS) $(OBJS_DIR)\kdis_int.$(EXT_OBJ)
93 OBJS = $(OBJS) $(OBJS_DIR)\kena_int.$(EXT_OBJ)
94 OBJS = $(OBJS) $(OBJS_DIR)\kini_prc.$(EXT_OBJ)
95 OBJS = $(OBJS) $(OBJS_DIR)\krst_ctx.$(EXT_OBJ)
96 OBJS = $(OBJS) $(OBJS_DIR)\ksta_ctx.$(EXT_OBJ)
97 OBJS = $(OBJS) $(OBJS_DIR)\kswi_ctx.$(EXT_OBJ)
98 OBJS = $(OBJS) $(OBJS_DIR)\kwai_int.$(EXT_OBJ)
99 OBJS = $(OBJS) $(OBJS_DIR)\val_int.$(EXT_OBJ)
100 OBJS = $(OBJS) $(OBJS_DIR)\vsig_int.$(EXT_OBJ)
103 # %jp{カーネル共通ソースの追加}%en{kernel common sources}
104 !include $(KERNEL_MAKINC_DIR)\knlsrc.inc
109 # --------------------------------------
110 # %jp{ルール定義}%en{rules}
111 # --------------------------------------
114 all: mkdir_objs srcobjcp makelib_all
115 $(CMD_CD) $(CFGRTR_DIR)
116 $(MAKE) TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC)
119 # %jp{クリーン}%en{clean}
122 -$(CMD_RM) $(OBJS_DIR)\*.*
124 $(MAKE) TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC) clean
126 # %jp{ライブラリ生成用設定読込み}%en{rules for library}
127 !include $(KERNEL_MAKINC_DIR)\maklib_r.inc
129 # %jp{コンパイラ依存のルール定義読込み}%en{rules for compiler}
130 !include $(KERNEL_MAKINC_DIR)\$(ARCH_CC)_r.inc
135 $(CMD_CP) $(SRC_PROC_DIR)\*.c $(OBJS_DIR)
136 $(CMD_CP) $(SRC_IRC_DIR)\*.c $(OBJS_DIR)
140 # --------------------------------------
141 # %jp{依存関係}%en{dependency}
142 # --------------------------------------
144 # %jp{カーネル依存関係読込み}%en{kernel dependency list}
145 !include $(KERNEL_MAKINC_DIR)\knldep.inc