HOS-V4 Advance の開発リポジトリ
修订版 | 20b26c6460a582ab07054b4658c4919f7927902a (tree) |
---|---|
时间 | 2012-07-24 00:47:58 |
作者 | ryuz <QZF06013@nift...> |
Commiter | ryuz |
debug sdcc
@@ -1,7 +1,7 @@ | ||
1 | 1 | # ---------------------------------------------------------------------------- |
2 | 2 | # Hyper Operating System V4 Advance |
3 | 3 | # |
4 | -# Copyright (C) 1998-2006 by Project HOS | |
4 | +# Copyright (C) 1998-2012 by Project HOS | |
5 | 5 | # http://sourceforge.jp/projects/hos/ |
6 | 6 | # ---------------------------------------------------------------------------- |
7 | 7 |
@@ -13,62 +13,58 @@ CMD_LIBR ?= sdcclib | ||
13 | 13 | CMD_LINK ?= sdcc |
14 | 14 | CMD_OBJCNV ?= sdcc |
15 | 15 | |
16 | -# %jp{拡張子定義} | |
16 | + | |
17 | +# %jp{拡張子定義}%en{file extensions} | |
17 | 18 | EXT_C ?= c |
18 | 19 | EXT_CPP ?= cpp |
19 | 20 | EXT_ASM ?= S |
20 | -EXT_OBJ ?= o | |
21 | -EXT_LIB ?= lib | |
22 | -EXT_EXE ?= elf | |
21 | +EXT_OBJ ?= rel | |
22 | +EXT_LIB ?= a | |
23 | +EXT_EXE ?= out | |
23 | 24 | EXT_MOT ?= mot |
24 | 25 | EXT_HEX ?= hex |
25 | 26 | EXT_BIN ?= bin |
26 | 27 | |
27 | 28 | |
29 | + | |
28 | 30 | # ---------------------------------- |
29 | 31 | # C-compiler |
30 | 32 | # ---------------------------------- |
31 | 33 | |
32 | -# %jp{共通オプションの設定} | |
34 | +# %jp{共通オプションの設定}%en{common options} | |
33 | 35 | CFLAGS += |
34 | 36 | |
35 | -# %jp{インクルードパスオプションの定義} | |
36 | -CFLAGS_INC ?= $(patsubst %,-I%,$(INC_DIRS)) | |
37 | 37 | |
38 | -# %jp{マクロ定義オプションの定義} | |
39 | -CFLAGS_DEF ?= $(patsubst %,-D%,$(C_DEFS)) | |
38 | +# %jp{デバッグオプションの定義}%en{debug options} | |
39 | +CFLAGS_DBG ?= | |
40 | 40 | |
41 | -# %jp{デバッグオプションの定義} | |
42 | -CFLAGS_DBG ?= --debug | |
43 | 41 | |
44 | -# %jp{最適化オプションの定義} | |
45 | -CFLAGS_OPT_NONE ?= | |
46 | -CFLAGS_OPT_NORMAL ?= | |
42 | +# %jp{最適化オプションの定義}%en{optimize options} | |
43 | +CFLAGS_OPT_NONE ?= | |
44 | +CFLAGS_OPT_NORMAL ?= | |
47 | 45 | CFLAGS_OPT_SIZE ?= --opt-code-size |
48 | 46 | CFLAGS_OPT_SPEED ?= --opt-code-speed |
49 | 47 | |
50 | 48 | |
49 | + | |
51 | 50 | # ---------------------------------- |
52 | 51 | # Assembler |
53 | 52 | # ---------------------------------- |
54 | 53 | |
55 | -# %jp{共通オプションの設定} | |
54 | +# %jp{共通オプションの設定}%en{common options} | |
56 | 55 | AFLAGS += |
57 | 56 | |
58 | -# %jp{インクルードパスオプションの定義} | |
59 | -AFLAGS_INC ?= $(patsubst %,-I%,$(INC_DIRS)) | |
60 | 57 | |
61 | -# %jp{マクロ定義オプションの定義} | |
62 | -AFLAGS_DEF ?= | |
63 | - | |
64 | -# %jp{デバッグオプションの定義} | |
58 | +# %jp{デバッグオプションの定義}%en{debug options} | |
65 | 59 | AFLAGS_DBG ?= --debug |
66 | 60 | |
67 | -# %jp{最適化オプションの定義} | |
61 | + | |
62 | +# %jp{最適化オプションの定義}%en{optimize options} | |
68 | 63 | AFLAGS_OPT_NONE ?= |
69 | 64 | AFLAGS_OPT_NORMAL ?= |
70 | 65 | AFLAGS_OPT_SIZE ?= |
71 | 66 | AFLAGS_OPT_SPEED ?= |
72 | 67 | |
73 | 68 | |
69 | + | |
74 | 70 | # end of file |
@@ -5,31 +5,94 @@ | ||
5 | 5 | # http://sourceforge.jp/projects/hos/ |
6 | 6 | # ---------------------------------------------------------------------------- |
7 | 7 | |
8 | -define NEW-LINES | |
9 | 8 | |
10 | - | |
11 | -endef | |
12 | 9 | |
10 | +# -------------------------------------- | |
11 | +# %jp{オプション展開}%en{options} | |
12 | +# -------------------------------------- | |
13 | 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} | |
14 | 51 | $(TARGET_EXE): $(OBJS) $(LIBS) |
15 | - $(CMD_LINK) $(LNFLAGS) $(OBJS) $(LIBS) -o $(TARGET_EXE) | |
52 | + $(CMD_LINK) $(LNFLAGS) $(OBJS) $(LIBS) $(LNFLAGS2) -o $(TARGET_EXE) | |
16 | 53 | |
17 | 54 | |
55 | +# %jp{モトローラS形式ファイル生成}%en{Motorola S format file} | |
18 | 56 | $(TARGET_MOT): $(TARGET_EXE) |
19 | 57 | $(CMD_OBJCNV) -O srec $(TARGET_EXE) $(TARGET_MOT) |
20 | 58 | |
21 | 59 | |
22 | -# %jp{ライブラリ生成} | |
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} | |
23 | 71 | $(TARGET_LIB): $(OBJS) |
24 | - $(foreach obj,$(OBJS),$(CMD_LIBR) -a $(TARGET_LIB) $(obj)$(NEW-LINES)) | |
72 | + $(CMD_LIBR) $(ARFLAGS) -r $(TARGET_LIB) $(OBJS) | |
73 | + | |
25 | 74 | |
26 | -# %jp{Cコンパイル} | |
75 | +# %jp{Cコンパイル}%en{C Compile} | |
27 | 76 | $(OBJS_DIR)/%.$(EXT_OBJ) :: %.$(EXT_C) |
28 | 77 | $(CMD_CC) $(CFLAGS) -c $< -o $@ |
29 | 78 | |
30 | -# %jp{アセンブル} | |
79 | + | |
80 | +# %jp{アセンブル}%en{Assemble} | |
31 | 81 | $(OBJS_DIR)/%.$(EXT_OBJ) :: %.$(EXT_ASM) |
32 | 82 | $(CMD_ASM) $(AFLAGS) -c $< -o $@ |
33 | 83 | |
34 | 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 | + | |
35 | 98 | # end of file |
@@ -82,7 +82,7 @@ ER ref_tsk(ID tskid, T_RTSK *p_rtsk) | ||
82 | 82 | #endif |
83 | 83 | |
84 | 84 | #if _KERNEL_SPT_RTSK_TASK |
85 | - p_rtsk->task = _KERNEL_TSK_GET_TASK(tcb_ro); /* %jp{タスクの起動番地(HOS独自拡張)} */ | |
85 | + p_rtsk->task = (FP)_KERNEL_TSK_GET_TASK(tcb_ro); /* %jp{タスクの起動番地(HOS独自拡張)} */ | |
86 | 86 | #endif |
87 | 87 | #if _KERNEL_SPT_RTSK_ITSKPRI |
88 | 88 | p_rtsk->itskpri = _KERNEL_TSK_GET_ITSKPRI(tcb_ro); /* %jp{タスクの起動時優先度(HOS独自拡張)} */ |