1 # autotest.mk > test_template > Define.mk
8 DATE = $(shell date +"%F %T")
13 ######################################################################
15 ######################################################################
34 VALGRINDFLAG := -q --leak-check=full --log-file=valgrind.log
36 ######################################################################
38 ######################################################################
40 # chk_var_null: 引数がNULLの場合、エラー
41 # 用例: $(call chk_var_null,var)
43 $(if $1,,$(error NULL argument))
46 # chk_file_ext: 指定されたファイルが実在する場合、エラー
47 # 用例: $(call chk_file_ext,file)
49 $(if $(wildcard $1),$(error $1 exists in $(CURDIR)))
54 # 用例: $(call create_dir,name)
56 $(call chk_var_null,$1)
57 $(call chk_file_ext,$1)
61 # テストディレクトリーのMakefileを作成
62 # 引数は、Makefile名、依存ファイル群
63 # 用例: $(call create_makefile,file,list_include_file)
64 define create_makefile
66 $(foreach infile,$2,$(ECHO) "include ../$(infile)" >>$1; )
67 $(if $(filter $(SRC),c),$(call puts_cmd_c,$1))
70 # C言語の関数をテストするための設定を、指定されたファイルに出力
72 # 用例: $(call puts_cmd_c,file)
75 $(ECHO) "CC := gcc" >>$1
76 $(ECHO) "CFLAGS := -Wall" >>$1
78 $(ECHO) ".INTERMEDIATE:" "$$""(CMD_FILE)" >>$1
80 $(ECHO) "CMDSRC_FILE := cmd.c" >>$1
81 $(ECHO) "TESTTARGET_FILES := # Set test target files" >>$1
83 $(ECHO) "$$""(CMD_FILE):" "$$""(CMDSRC_FILE)" "$$""(TESTTARGET_FILES)" >>$1
84 $(ECHO) " ""$$""(CC)" "$$""(CFLAGS)" "-o" "$$""@" "$$""^" >>$1
87 ######################################################################
89 ######################################################################
91 # テストグループとテストの変数を定義したMakefile
92 DEFINE_FILE := Define.mk
94 # テストのターゲットを定義したMakefile
95 TEST_MAKEFILE := Test.mk
98 MAKEFILES := $(DEFINE_FILE) $(TEST_MAKEFILE)
101 MAKEFILES_ABS := $(foreach file,$(MAKEFILES),$(CURDIR)/$(file))
103 ######################################################################
105 ######################################################################
111 DESC_FILE := desc.txt
119 # テストの、想定結果と結果の差分ファイル
120 DIFF_FILE := diff.log
126 LOG_FILE := summary.log
129 TIME_FILE := time.log
131 # valgrindによるメモリーチェックファイル
132 VALGRIND_FILE := valgrind.log
135 DETAIL_FILE := detail.log
137 # テストの結果として作成されるファイル群
138 TEST_RES_FILES := $(TEST1_FILE) $(DIFF_FILE) $(ERR_FILE) $(LOG_FILE) $(DETAIL_FILE) $(TIME_FILE)