# ----------------------------------------------------------------------------
-# Hyper Operating System V4 Advance
+# Hyper Operating System Application Framework
#
-# Copyright (C) 1998-2007 by Project HOS
+# Copyright (C) 2007-2008 by Project HOS
# http://sourceforge.jp/projects/hos/
# ----------------------------------------------------------------------------
TARGET ?= sample
# %jp{ディレクトリ}
-OS_DIR = ../../../../..
-KERNEL_DIR = $(OS_DIR)/kernel
-KERNEL_CFGRTR_DIR = $(OS_DIR)/cfgrtr/build/gcc
-KERNEL_MAKINC_DIR = $(KERNEL_DIR)/build/common/gmake
-KERNEL_BUILD_DIR = $(KERNEL_DIR)/build/sh/sh2/shc
-APLFW_DIR = $(OS_DIR)/aplfw
-APLFW_INC_DIR = $(APLFW_DIR)
-APLFW_BUILD_DIR = $(APLFW_DIR)/build/sh/sh2/shc
-OBJS_DIR = objs_$(TARGET)
+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/sh/sh2/shc
+HOSAPLFW_DIR = $(TOP_DIR)/aplfw
+HOSAPLFW_INC_DIR = $(HOSAPLFW_DIR)
+HOSAPLFW_BUILD_DIR = $(HOSAPLFW_DIR)/build/sh/sh2/shc
+OBJS_DIR = objs_$(TARGET)
# %jp{共通定義読込み}
# %jp{ライブラリ定義}
-APLFW_LIB = $(APLFW_BUILD_DIR)/hosaplfw.$(EXT_LIB)
+HOSAPLFW_LIB = $(HOSAPLFW_BUILD_DIR)/hosaplfw.$(EXT_LIB)
STD_LIBS = stdlib.lib
+
# %jp{メモリマップ}
ifeq ($(MEMMAP),ext)
# %jp{外部メモリ}
# %jp{デバッグ版の定義変更}
ifeq ($(DEBUG),Yes)
TARGET := $(TARGET)dbg
-APLFW_LIB = $(APLFW_BUILD_DIR)/hosaplfwdbg.$(EXT_LIB)
+HOSAPLFW_LIB = $(HOSAPLFW_BUILD_DIR)/hosaplfwdbg.$(EXT_LIB)
endif
# %jp{フラグ設定}
-CFLAGS = -CP=sh2 -DEBug -NOLOGO
-AFLAGS = -CP=sh2 -DEBug -NOLOGO
-LNFLAGS =
+CFLAGS += -CP=sh2 -DEBug -NOLOGO
+AFLAGS += -CP=sh2 -DEBug -NOLOGO
+LNFLAGS +=
# %jp{出力ファイル名}
# %jp{インクルードディレクトリ}
-INC_DIRS += $(APLFW_INC_DIR)
+INC_DIRS += $(HOSAPLFW_INC_DIR)
# %jp{ソースディレクトリ}
SRC_DIRS += . ..
CSRCS += ./dbsct.c \
../kernel_cfg.c \
../main.c \
- ../sample.c \
- ../ostimer.c \
- ../debug.c
+ ../boot.c \
+ ../ostimer.c
# %jp{ライブラリファイルの追加}
-LIBS += $(APLFW_LIB) $(STD_LIBS)
+LIBS += $(HOSAPLFW_LIB) $(STD_LIBS)
# --------------------------------------
.PHONY : all
-all: make_aplfw makeexe_all $(TARGET_EXE) $(TARGET_MOT)
-
+all: make_libs makeexe_all $(TARGET_EXE) $(TARGET_MOT)
-.PHONY : make_aplfw
-make_aplfw:
- make -C $(APLFW_BUILD_DIR) -f gmake.mak
+.PHONY : make_libs
+make_libs:
+ $(MAKE) -C $(HOSAPLFW_BUILD_DIR) -f gmake.mak
.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) -f gmake.mak clean
+
+.PHONY : depend
+depend: makeexe_depend
+
+.PHONY : mostlydepend
+mostlydepend: depend kernel_depend
+ $(MAKE) -C $(HOSAPLFW_BUILD_DIR) -f gmake.mak depend
+
+.PHONY : srccpy
+srccpy: makeexe_srccpy
+ $(MAKE) -C $(KERNEL_BUILD_DIR) -f gmake.mak srccpy
+ $(MAKE) -C $(HOSAPLFW_BUILD_DIR) -f gmake.mak srccpy
+
$(STD_LIBS):
- lbgsh -OUTPut=$(STD_LIBS) -CP=sh2 -REent
+ lbgsh -OUTPut=$(STD_LIBS) -CP=sh2
+# lbgsh -OUTPut=$(STD_LIBS) -CP=sh2 -REent
+
../kernel_cfg.c ../kernel_id.h: ../system.cfg
cpp -E ../system.cfg ../system.i