OSDN Git Service

renemae gmake.mak,nmake.mak to makefile
[hos/hos-v4a.git] / kernel / build / ia32 / i386 / gcc / Makefile
1 # ----------------------------------------------------------------------------
2 # Hyper Operating System V4 Advance
3 #  makefile for i386 processor
4 #
5 # Copyright (C) 1998-2007 by Project HOS
6 # http://sourceforge.jp/projects/hos/
7 # ----------------------------------------------------------------------------
8
9
10 # %jp{ターゲット名}
11 TARGET ?= libhosv4a
12
13 # %jp{アーキテクチャパス}
14 ARCH_PROC ?= ia32/i386
15 ARCH_IRC  ?= simple
16 ARCH_CC   ?= gcc
17
18
19 # %jp{ツール定義}
20 GCC_ARCH ?= i386-elf-
21 CMD_CC   ?= $(GCC_ARCH)gcc
22 CMD_ASM  ?= $(GCC_ARCH)gcc
23 CMD_LIBR ?= $(GCC_ARCH)ar
24
25
26 # %jp{ディレクトリ定義}
27 TOP_DIR           = ../../../../..
28 KERNEL_DIR        = $(TOP_DIR)/kernel
29 KERNEL_MAKINC_DIR = $(KERNEL_DIR)/build/common/gmake
30 OBJS_DIR          = objs_$(TARGET)
31
32
33 # %jp{カーネル指定}
34 KERNEL = Yes
35
36
37 # %jp{共通定義読込み}
38 include $(KERNEL_MAKINC_DIR)/common.inc
39
40
41 # %jp{アーキテクチャパス定義}
42 INC_PROC_DIR    = $(KERNEL_DIR)/include/arch/proc/$(ARCH_PROC)
43 INC_IRC_DIR     = $(KERNEL_DIR)/include/arch/irc/$(ARCH_IRC)
44 SRC_PROC_DIR    = $(KERNEL_DIR)/source/arch/proc/$(ARCH_PROC)
45 SRC_PROC_CC_DIR = $(KERNEL_DIR)/source/arch/proc/$(ARCH_PROC)/$(ARCH_CC)
46 SRC_IRC_DIR     = $(KERNEL_DIR)/source/arch/irc/$(ARCH_IRC)
47 SRC_IRC_CC_DIR  = $(KERNEL_DIR)/source/arch/irc/$(ARCH_IRC)/$(ARCH_CC)
48
49 # %jp{パス設定}
50 INC_DIRS += $(INC_PROC_DIR) $(INC_IRC_DIR)
51 SRC_DIRS += $(SRC_PROC_DIR) $(SRC_PROC_DIR) $(SRC_PROC_CC_DIR) $(SRC_IRC_DIR) $(SRC_IRC_CC_DIR)
52
53 # %jp{オプションフラグ}
54 AFLAGS  = -march=i386
55 CFLAGS  = -march=i386
56 ARFLAGS = 
57
58 # %jp{コンフィギュレータ定義}
59 CFGRTR_DIR = $(TOP_DIR)/cfgrtr/build/gcc
60 CFGRTR     = h4acfg-i386
61
62
63 # C言語ファイルの追加
64 CSRCS += $(SRC_PROC_DIR)/val_int.c
65 CSRCS += $(SRC_PROC_DIR)/kini_prc.c
66
67
68 # アセンブラファイルの追加
69 ASRCS += $(SRC_PROC_CC_DIR)/kdis_int.S
70 ASRCS += $(SRC_PROC_CC_DIR)/kena_int.S
71 ASRCS += $(SRC_PROC_CC_DIR)/kwai_int.S
72 ASRCS += $(SRC_PROC_CC_DIR)/kcre_ctx.S
73 ASRCS += $(SRC_PROC_CC_DIR)/ksta_ctx.S
74 ASRCS += $(SRC_PROC_CC_DIR)/kswi_ctx.S
75 ASRCS += $(SRC_PROC_CC_DIR)/krst_ctx.S
76 ASRCS += $(SRC_PROC_CC_DIR)/kexc_hdr.S
77 ASRCS += $(SRC_PROC_CC_DIR)/kint_hdr.S
78 ASRCS += $(SRC_PROC_CC_DIR)/koutpb.S
79 ASRCS += $(SRC_PROC_CC_DIR)/koutph.S
80 ASRCS += $(SRC_PROC_CC_DIR)/koutpw.S
81 ASRCS += $(SRC_PROC_CC_DIR)/kinpb.S
82 ASRCS += $(SRC_PROC_CC_DIR)/kinph.S
83 ASRCS += $(SRC_PROC_CC_DIR)/kinpw.S
84 ASRCS += $(SRC_PROC_CC_DIR)/klidt.S
85
86
87 # カーネル共通ソースの追加
88 include $(KERNEL_MAKINC_DIR)/knlsrc.inc
89
90
91 # %jp{ALL}
92 .PHONY : all
93 all: makelib_all
94         $(MAKE) -C $(CFGRTR_DIR) TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC)
95
96 # %jp{クリーン}
97 .PHONY : clean
98 clean: makelib_clean
99         $(MAKE) -C $(CFGRTR_DIR) TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC) clean
100         $(RM) -f *.lst
101
102
103 # %jp{コンパイラ依存の設定読込み}
104 include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_d.inc
105
106 # %jp{ライブラリ生成用設定読込み}
107 include $(KERNEL_MAKINC_DIR)/makelib.inc
108
109 # %jp{コンパイラ依存ルール定義読込み}
110 include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_r.inc
111
112 # %jp{カーネル依存関係読込み}
113 include $(KERNEL_MAKINC_DIR)/knldep.inc
114
115
116 # end of file