DIFF := diff -c
ECHO := echo
EXPR := expr
+FILE := file -b -e ascii
FIND := find
GREP := grep
LINECOUNT := wc -l
LN := ln -s
MKDIR := mkdir -p
MV := mv
+PRINTF := printf
+REALPATH := realpath
SED := sed
TEST := test
TIME := time
TR := tr
VALGRIND := valgrind
-VALGRINDFLAG := -q --leak-check=full --show-leak-kinds=all --log-file=valgrind.log
+VALGRIND_LOGFILE := _valgrind.log
+VALGRINDFLAG := -q --leak-check=full --show-leak-kinds=all --log-file=$(VALGRIND_LOGFILE)
+VALGRIND_CMDLOGFILE := valgrind.log
######################################################################
# テストグループとテストでの共通マクロ
$(MKDIR) $1
endef
+
+# ファイル1からファイル2への相対パス
+# 引数は、ファイル名1、ファイル名2
+# 用例: $(call rel_to,file1,file2)
+define rel_to
+ $(strip $(shell $(REALPATH) --relative-to=$1 $2))
+endef
+
# テストディレクトリーのMakefileを作成
# 引数は、Makefile名、依存ファイル群
# 用例: $(call create_makefile,file,list_include_file)
# テストのターゲットを定義したMakefile
TEST_MAKEFILE := Test.mk
-# ã\81\99ã\81¹ã\81¦ã\81®Makefile群
-MAKEFILES := $(DEFINE_FILE) $(TEST_MAKEFILE)
+# ã\83\86ã\82¹ã\83\88ã\82°ã\83«ã\83¼ã\83\97ã\81®Makefileã\81¨ã\81\97ã\81¦ã\82³ã\83\94ã\83¼ã\81\95ã\82\8cã\82\8bã\83\95ã\82¡ã\82¤ã\83«
+GROUP_MAKEFILE := Group.mk
-# すべてのMakefile群の絶対パス
-MAKEFILES_ABS := $(foreach file,$(MAKEFILES),$(CURDIR)/$(file))
+# DEFINE_FILEの相対パス
+DEFINE_FILE_REL = $(call rel_to,$(GROUPDIR),$(DEFINE_FILE))
+
+# TEST_MAKEFILEの相対パス
+TEST_MAKEFILE_REL = $(call rel_to,$(GROUPDIR),$(TEST_MAKEFILE))
+
+# GROUP_MAKEFILEの相対パス
+GROUP_MAKEFILE_REL = $(call rel_to,$(GROUPDIR),$(GROUP_MAKEFILE))
######################################################################
# テストのディレクトリー
# テストコマンドファイル
CMD_FILE := cmd
+# valgrindテストコマンドファイル
+VALGRIND_CMD_FILE := cmd_valgrind
+
# テスト説明ファイル
DESC_FILE := desc.txt