OSDN Git Service

debug sdcc
[hos/hos-v4a.git] / kernel / build / common / gmake / sdcc_r.inc
1 # ----------------------------------------------------------------------------
2 #  Hyper Operating System V4 Advance
3 #
4 #  Copyright (C) 1998-2006 by Project HOS
5 #  http://sourceforge.jp/projects/hos/
6 # ----------------------------------------------------------------------------
7
8
9
10 # --------------------------------------
11 #  %jp{オプション展開}%en{options}
12 # --------------------------------------
13
14
15 # %jp{C言語インクルードパスオプションの定義}%en{C-compiler include path}
16 ifneq ($(INC_DIRS),)
17 CFLAGS_INC ?= $(patsubst %,-I%,$(INC_DIRS))
18 endif
19
20
21 # %jp{C言語マクロ定義オプションの定義}%en{C-compiler define macros}
22 ifneq ($(C_DEFS),)
23 CFLAGS_DEF ?= $(patsubst %,-D%,$(C_DEFS))
24 endif
25
26
27 # %jp{アセンブリ言語インクルードパスオプションの定義}%en{Assembler include path}
28 ifneq ($(INC_DIRS),)
29 AFLAGS_INC ?= $(patsubst %,-I%,$(INC_DIRS))
30 endif
31
32
33 # %jp{アセンブリ言語マクロ定義オプションの定義}%en{Assembler define macros}
34 ifneq ($(A_DEFS),)
35 AFLAGS_DEF ?= $(patsubst %,-D%,$(A_DEFS))
36 endif
37
38
39 # %jp{オプション統合}{Options marged}
40 CFLAGS += $(CFLAGS_INC) $(CFLAGS_DEF)
41 AFLAGS += $(AFLAGS_INC) $(AFLAGS_DEF)
42
43
44
45 # --------------------------------------
46 #  %jpルール定義}%en{Rules}
47 # --------------------------------------
48
49
50 # %jp{実行ファイル生成}%en{Executable file}
51 $(TARGET_EXE): $(OBJS) $(LIBS)
52         $(CMD_LINK) $(LNFLAGS) $(OBJS) $(LIBS) $(LNFLAGS2) -o $(TARGET_EXE)
53
54
55 # %jp{モトローラS形式ファイル生成}%en{Motorola S format file}
56 $(TARGET_MOT): $(TARGET_EXE)
57         $(CMD_OBJCNV) -O srec $(TARGET_EXE) $(TARGET_MOT)
58
59
60 # %jp{インテルHEX形式ファイル生成}%en{Intel HEX format file}
61 $(TARGET_HEX): $(TARGET_EXE)
62         $(CMD_OBJCNV) -O ihex $(TARGET_EXE) $(TARGET_HEX)
63
64
65 # %jp{プレーンバイナリ形式ファイル生成}%en{Plain Binary}
66 $(TARGET_BIN): $(TARGET_EXE)
67         $(CMD_OBJCNV) -O binary $(TARGET_EXE) $(TARGET_BIN)
68
69
70 # %jp{ライブラリ生成}%en{Library}
71 $(TARGET_LIB): $(OBJS)
72         $(CMD_LIBR) $(ARFLAGS) -r $(TARGET_LIB) $(OBJS)
73
74
75 # %jp{Cコンパイル}%en{C Compile}
76 $(OBJS_DIR)/%.$(EXT_OBJ) :: %.$(EXT_C)
77         $(CMD_CC) $(CFLAGS) -c $< -o $@
78
79
80 # %jp{アセンブル}%en{Assemble}
81 $(OBJS_DIR)/%.$(EXT_OBJ) :: %.$(EXT_ASM)
82         $(CMD_ASM) $(AFLAGS) -c $< -o $@
83
84
85 # %jp{一括コンパイル}%en{batch cmpile}
86 batch_c:
87         $(CMD_CC) $(CFLAGS) -c $(CSRCS)
88         $(CMD_MV) -f $(addsuffix .$(EXT_OBJ), $(basename $(notdir $(CSRCS)))) $(OBJS_DIR)
89
90
91 # %jp{一括アセンブル}%en{batch cmpile}
92 batch_asm:
93         $(CMD_CC) $(CFLAGS) -c $(ASRCS)
94         $(CMD_MV) -f $(addsuffix .$(EXT_OBJ), $(basename $(notdir $(ASRCS)))) $(OBJS_DIR)
95
96
97
98 # end of file