OSDN Git Service

820872f2ecad7b90949e6f04b97e88bddd1d7ab6
[hos/hos-v4a.git] / kernel / build / common / nmake / makelib.inc
1 # ----------------------------------------------------------------------------
2 #  Hyper Operating System V4 Advance
3 #    common include file for library file
4 #
5 #  Copyright (C) 1998-2007 by Project HOS
6 #  http://sourceforge.jp/projects/hos/
7 # ----------------------------------------------------------------------------
8
9
10
11
12 # --------------------------------------
13 #  %jp{オプション解析}
14 # --------------------------------------
15
16 !ifndef DEBUG
17 DEBUG = No
18 !endif
19
20 !ifndef OPT_SPEED
21 OPT_SPEED = No
22 !endif
23
24 !ifndef OPT_SIZE
25 OPT_SIZE = No
26 !endif
27
28 !ifndef KERNEL_DEBUG
29 KERNEL_DEBUG = No
30 !endif
31
32
33 !if "$(DEBUG)" == "Yes"
34 # %jp{デバッグ指定があればデバッグ版作成}%en{debug version}
35 TARGET = $(TARGET)dbg
36 CFLAGS = $(CFLAGS) $(CFLAGS_DBG) $(CFLAGS_OPT_NONE)
37 AFLAGS = $(AFLAGS) $(AFLAGS_DBG) $(AFLAGS_OPT_NONE)
38 C_DEFS = $(C_DEFS) _KERNEL_DEBUG
39 A_DEFS = $(A_DEFS) _KERNEL_DEBUG
40 !else
41 !if "$(OPT_SPEED)" == "Yes"
42 # %jp{速度最適化指定があれば速度優先}%en{optimize speed}
43 CFLAGS = $(CFLAGS) $(AFLAGS_OPT_SPEED)
44 AFLAGS = $(AFLAGS) $(AFLAGS_OPT_SPEED)
45 !else
46 !if "$(OPT_SIZE)" == "Yes"
47 # %jp{サイズ優先適化指定があればサイズ優先}%en{optimize size}
48 CFLAGS = $(CFLAGS) $(AFLAGS_OPT_SIZE)
49 AFLAGS = $(AFLAGS) $(AFLAGS_OPT_SIZE)
50 !else
51 # %jp{デフォルトで通常の最適化}%en{optimize}
52 CFLAGS = $(CFLAGS) $(AFLAGS_OPT_NORMAL)
53 AFLAGS = $(AFLAGS) $(AFLAGS_OPT_NORMAL)
54 !endif
55 !endif
56 !endif
57
58
59 # %jp{エラーレベル指定}%en{error check level}
60 !ifdef ERRLEVEL
61 !if $(ERRLEVEL) == 0
62 TARGET = $(TARGET)er0
63 C_DEFS = $(C_DEFS) _KERNEL_ERRLEVEL=0
64 !else if $(ERRLEVEL) == 1
65 TARGET = $(TARGET)er1
66 C_DEFS = $(C_DEFS) _KERNEL_ERRLEVEL=1
67 !else if $(ERRLEVEL) == 1
68 TARGET = $(TARGET)er2
69 C_DEFS = $(C_DEFS) _KERNEL_ERRLEVEL=2
70 !else if $(ERRLEVEL) == 1
71 TARGET = $(TARGET)er3
72 C_DEFS = $(C_DEFS) _KERNEL_ERRLEVEL=3
73 !else if $(ERRLEVEL) == 1
74 TARGET := $(TARGET)er4
75 C_DEFS = $(C_DEFS) _KERNEL_ERRLEVEL=4
76 !endif
77 !endif
78
79
80
81 # --------------------------------------
82 #  %jp{各種マクロ文字の正規化}%en{Regularization}
83 # --------------------------------------
84
85 OBJS = $(OBJS:  = )
86 OBJS = $(OBJS:  = )
87 OBJS = $(OBJS:  = )
88 OBJS = $(OBJS:  = )
89 OBJS = $(OBJS:  = )
90 OBJS = @$(OBJS)@
91 OBJS = $(OBJS:@ =)
92 OBJS = $(OBJS: @=)
93 OBJS = $(OBJS:@=)
94
95
96
97 # --------------------------------------
98 #  %jp{各種設定}%en{Target}
99 # --------------------------------------
100
101 # %jp{ターゲットライブラリファイル名}%en{Target}
102 TARGET_LIB = $(TARGET).$(EXT_LIB)
103
104
105
106 # --------------------------------------
107 #  %jp{ルール}%en{Rules}
108 # --------------------------------------
109
110 # %jp{ライブラリ生成}%en{library}
111 makelib_all: srcobjcp_makelib $(TARGET_LIB)
112
113
114 # %jp{クリーンナップ}
115 makelib_clean:
116         -$(CMD_RM) $(TARGET_LIB)
117         -$(CMD_RM) $(OBJS_DIR)\*.$(EXT_OBJ)
118
119
120 # %jp{オブジェクト出力ディレクトリ作成}%en{objects directory}
121 mkdir_objs:
122         -$(CMD_MKDIR) $(OBJS_DIR)
123
124
125
126 # end of file