1 # ----------------------------------------------------------------------------
2 # Hyper Operating System V4 Advance
3 # makefile for MN1030 Series
5 # Copyright (C) 1998-2006 by Project HOS
6 # http://sourceforge.jp/projects/hos/
7 # ----------------------------------------------------------------------------
14 ARCH_PROC ?= mn103/mn1030
20 TOP_DIR = ../../../../..
21 KNL_DIR = $(TOP_DIR)/kernel
22 OBJS_DIR = objs_$(TARGET)
30 INC_KNL_DIR = $(KNL_DIR)/include
31 INC_PROC_DIR = $(INC_KNL_DIR)/arch/proc/$(ARCH_PROC)
32 INC_IRC_DIR = $(INC_KNL_DIR)/arch/irc/$(ARCH_IRC)
35 SRC_KNL_DIR = $(KNL_DIR)/source
36 SRC_PROC_DIR = $(SRC_KNL_DIR)/arch/proc/$(ARCH_PROC)
37 SRC_PROC_ASM_DIR = $(SRC_KNL_DIR)/arch/proc/$(ARCH_PROC)/$(ARCH_CC)
38 SRC_IRC_DIR = $(SRC_KNL_DIR)/arch/irc/$(ARCH_IRC)
39 SRC_IRC_ASM_DIR = $(SRC_KNL_DIR)/arch/irc/$(ARCH_IRC)/$(ARCH_CC)
42 CFGRTR_DIR = $(TOP_DIR)/cfgrtr/build/gcc
43 CFGRTR = h4acfg-mn1030
47 include $(TOP_DIR)/kernel/build/common/gmake.inc
51 TARGET_LIB = $(TARGET).a
54 ASRCS += $(SRC_PROC_ASM_DIR)/ctxctl.S \
55 $(SRC_PROC_ASM_DIR)/intctl.S
59 # CSRCS += $(SRC_IRC_DIR)/intc.c
63 VPATH := $(VPATH):$(SRC_PROC_DIR):$(SRC_PROC_DIR):$(SRC_PROC_ASM_DIR):$(SRC_IRC_DIR):$(SRC_IRC_ASM_DIR)
70 DEPEND = mn10300-elf-gcc -M
80 CFLAGS += -I$(INC_KNL_DIR) -I$(INC_PROC_DIR) -I$(INC_IRC_DIR) \
83 LINTFLAGS += -I$(INC_KNL_DIR) -I$(INC_PROC_DIR) -I$(INC_IRC_DIR) -weak
87 OBJS = $(addprefix $(OBJS_DIR)/, $(addsuffix .o, $(basename $(notdir $(CSRCS))))) \
88 $(addprefix $(OBJS_DIR)/, $(addsuffix .o, $(basename $(notdir $(ASRCS)))))
91 all: $(ASRCS) $(CSRCS) $(TARGET_LIB) $(CFGRTR)
94 $(TARGET_LIB): mkdir_objs $(OBJS)
95 $(LIBR) -r $(TARGET_LIB) $(OBJS)
98 $(MKDIR) -p $(OBJS_DIR)
102 $(MAKE) -C $(CFGRTR_DIR) TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC)
105 $(RM) -f $(TARGET) $(OBJS) $(CFGRTR)
106 $(MAKE) -C $(CFGRTR_DIR) TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC) clean
109 $(LINT) $(LINTFLAGS) $(CSRCS)
112 $(DEPEND) $(CFLAGS) $(CSRCS) | awk '/^[^ ]/{print "$(OBJS_DIR)/"$$0} /^ /{print $$0}' > $(OBJS_DIR)/depend.inc
115 -include $(OBJS_DIR)/depend.inc
119 $(OBJS_DIR)/%.o :: %.c
120 $(CC) $(CFLAGS) -c $< -o $@
122 $(OBJS_DIR)/%.o :: %.S
123 $(ASM) $(AFLAGS) $< -o $@