1 # ----------------------------------------------------------------------------
2 # Hyper Operating System V4 Advance
3 # makefile for Philips LPC2000 family
5 # Copyright (C) 1998-2008 by Project HOS
6 # http://sourceforge.jp/projects/hos/
7 # ----------------------------------------------------------------------------
11 # --------------------------------------
12 # %jp{
\8ae
\8eí
\90Ý
\92è}{setting}
13 # --------------------------------------
15 # %jp{
\83^
\81[
\83Q
\83b
\83g
\83\89\83C
\83u
\83\89\83\8a\96¼}%en{target library name}
19 # %jp{
\83A
\81[
\83L
\83e
\83N
\83`
\83\83\92è
\8b`}%en{architecture}
21 ARCH_PROC ?= arm/arm_v4t
22 ARCH_IRC ?= arm/lpc2000
26 # %jp{
\83f
\83B
\83\8c\83N
\83g
\83\8a\92è
\8b`}%en{directories}
27 TOP_DIR = ../../../../..
28 KERNEL_DIR = $(TOP_DIR)/kernel
29 KERNEL_MAKINC_DIR = $(KERNEL_DIR)/build/common/gmake
30 INC_PROC_DIR = $(KERNEL_DIR)/include/arch/proc/$(ARCH_PROC)
31 INC_IRC_DIR = $(KERNEL_DIR)/include/arch/irc/$(ARCH_IRC)
32 SRC_PROC_DIR = $(KERNEL_DIR)/source/arch/proc/$(ARCH_PROC)
33 SRC_PROC_CC_DIR = $(KERNEL_DIR)/source/arch/proc/$(ARCH_PROC)/$(ARCH_CC)
34 SRC_IRC_DIR = $(KERNEL_DIR)/source/arch/irc/$(ARCH_IRC)
35 SRC_IRC_CC_DIR = $(KERNEL_DIR)/source/arch/irc/$(ARCH_IRC)/$(ARCH_CC)
36 CFGRTR_DIR = $(TOP_DIR)/cfgrtr/build/gcc
39 # %jp{
\83R
\83\93\83t
\83B
\83M
\83\85\83\8c\81[
\83^
\92è
\8b`}%en{kernel configurator}
40 CFGRTR = h4acfg-$(ARCH_NAME)
43 # %jp{
\83J
\81[
\83l
\83\8b\8ew
\92è}%en{kernel flag}
47 # %jp{
\8b¤
\92Ê
\92è
\8b`
\93Ç
\8d\9e\82Ý}%en{common setting}
48 include $(KERNEL_MAKINC_DIR)/common.inc
51 # %jp{
\83p
\83X
\90Ý
\92è}%en{add source directories}
52 INC_DIRS += $(INC_PROC_DIR) $(INC_IRC_DIR)
53 SRC_DIRS += $(SRC_PROC_DIR) $(SRC_PROC_DIR) $(SRC_PROC_CC_DIR) $(SRC_IRC_DIR) $(SRC_IRC_CC_DIR)
56 # %jp{
\83I
\83v
\83V
\83\87\83\93\83t
\83\89\83O}%en{option flags}
57 AFLAGS = --cpu ARM7TDMI-S --apcs=inter --thumb
58 CFLAGS = --cpu ARM7TDMI-S --apcs=inter --thumb
62 # %jp{
\83R
\83\93\83p
\83C
\83\89\88Ë
\91¶
\82Ì
\90Ý
\92è
\93Ç
\8d\9e\82Ý}%en{compiler dependent definitions}
63 include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_d.inc
65 # %jp{
\83\89\83C
\83u
\83\89\83\8a\90¶
\90¬
\97p
\90Ý
\92è
\93Ç
\8d\9e\82Ý}%en{definitions for library}
66 include $(KERNEL_MAKINC_DIR)/maklib_d.inc
71 # --------------------------------------
72 # %jp{
\83\
\81[
\83X
\83t
\83@
\83C
\83\8b}%en{source files}
73 # --------------------------------------
75 # %jp{
\83A
\83Z
\83\93\83u
\83\89\83t
\83@
\83C
\83\8b\82Ì
\92Ç
\89Á}%en{assembry sources}
76 ASRCS += $(SRC_PROC_CC_DIR)/kcre_ctx.s
77 ASRCS += $(SRC_PROC_CC_DIR)/kdis_int.s
78 ASRCS += $(SRC_PROC_CC_DIR)/kena_int.s
79 ASRCS += $(SRC_PROC_CC_DIR)/krst_ctx.s
80 ASRCS += $(SRC_PROC_CC_DIR)/kswi_ctx.s
81 ASRCS += $(SRC_PROC_CC_DIR)/kwai_int.s
82 ASRCS += $(SRC_PROC_CC_DIR)/kirq_hdr.s
83 ASRCS += $(SRC_PROC_CC_DIR)/kfiq_hdr.s
86 # %jp{C
\8c¾
\8cê
\83t
\83@
\83C
\83\8b\82Ì
\92Ç
\89Á}%en{C sources}
87 CSRCS += $(SRC_PROC_DIR)/val_int.c
88 CSRCS += $(SRC_IRC_DIR)/kini_irc.c
89 CSRCS += $(SRC_IRC_DIR)/kexe_irc.c
90 CSRCS += $(SRC_IRC_DIR)/ena_int.c
91 CSRCS += $(SRC_IRC_DIR)/dis_int.c
92 CSRCS += $(SRC_IRC_DIR)/vclr_int.c
95 # %jp{
\83J
\81[
\83l
\83\8b\8b¤
\92Ê
\83\
\81[
\83X
\82Ì
\92Ç
\89Á}%en{kernel common sources}
96 include $(KERNEL_MAKINC_DIR)/knlsrc.inc
101 # --------------------------------------
102 # %jp{
\83\8b\81[
\83\8b\92è
\8b`}%en{rules}
103 # --------------------------------------
108 $(MAKE) -C $(CFGRTR_DIR) TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC)
110 # %jp{
\83N
\83\8a\81[
\83\93}%en{clean}
113 $(MAKE) -C $(CFGRTR_DIR) TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC) clean
116 # %jp{
\88Ë
\91¶
\8aÖ
\8cW
\8dX
\90V}%en{make depend}
118 depend: makelib_depend
120 # %jp{
\83\
\81[
\83X
\88ê
\8a\87\83R
\83s
\81[}%en{source files copy}
122 srccpy: makelib_srccpy
125 # %jp{
\83\89\83C
\83u
\83\89\83\8a\90¶
\90¬
\97p
\90Ý
\92è
\93Ç
\8d\9e\82Ý}%en{rules for library}
126 include $(KERNEL_MAKINC_DIR)/maklib_r.inc
128 # %jp{
\83R
\83\93\83p
\83C
\83\89\88Ë
\91¶
\82Ì
\83\8b\81[
\83\8b\92è
\8b`
\93Ç
\8d\9e\82Ý}%en{rules for compiler}
129 include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_r.inc
134 # --------------------------------------
135 # %jp{
\88Ë
\91¶
\8aÖ
\8cW}%en{dependency}
136 # --------------------------------------
138 # %jp{
\83J
\81[
\83l
\83\8b\88Ë
\91¶
\8aÖ
\8cW
\93Ç
\8d\9e\82Ý}{dependency list of kernel sources}
139 include $(KERNEL_MAKINC_DIR)/knldep.inc