1 # ----------------------------------------------------------------------------
2 # Hyper Operating System V4 Advance
4 # Copyright (C) 1998-2006 by Project HOS
5 # http://sourceforge.jp/projects/hos/
6 # ----------------------------------------------------------------------------
13 GCC_ARCH ?= h8300-elf-
14 CMD_CC ?= $(GCC_ARCH)gcc
15 CMD_ASM ?= $(GCC_ARCH)gcc
16 CMD_LINK ?= $(GCC_ARCH)gcc
17 CMD_OBJCNV ?= $(GCC_ARCH)objcopy
22 KERNEL_DIR = $(OS_DIR)/kernel
23 KERNEL_CFGRTR_DIR = $(OS_DIR)/cfgrtr/build/gcc
24 KERNEL_MAKINC_DIR = $(KERNEL_DIR)/build/common/gmake
25 KERNEL_BUILD_DIR = $(KERNEL_DIR)/build/h8/h8300ha/gcc
26 OBJS_DIR = objs_$(TARGET)
29 include $(KERNEL_MAKINC_DIR)/common.inc
33 # %jp{RAM実行(モニタプログラム利用を想定)}
34 TARGET := $(TARGET)_ram
35 LINKER_SCRIPT ?= link_ram.lds
39 LINKER_SCRIPT ?= link_rom.lds
47 LNFLAGS = -mh -nostartfiles -T$(LINKER_SCRIPT) -Wl,-Map,$(TARGET).map
51 KERNEL_CFGRTR = $(KERNEL_CFGRTR_DIR)/h4acfg-h8300ha
54 TARGET_EXE = $(TARGET).$(EXT_EXE)
55 TARGET_MOT = $(TARGET).$(EXT_MOT)
59 include $(KERNEL_MAKINC_DIR)/gcc_d.inc
62 # --------------------------------------
64 # --------------------------------------
74 CSRCS += ../kernel_cfg.c \
84 # --------------------------------------
86 # --------------------------------------
89 all: makeexe_all $(TARGET_EXE) $(TARGET_MOT)
94 rm -f $(TARGET_EXE) $(TARGET_MOT) $(OBJS) ../kernel_cfg.c ../kernel_id.h
98 mostlyclean: clean clean_kernel
101 ../kernel_cfg.c ../kernel_id.h: ../system.cfg
102 cpp -E ../system.cfg ../system.i
103 $(KERNEL_CFGRTR) ../system.i -c ../kernel_cfg.c -i ../kernel_id.h
106 # %jp{実行ファイル生成用設定読込み}
107 include $(KERNEL_MAKINC_DIR)/makeexe.inc
110 include $(KERNEL_MAKINC_DIR)/gcc_r.inc
113 # --------------------------------------
115 # --------------------------------------
117 $(OBJS_DIR)/sample.$(EXT_OBJ): ../sample.c ../kernel_id.h