# ----------------------------------------------------------------------------
# Hyper Operating System V4 Advance
#
# Copyright (C) 1998-2007 by Project HOS
# http://sourceforge.jp/projects/hos/
# ----------------------------------------------------------------------------


# %jp{^[Qbg}
TARGET ?= sample


# %jp{fBNg}
TOP_DIR            = ../../../../..
KERNEL_DIR         = $(TOP_DIR)/kernel
KERNEL_CFGRTR_DIR  = $(TOP_DIR)/cfgrtr/build/gcc
KERNEL_MAKINC_DIR  = $(KERNEL_DIR)/build/common/gmake
KERNEL_BUILD_DIR   = $(KERNEL_DIR)/build/h8/h8300ha/ch38
HOSAPLFW_DIR       = $(TOP_DIR)/aplfw
HOSAPLFW_INC_DIR   = $(HOSAPLFW_DIR)
HOSAPLFW_BUILD_DIR = $(HOSAPLFW_DIR)/build/h8/h8300ha/ch38
OBJS_DIR           = objs_$(TARGET)

# %jp{ʒ`Ǎ}
include $(KERNEL_MAKINC_DIR)/common.inc

# %jp{RtBM[^`}
KERNEL_CFGRTR = $(KERNEL_CFGRTR_DIR)/h4acfg-h8300ha


# %jp{Cu`}
HOSAPLFW_LIB = $(HOSAPLFW_BUILD_DIR)/hosaplfw.$(EXT_LIB)
STD_LIBS  = stdlib.lib


# %jp{}bv}
ifeq ($(MEMMAP),ext)
# %jp{O}
TARGET := $(TARGET)ext
ADDR_VECT = 0FFC040
ADDR_ROM  = 0400000
ADDR_RAM  = 0410000
else
# %jp{ROM}
ADDR_VECT = 0000000
ADDR_ROM  = 0000100
ADDR_RAM  = 0400000
endif


# %jp{fobOł̒`ύX}
ifeq ($(DEBUG),Yes)
TARGET := $(TARGET)dbg
HOSAPLFW_LIB = $(HOSAPLFW_BUILD_DIR)/hosaplfwdbg.$(EXT_LIB)
endif


# %jp{tOݒ}
CFLAGS  = -CP=300HA:24
AFLAGS  = -CP=300HA:24
LNFLAGS = 



# %jp{o̓t@C}
TARGET_EXE = $(TARGET).$(EXT_EXE)
TARGET_MOT = $(TARGET).$(EXT_MOT)


# %jp{ch38p̐ݒǍ}
include $(KERNEL_MAKINC_DIR)/ch38_d.inc



# %jp{CN[hfBNg}
INC_DIRS += $(HOSAPLFW_INC_DIR)

# %jp{\[XfBNg}
SRC_DIRS += . ..


# %jp{AZut@C̒ǉ}
ASRCS += ./vcttbl.src		\
         ./startup.src		\


# %jp{Ct@C̒ǉ}
CSRCS += ./dbsct.c			\
         ../kernel_cfg.c	\
         ../main.c			\
         ../sample.c		\
         ../ostimer.c


# %jp{Cut@C̒ǉ}
LIBS += $(HOSAPLFW_LIB) $(STD_LIBS)



# --------------------------------------
#  %jp{[}
# --------------------------------------

.PHONY : all
all: make_libs makeexe_all $(TARGET_EXE) $(TARGET_MOT)


.PHONY : make_libs
make_libs:
	$(MAKE) -C $(HOSAPLFW_BUILD_DIR)

.PHONY : clean
clean: makeexe_clean
	rm -f $(TARGET_EXE) $(TARGET_EXE) $(OBJS) ../kernel_cfg.c ../kernel_id.h

.PHONY : mostlyclean
mostlyclean: clean kernel_clean
	$(MAKE) -C $(HOSAPLFW_BUILD_DIR) clean

.PHONY : depend
depend: makeexe_depend

.PHONY : mostlydepend
mostlydepend: depend kernel_depend
	$(MAKE) -C $(HOSAPLFW_BUILD_DIR) depend

.PHONY : srccpy
srccpy: makeexe_srccpy
	$(MAKE) -C $(KERNEL_BUILD_DIR) srccpy
	$(MAKE) -C $(HOSAPLFW_BUILD_DIR) srccpy


$(STD_LIBS):
	lbg38 -OUTPut=$(STD_LIBS) $(CFLAGS) -REent 


../kernel_cfg.c ../kernel_id.h: ../system.cfg
	cpp -E ../system.cfg ../system.i
	$(KERNEL_CFGRTR) ../system.i -c ../kernel_cfg.c -i ../kernel_id.h



# %jp{CupݒǍ}
include $(KERNEL_MAKINC_DIR)/makeexe.inc


# %jp{ch38p̃[`Ǎ}
include $(KERNEL_MAKINC_DIR)/ch38_r.inc



# --------------------------------------
#  %jp{ˑ֌W}
# --------------------------------------

$(OBJS_DIR)/sample.obj: ../sample.c ../kernel_id.h


# end of file
