From: j8takagi <j8takagi@nifty.com>
Date: Mon, 13 Dec 2010 15:27:59 +0000 (+0900)
Subject: コンパイルしてcmdファイルを作成できるよう修正
X-Git-Tag: 0.2p3~46
X-Git-Url: https://j8takagi.net/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=caf694b405d5d2365dec1a813d450987ef449419;p=autotest_mk.git

コンパイルしてcmdファイルを作成できるよう修正
---

diff --git a/template/Define.mk b/template/Define.mk
index 65eace2..641f823 100644
--- a/template/Define.mk
+++ b/template/Define.mk
@@ -63,12 +63,6 @@ define chk_file_ext
     $(if $(wildcard $1),$(error $1 exists in $(CURRDIR)))
 endef
 
-# chk_file_notext: 指定されたファイルが実在しない場合、エラー
-# 用例: $(call chk_file_notext,file)
-define chk_file_notext
-    $(if $(wildcard $1),,$(error $1 not exists in $(CURRDIR)))
-endef
-
 ######################################################################
 # テストグループのディレクトリー
 ######################################################################
diff --git a/template/Define_test.mk b/template/Define_test.mk
index 78394cb..65bfcaf 100644
--- a/template/Define_test.mk
+++ b/template/Define_test.mk
@@ -18,8 +18,7 @@ endef
 # 引数は、テスト名、コマンドファイル、出力ファイル
 # 用例: $(call time_cmd,name,file_cmd,file_out)
 define time_cmd
-    $(call chk_file_notext,$2)
-    $(CHMOD) u+x $2
+    if test ! -x $2; then $(CHMOD) u+x $2; fi
     $(TIME) -f"$1: %E" -o $3 ./$2 >$(DEV_NULL) 2>&1
 endef
 
@@ -28,8 +27,7 @@ endef
 # エラー発生時は、エラー出力を出力ファイルとエラーファイルに保存。
 # 用例: $(call exec_cmd,file_cmd,file_out,file_err)
 define exec_cmd
-    $(call chk_file_notext,$1)
-    $(CHMOD) u+x $1
+    @if test ! -x $1; then $(CHMOD) u+x $1; fi
     ./$1 >>$2 2>$3
     if test -s $3; then $(CAT) $3 >>$2; fi
     $(call rm_null,$3)
diff --git a/template/Test.mk b/template/Test.mk
index edfa278..8e2628d 100644
--- a/template/Test.mk
+++ b/template/Test.mk
@@ -18,6 +18,10 @@ SHELL = /bin/sh
 # テスト名。カレントディレクトリー名から取得
 TEST = $(notdir $(CURRDIR))
 
+# コマンドファイルのソース
+#CMDSRC_FILE := $(CMD_FILE)
+CMDSRC_FILE := $(CMD_FILE).c
+
 .PHONY: check set reset time cleantime clean cleanall
 
 check: clean $(DETAIL_FILE)
@@ -44,22 +48,18 @@ clean:
 cleanall: clean
 	@$(RM) $(TEST0_FILE)
 
-$(CMD_FILE):
-	@$(call chk_file_notext,$@)
-	@$(CHMOD) u+x $@
-
 $(TEST0_FILE) $(TEST1_FILE): $(CMD_FILE)
 	@-$(call exec_cmd,$^,$@,$(ERR_FILE))
 
 $(DIFF_FILE): $(TEST0_FILE) $(TEST1_FILE)
-	@$(call chk_file_notext,$(TEST0_FILE))
 	@-$(call diff_files,$^,$@)
 
 $(LOG_FILE): $(DIFF_FILE)
 	@$(call test_log,$(TEST),$^,$@)
 
 $(DETAIL_FILE): $(LOG_FILE)
-	@$(call report_files,$(LOG_FILE) $(CMD_FILE) $(TEST0_FILE) $(ERR_FILE) $(DIFF_FILE) $(TEST1_FILE),$@)
+	@$(call report_files,$(LOG_FILE) $(CMDSRC_FILE) $(TEST0_FILE) $(ERR_FILE) $(DIFF_FILE) $(TEST1_FILE),$@)
 
 $(TIME_FILE): $(CMD_FILE)
+	@if test ! -x $^; then $(CHMOD) u+x $^; fi
 	@-$(call time_cmd,$(TEST),$^,$@)