# テストグループのマクロ
######################################################################
-# 指定したディレクトリーを作成
-# 引数は、ディレクトリー名
-# 用例: $(call create_dir,name)
-define create_dir
- $(call chk_var_null,$1)
- $(call chk_file_ext,$1)
- $(MKDIR) $1
-endef
-
-# テストディレクトリーのMakefileを作成
-# 引数は、Makefile名、依存ファイル群
-# 用例: $(call create_makefile,file,list_include_file)
-define create_makefile
- $(RM) $1
- $(foreach infile,$2,$(ECHO) "include ../$(infile)" >>$1; )
- $(if $(filter $(SRC),c),$(call puts_cmd_c,$1))
-endef
-
-# C言語の関数をテストするための設定を、指定されたファイルに出力
-# 引数は、ファイル名
-# 用例: $(call puts_cmd_c,file)
-define puts_cmd_c
- $(ECHO) >>$1
- $(ECHO) "CC := gcc" >>$1
- $(ECHO) "CFLAGS := -Wall" >>$1
- $(ECHO) >>$1
- $(ECHO) ".INTERMEDIATE:" "$$""(CMD_FILE)" >>$1
- $(ECHO) >>$1
- $(ECHO) "CMDSRC_FILE := cmd.c" >>$1
- $(ECHO) "TESTTARGET_FILES := # Set test target files" >>$1
- $(ECHO) >>$1
- $(ECHO) "$$""(CMD_FILE):" "$$""(CMDSRC_FILE)" "$$""(TESTTARGET_FILES)" >>$1
- $(ECHO) " ""$$""(CC)" "$$""(CFLAGS)" "-o" "$$""@" "$$""^" >>$1
-endef
-
# テストごとのファイルをグループファイルに出力
# 引数は、テストのリスト、グループファイル、テストファイル
# 用例: $(call group_log,files_test_log,file_group_log)