--- /dev/null
+# autotest.mk > test_template > Define.mk
+# 自動テスト用の変数、マクロ定義
+
+ifndef DEFINE_INCLUDED
+DEFINE_INCLUDED = 1
+
+# 現在の日時
+DATE = $(shell date +"%F %T")
+
+# Makefile
+MAKEFILE := Makefile
+
+######################################################################
+# コマンド
+######################################################################
+
+CAT := cat
+CHMOD := chmod
+CP := cp
+DEV_NULL := /dev/null
+DIFF := diff -c
+ECHO := echo
+EXPR := expr
+FIND := find
+GREP := grep
+LINECOUNT := wc -l
+LN := ln -s
+MKDIR := mkdir -p
+MV := mv
+SED := sed
+TIME := time
+TR := tr
+VALGRIND := valgrind
+VALGRINDFLAG := -q --leak-check=full --log-file=valgrind.log
+
+######################################################################
+# テストグループとテストでの共通マクロ
+######################################################################
+
+# chk_var_null: 引数がNULLの場合、エラー
+# 用例: $(call chk_var_null,var)
+define chk_var_null
+ $(if $1,,$(error NULL argument))
+endef
+
+# chk_file_ext: 指定されたファイルが実在する場合、エラー
+# 用例: $(call chk_file_ext,file)
+define chk_file_ext
+ $(if $(wildcard $1),$(error $1 exists in $(CURDIR)))
+endef
+
+# 指定したディレクトリーを作成
+# 引数は、ディレクトリー名
+# 用例: $(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
+
+######################################################################
+# テストグループのディレクトリー
+######################################################################
+
+# テストグループとテストの変数を定義したMakefile
+DEFINE_FILE := Define.mk
+
+# テストのターゲットを定義したMakefile
+TEST_MAKEFILE := Test.mk
+
+# すべてのMakefile群
+MAKEFILES := $(DEFINE_FILE) $(TEST_MAKEFILE)
+
+# すべてのMakefile群の絶対パス
+MAKEFILES_ABS := $(foreach file,$(MAKEFILES),$(CURDIR)/$(file))
+
+######################################################################
+# テストのディレクトリー
+######################################################################
+
+# テストコマンドファイル
+CMD_FILE := cmd
+
+# テスト説明ファイル
+DESC_FILE := desc.txt
+
+# テスト想定ファイル
+TEST0_FILE := 0.txt
+
+# テスト結果ファイル
+TEST1_FILE := 1.txt
+
+# テストの、想定結果と結果の差分ファイル
+DIFF_FILE := diff.log
+
+# テストエラーファイル
+ERR_FILE := err.log
+
+# テストログファイル
+LOG_FILE := summary.log
+
+# 実行時間ファイル
+TIME_FILE := time.log
+
+# valgrindによるメモリーチェックファイル
+VALGRIND_FILE := valgrind.log
+
+# テスト詳細レポートファイル
+DETAIL_FILE := detail.log
+
+# テストの結果として作成されるファイル群
+TEST_RES_FILES := $(TEST1_FILE) $(DIFF_FILE) $(ERR_FILE) $(LOG_FILE) $(DETAIL_FILE) $(TIME_FILE)
+
+endif
-.PHONY: all clean distclean
-
-FIND := find
-ECHO := /bin/echo
-# 複数の子ディレクトリーでmakeを実行
-# 用例: $(call make_dirs,list_dir,target,options)
-define make_dirs
- $(foreach d,$1,$(ECHO) '---------- $d ----------'; $(MAKE) $3 -C $d $2; )
-endef
+# autotest.mk > template > Group.mk
+# テストグループのMakefile
+#
+# オペレーター
+# make : すべてのテストを実行し、結果をログファイルに出力
+# make check : ↓
+# make checkall : すべてのテストを実行し、結果と実行時間をログファイルに出力
+# make time : すべてのテストを実行し、実行時間をログファイルに出力
+# make create : TESTNAMEで指定されたテストを新規に作成
+# make clean : すべてのテストで、"make" で生成されたファイルをクリア
+# make time-clean: すべてのテストで、実行時間のログファイルをクリア
+# make valgrind: すべてのテストで、valgrindによるメモリリークチェックを実行する
+# make valgrind-clean: すべてのテストで、valgrindのログファイルをクリア
+
+SHELL = /bin/sh
+
+include Define.mk
+
+verbose ?= 1
+
+######################################################################
+# テストグループのディレクトリー
+######################################################################
+
+# グループディレクトリー
+GROUP_DIR := $(CURDIR)
+
+# グループ名。ディレクトリ名から取得
+GROUP := $(notdir $(GROUP_DIR))
# テスト名。カレントディレクトリー内の、名前が大文字または.以外で始まるディレクトリー
TESTS = $(notdir $(shell $(FIND) -maxdepth 1 -name "[^A-Z.]*" -type d))
-all:
- @$(call make_dirs,$(TESTS),$@,-s)
+# テストグループログファイル
+GROUP_LOG_FILE := $(shell $(ECHO) $(GROUP) | $(TR) '[a-z]' '[A-Z]').log
+
+# テストグループレポートファイル
+GROUP_REPORT_FILE := Summary.log
+
+# テストグループ実行時間ファイル
+GROUP_TIME_FILE := $(shell echo $(GROUP) | $(TR) '[a-z]' '[A-Z]')_time.log
+
+# テストグループvalgrindファイル
+GROUP_VALGRIND_FILE := $(shell echo $(GROUP) | $(TR) '[a-z]' '[A-Z]')_valgrind.log
+
+# グループで、テスト結果として作成されるファイル群
+GROUP_RES_FILES := $(GROUP_LOG_FILE) $(GROUP_REPORT_FILE) $(GROUP_TIME_FILE) $(GROUP_VALGRIND_FILE)
+
+# テストごとのログファイル
+TEST_LOG_FILES := $(foreach test,$(TESTS),$(test)/$(LOG_FILE))
+
+######################################################################
+# テストグループのマクロ
+######################################################################
+
+# テストごとのファイルをグループファイルに出力
+# 引数は、テストのリスト、グループファイル、テストファイル
+# 用例: $(call group_log,files_test_log,file_group_log)
+define group_log
+ $(if $(filter 1,$(verbose)),$(ECHO) '$(CURDIR) - $(words $1) tests')
+ $(foreach target,$1,$(call group_log_each,$(target),$2))
+ $(if $(filter 1,$(verbose)),$(ECHO))
+endef
+
+# テストのログファイルをグループログファイルに出力。引数は、テスト、グループログファイル
+# 用例: $(call group_log_each,file_test_log,file_group_log)
+define group_log_each
+ $(if $(filter 1,$(verbose)),$(ECHO) -n '.')
+ $(ECHO) $(dir $1) >>$2;
+ if test -s $1; then $(CAT) $1 >>$2; else $(ECHO) $(dir $1)": no log" >>$2; fi
+ $(ECHO) >>$2;
+endef
+
+# 成功したテストの数。テストグループログファイルから取得
+SUCCESS_TEST = $(shell $(GREP) "^[^A-Z.].*: Test Success" $(GROUP_LOG_FILE) | $(LINECOUNT))
+
+# 失敗したテストの数。テストグループログファイルから取得
+FAIL_TEST = $(shell $(GREP) "^[^A-Z.].*: Test Failure" $(GROUP_LOG_FILE) | $(LINECOUNT))
+
+# すべてのテストの数
+ALL_TEST = $(shell $(EXPR) $(SUCCESS_TEST) + $(FAIL_TEST))
+
+# テストごとの実行時間ファイル
+TEST_TIME_FILES := $(foreach test,$(TESTS),$(test)/$(TIME_FILE))
+
+# テストごとのvalgrindファイル
+TEST_VALGRIND_FILES := $(foreach test,$(TESTS),$(test)/$(VALGRIND_FILE))
+
+# テストの結果を、グループログファイルを元にレポート。
+# 引数は、グループ名、グループログファイル、グループレポートファイル
+# 用例: $(call group_report,name,file_log,file_report)
+define group_report
+ $(ECHO) '$1: $(SUCCESS_TEST) / $(ALL_TEST) tests passed. Details in $(GROUP_DIR)/$2' >$3
+ if test $(FAIL_TEST) -eq 0; then $(ECHO) "$1: All tests are succeded." >>$3; fi
+endef
+
+# リストで指定したディレクトリーでmakeを実行
+# 用例: $(call make_targets,list_dir,target)
+define make_targets
+ $(if $(filter 1,$(verbose)),$(ECHO) '$(CURDIR) - $2';)
+ $(foreach dir,$1,$(call make_target_each,$(dir),$2))
+endef
+
+# 指定したディレクトリーでmakeを実行
+# 用例: $(call make_target_each,tests,target)
+define make_target_each
+ $(MAKE) $2 -sC $1;
+endef
+
+.PHONY: check checkall time valgrind create clean time-clean valgrind-clean
+
+check checkall: clean $(GROUP_REPORT_FILE)
+ @$(CAT) $(GROUP_REPORT_FILE)
+ @exit $(FAIL_TEST)
+
+time: time-clean $(GROUP_TIME_FILE)
+ @$(CAT) $(GROUP_TIME_FILE)
+
+create:
+ @$(call create_dir,$(TEST))
+ @$(call create_makefile,$(TEST)/$(MAKEFILE),$(MAKEFILES))
clean:
- @$(call make_dirs,$(TESTS),$@)
+ @$(call make_targets,$(TESTS),$@)
+ @$(RM) $(GROUP_RES_FILES);
+
+time-clean:
+ @$(call make_targets,$(TESTS),$@)
+ @$(RM) $(GROUP_TIME_FILE);
+
+valgrind:
+ @$(call make_targets,$(TESTS),$@)
+ @$(RM) $(GROUP_RES_FILES);
+
+valgrind-clean:
+ @$(call make_targets,$(TESTS),$@)
+ @$(RM) $(GROUP_VALGRIND_FILE);
+
+$(GROUP_REPORT_FILE): $(GROUP_LOG_FILE)
+ @$(call group_report,$(GROUP),$^,$@)
+
+$(GROUP_LOG_FILE): $(TEST_LOG_FILES)
+ @$(call group_log,$^,$@)
+
+$(TEST_LOG_FILES):
+ @$(MAKE) $(MAKECMDGOALS) -sC $(dir $@) NODISP=1
+
+$(GROUP_TIME_FILE): $(TEST_TIME_FILES)
+ @$(call group_log,$^,$@)
+
+$(TEST_TIME_FILES):
+ @$(MAKE) time -sC $(dir $@)
+
+$(GROUP_VALGRIND_FILE): $(TEST_VALGRIND_FILES)
+ @$(call group_log,$^,$@)
-distclean:
- @$(call make_dirs,$(TESTS),$@)
+$(TEST_VALGRIND_FILES):
+ @$(MAKE) time -sC $(dir $@)
--- /dev/null
+# autotest.mk > test_template > Test.mk
+# 自動テスト用のMakefile
+#
+# 要: Define.mk Define_test.mk
+#
+# オペレーター
+# make : CMDの標準出力をTEST1_FILEに保存したあと、TEST0_FILEとの差分を比較し、結果をLOG_FILEに出力
+# make check : ↓
+# make set : CMDの標準出力をTEST0_FILEに保存。TEST0_FILEが存在する場合は実行しない
+# make reset : CMDの標準出力をTEST0_FILEに保存。TEST0_FILEが存在する場合は上書き
+# make time : CMDの実行にかかった時間をTIME_FILEに保存し、出力
+# make time-clean: "make time" で作成されたファイルをクリア
+# make valgrind: valgrind CMDの標準出力をVARGRIND_FILEに保存
+# make clean : "make" で作成されたファイルをクリア
+# make all-clean: "make" と "make set" で作成されたファイルをクリア
+SHELL = /bin/bash
+
+######################################################################
+# マクロ
+######################################################################
+
+# 指定されたファイルをチェックし、空の場合は削除
+# 引数は、対象ファイル
+# 用例: $(call rm_null,file_target)
+define rm_null
+ if test ! -s $1; then $(RM) $1; fi
+endef
+
+# 説明ファイルの内容を、指定されたファイルに出力
+# 引数は、出力ファイル
+# 用例: $(call desc_log,file_out)
+define desc_log
+ if test -s $(DESC_FILE); then $(CAT) $(DESC_FILE) >>$1; fi
+endef
+
+# テスト実行の経過時間を、指定されたファイルに出力して表示
+# 引数は、テスト名、コマンドファイル、出力ファイル
+# 用例: $(call time_cmd,file_cmd,file_out)
+define time_cmd
+ if test ! -x $1; then $(CHMOD) u+x $1; fi
+ ($(TIME) ./$1 1>$(DEV_NULL) 2>$(DEV_NULL)) 2>&1 | $(GREP) '^real' >$2
+endef
+
+# valgrindによるメモリーチェック結果を、指定されたファイルに出力して表示
+# 引数は、テスト名、コマンドファイル、出力ファイル
+# 用例: $(call valgrind_cmd,file_cmd,file_out)
+define valgrind_cmd
+ -$(VALGRIND) $(VALGRINDFLAG) $(strip $(shell tail -1 $(CMD_FILE))) 1>/dev/null 2>&1
+endef
+
+# テスト実行コマンド。
+# コマンドファイルを実行し、標準出力を指定されたファイルに保存。
+# エラー発生時は、エラー出力を出力ファイルとエラーファイルに保存。
+# 引数は、コマンドファイル、出力ファイル、エラーファイル
+# 用例: $(call exec_cmd,file_cmd,file_out,file_err)
+define exec_cmd
+ if test ! -x $1; then $(CHMOD) u+x $1; fi
+ ./$1 >>$2 2>$3
+ if test -s $3; then $(CAT) $3 >>$2; fi
+ $(MV) $2 $2.tmp && $(SED) -e "s%$(CURDIR)%\$$PWD%g" $2.tmp >$2 && $(RM) $2.tmp
+ $(call rm_null,$3)
+endef
+
+# 2つのファイルを比較し、差分ファイルを作成
+# 引数は、2ファイルのリスト、差分ファイル
+# 用例: $(call diff_files,files,file_out)
+define diff_files
+ $(DIFF) $1 >$2 2>&1
+ $(call rm_null,$2)
+endef
+
+# 差分ファイルの内容をログファイルに出力
+# 引数は、テスト名、差分ファイル、ログファイル
+# 用例: $(call test_log,name,file_diff,file_log)
+define test_log
+ $(call desc_log,$3)
+ if test ! -s $2; then RES=Success; else RES=Failure; fi; $(ECHO) "$1: Test $$RES $(DATE)" >>$3
+ $(ECHO) "Details in $(CURDIR)/$(DETAIL_FILE)" >>$3
+endef
+
+# NODISPが設定されていない時は、ログファイルを表示
+# 引数は、ログファイル
+# 用例: $(call disp_test_log,file_log)
+define disp_test_log
+ $(if $(NODISP),,$(CAT) $1)
+endef
+
+# ファイル群から、ファイル名とファイルの内容を指定されたファイルに出力
+# 引数は、対象ファイル群、出力ファイル
+# 用例: $(call report_files,list_file_target,file_out)
+define report_files
+ $(foreach tfile,$1,$(call report_file,$(tfile),$2))
+endef
+
+# ファイル名とファイルの内容を指定されたファイルに出力
+# 引数は、対象ファイル、出力ファイル
+# 用例: $(call report_file,file_target,file_out)
+define report_file
+ $(call chk_var_null,$1)
+ if test -s $1; then $(ECHO) "== $1 ==" >>$2; $(call echo_hr,$2); cat $1 >>$2; $(call echo_hr,$2); $(ECHO) >>$2; fi
+endef
+
+define echo_hr
+ $(ECHO) "----------------------------------------------------------------------" >>$1
+endef
+
+# テスト名。カレントディレクトリー名から取得
+TEST = $(notdir $(CURDIR))
+
+# コマンドファイルのソース
+CMDSRC_FILE ?= $(CMD_FILE)
+
+.PHONY: check set reset clean all-clean time time-clean valgrind valgrind-clean
+
+check: clean $(DETAIL_FILE)
+ @$(call disp_test_log,$(LOG_FILE))
+
+checkall: clean $(DETAIL_FILE) $(TIME_FILE)
+ @$(CAT) $(TIME_FILE) >>$(LOG_FILE)
+ @$(call disp_test_log,$(LOG_FILE))
+
+set: $(CMD_FILE)
+ @$(call chk_file_ext,$(TEST0_FILE))
+ @-$(call exec_cmd,$(CMD_FILE),$(TEST0_FILE),$(ERR_FILE))
+ @$(CAT) $(TEST0_FILE)
+
+reset: all-clean $(CMD_FILE)
+ @-$(call exec_cmd,$(CMD_FILE),$(TEST0_FILE),$(ERR_FILE))
+ @$(CAT) $(TEST0_FILE)
+
+clean:
+ @$(RM) $(TEST_RES_FILES) $(TIME_FILE) $(VALGRIND_FILE)
+
+all-clean: clean
+ @$(RM) $(TEST0_FILE)
+
+time: time-clean $(TIME_FILE)
+ @$(CAT) $(TIME_FILE)
+
+time-clean:
+ @$(RM) $(TIME_FILE)
+
+valgrind: valgrind-clean $(VALGRIND_FILE)
+ if test -s $(VALGRIND_FILE); then $(ECHO) $(CURDIR) && $(CAT) $(VALGRIND_FILE); else $(RM) $(VALGRIND_FILE); fi
+
+valgrind-clean:
+ @$(RM) $(VALGRIND_FILE)
+
+$(TEST1_FILE): $(CMD_FILE)
+ @-$(call exec_cmd,$^,$@,$(ERR_FILE))
+
+$(DIFF_FILE): $(TEST0_FILE) $(TEST1_FILE)
+ @-$(call diff_files,$^,$@)
+
+$(LOG_FILE): $(DIFF_FILE)
+ @$(call test_log,$(TEST),$^,$@)
+
+$(DETAIL_FILE): $(LOG_FILE)
+ @$(call report_files,$(LOG_FILE) $(CMDSRC_FILE) $(TEST0_FILE) $(ERR_FILE) $(DIFF_FILE) $(TEST1_FILE),$@)
+
+$(TIME_FILE): $(CMD_FILE)
+ @$(call time_cmd,$^,$@)
+
+$(VALGRIND_FILE): $(CMD_FILE)
+ $(call valgrind_cmd,$^,$@)
--- /dev/null
+bibtex.fls is generated.
+Makefiles variable -- TEXFILES= LATEXINTFILES= GRAPHICFILES= BIBDB=ref.bib
+bibtex.d is generated by scanning bibtex.tex and bibtex.fls.
+---------- bibtex_1.pdf: rebase ----------
+platex -interaction=batchmode bibtex.tex
+pbibtex bibtex.aux
+`bibtex.bbl' -> `bibtex.bbl_prev'
+platex -interaction=batchmode bibtex.tex
+LaTeX Warning: There were undefined references.
+platex -interaction=batchmode bibtex.tex
+dvipdfmx bibtex.dvi
+`bibtex.pdf' -> `bibtex_1.pdf'
+
+patching file bibtex.tex
+---------- bibtex_2.pdf: update ----------
+bibtex.fls is generated.
+Makefiles variable -- TEXFILES= LATEXINTFILES=bibtex.bbl GRAPHICFILES= BIBDB=ref.bib
+bibtex.d is generated by scanning bibtex.tex and bibtex.fls.
+platex -interaction=batchmode bibtex.tex
+pbibtex bibtex.aux
+`bibtex.bbl' -> `bibtex.bbl_prev'
+platex -interaction=batchmode bibtex.tex
+LaTeX Warning: There were undefined references.
+platex -interaction=batchmode bibtex.tex
+dvipdfmx bibtex.dvi
+`bibtex.pdf' -> `bibtex_2.pdf'
-.PHONY: all bib-update bib-rebase body-update rebase clean distclean
-
-CAT := cat
-CMP := cmp -s
-SED := sed
-
-TEXTARGETS := bibtex.pdf
-
-$(TEXTARGETS):
-
-all:
- @$(MAKE) -s bibtex_1.pdf
- @$(ECHO) '--------------------'
- @$(MAKE) -s bibtex_2.pdf
- @$(ECHO) '--------------------'
- @$(MAKE) -s bibtex_3.pdf
- @$(ECHO) '--------------------'
- @$(MAKE) -s bibtex_4.pdf
- @$(ECHO) '--------------------'
- @$(MAKE) -s bibtex_5.pdf
-
-bibtex_1.pdf: rebase
- $(ECHO) '---------- $@: $^ ----------'
- @$(MAKE) -s bibtex.pdf
- $(CP) -v bibtex.pdf $@
-
-bibtex_2.pdf: body-update
- $(ECHO) '---------- $@: $^ ----------'
- @$(MAKE) -s bibtex.pdf
- $(CP) -v bibtex.pdf $@
-
-bibtex_3.pdf: rebase bibtex.pdf bib-update
- $(ECHO) '---------- $@: $^ ----------'
- @$(MAKE) -s bibtex.pdf
- $(CP) -v bibtex.pdf $@
-
-bibtex_4.pdf: body-update bib-update
- $(ECHO) '---------- $@: $^ ----------'
- @$(MAKE) -s bibtex.pdf
- $(CP) -v bibtex.pdf $@
-
-bibtex_5.pdf: rebase bibtex.pdf body-update bib-update
- $(ECHO) '---------- $@: $^ ----------'
- @$(MAKE) -s bibtex.pdf
- $(CP) -v bibtex.pdf $@
-
-include latex.mk
-
-rebase: bib-rebase body-rebase
-
-bib-update: bib-rebase
- $(CAT) jpnbook_add.bib >>jpnbook.bib
-
-bib-rebase:
- $(CMP) jpnbook.bib.base jpnbook.bib || $(CP) -v jpnbook.bib.base jpnbook.bib
-
-body-update: body-rebase
- $(SED) -i.bak -e 's/本文変更なし。/本文を変更。/' bibtex.tex
-
-body-rebase:
- $(CMP) bibtex.tex.base bibtex.tex || $(CP) -v bibtex.tex.base bibtex.tex
-
-clean: tex-clean
- $(RM) *.bak
-
-distclean: rebase clean tex-distclean
- $(RM) bibtex_*.pdf
+include ../Define.mk
+include ../Test.mk
--- /dev/null
+cd ../../sample/bibtex && make -s distclean >/dev/null && make -s all
--- /dev/null
+../../sample/bibtex/desc.txt
\ No newline at end of file
--- /dev/null
+crossref.fls is generated.
+Makefiles variable -- TEXFILES= LATEXINTFILES= GRAPHICFILES= BIBDB=
+crossref.d is generated by scanning crossref.tex and crossref.fls.
+platex -interaction=batchmode crossref.tex
+LaTeX Warning: There were undefined references.
+platex -interaction=batchmode crossref.tex
+dvipdfmx crossref.dvi
-TEXTARGETS := crossref.pdf
-
-all: $(TEXTARGETS)
-
-include latex.mk
-
-clean: tex-clean
-
-distclean: clean tex-distclean
+include ../Define.mk
+include ../Test.mk
--- /dev/null
+cd ../../sample/crossref && make -s distclean && make -s all
--- /dev/null
+../../sample/crossref/desc.txt
\ No newline at end of file
--- /dev/null
+.
+otsuberuto_zo
+makeindex
+sanposhojo
+graphics_comment
+error_crossref
+toc_pdfbookmarks
+crossref
+otsuberuto_zo_s
+error_no_end_seq
+bibtex
+graphics_eps
+simple
+toc
+error_undef_ctl_seq
+graphics_multi
+sample
+graphics_pdf
+pdfbookmarks
+error_no_graphic_file
--- /dev/null
+crossref.fls is generated.
+Makefiles variable -- TEXFILES= LATEXINTFILES= GRAPHICFILES= BIBDB=
+crossref.d is generated by scanning crossref.tex and crossref.fls.
+platex -interaction=batchmode crossref.tex
+LaTeX Warning: There were undefined references.
+platex -interaction=batchmode crossref.tex
+LaTeX Warning: There were undefined references.
+platex -interaction=batchmode crossref.tex
+LaTeX Warning: There were undefined references.
+platex -interaction=batchmode crossref.tex
+platex is run 3 times, but there are still undefined references.
+crossref.tex:46: LaTeX Warning: Reference `noexist' on page 1 undefined on input line 46.
+
+LaTeX Warning: There were undefined references.
+
+make: *** [crossref.dvi] Error 1
-TEXTARGETS := crossref.pdf
-
-all: $(TEXTARGETS)
-
-include latex.mk
-
-clean: tex-clean
-
-distclean: clean tex-distclean
+include ../Define.mk
+include ../Test.mk
--- /dev/null
+cd ../../sample/error_crossref && make -s distclean && make -s all 2>&1 | sed -e 's/make\[[0-9]*\]/make/g'
--- /dev/null
+../../sample/error_crossref/desc.txt
\ No newline at end of file
--- /dev/null
+error_no_end_seq.fls is generated.
+Makefiles variable -- TEXFILES= LATEXINTFILES= GRAPHICFILES= BIBDB=
+error_no_end_seq.d is generated by scanning error_no_end_seq.tex and error_no_end_seq.fls.
+platex -interaction=batchmode error_no_end_seq.tex
+! Emergency stop.
+<*> error_no_end_seq.tex
+
+*** (job aborted, no legal \end found)
+
+make: *** [error_no_end_seq.dvi] Error 1
-TEXTARGETS := simple.pdf
-
-CMP := cmp -s
-SED := sed
-
-.PHONY: all update rebase clean distclean
-
-all:
- $(MAKE) -s $(TEXTARGETS) && exit 1 || exit 0
-
-include latex.mk
-
-clean: tex-clean
-
-distclean: tex-distclean
+include ../Define.mk
+include ../Test.mk
--- /dev/null
+cd ../../sample/error_no_end_seq && make -s distclean && make -s all 2>&1 | sed -e 's/make\[[0-9]*\]/make/g'
--- /dev/null
+../../sample/error_no_end_seq/desc.txt
\ No newline at end of file
--- /dev/null
+make: *** No rule to make target `error_no_graphic_file.pdf'. Stop.
-.PHONY: all update clean distclean
-
-TEXTARGETS := graphics.pdf
-
-all:
- $(MAKE) -s graphics.pdf && exit 1 || exit 0
-
-include latex.mk
-
-clean: tex-clean
-
-distclean: clean tex-distclean
+include ../Define.mk
+include ../Test.mk
--- /dev/null
+cd ../../sample/error_no_graphic_file && make -s distclean && make -s all 2>&1 | sed -e 's/make\[[0-9]*\]/make/g'
--- /dev/null
+../../sample/error_no_graphic_file/desc.txt
\ No newline at end of file
--- /dev/null
+simple.fls is generated.
+Makefiles variable -- TEXFILES= LATEXINTFILES= GRAPHICFILES= BIBDB=
+simple.d is generated by scanning simple.tex and simple.fls.
+platex -interaction=batchmode simple.tex
+! Undefined control sequence.
+simple.tex:4: l.4 「何人もの\textbt
+ {ニュートン}がいた(There were several Newtons)」
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+make: *** [simple.dvi] Error 1
-TEXTARGETS := simple.pdf
-
-CMP := cmp -s
-SED := sed
-
-.PHONY: all clean distclean
-
-all: $(TEXTARGETS)
-
-include latex.mk
-
-clean: tex-clean
-
-distclean: clean tex-distclean
+include ../Define.mk
+include ../Test.mk
--- /dev/null
+cd ../../sample/error_undef_ctl_seq && make -s distclean && make -s all 2>&1 | sed -e 's/make\[[0-9]*\]/make/g'
--- /dev/null
+../../sample/error_undef_ctl_seq/desc.txt
\ No newline at end of file
--- /dev/null
+graphics_comment.fls is generated.
+Makefiles variable -- TEXFILES= LATEXINTFILES= GRAPHICFILES=tiger1.pdf tiger4.pdf BIBDB=
+graphics_comment.d is generated by scanning graphics_comment.tex and graphics_comment.fls.
+platex -interaction=batchmode graphics_comment.tex
+dvipdfmx graphics_comment.dvi
-.PHONY: all update rebase
-
-TEXTARGETS := graphics_comment.pdf
-
-CMP := cmp -s
-CP := cp
-CONVERT := convert
-
-$(TEXTARGETS):
-
-all: $(TEXTARGETS)
-
-include latex.mk
-
-clean: tex-clean
-
-distclean: rebase clean tex-distclean
- $(RM) graphics_*.pdf
+include ../Define.mk
+include ../Test.mk
--- /dev/null
+cd ../../sample/graphics_comment && make -s distclean && make -s all
--- /dev/null
+../../sample/graphics_comment/desc.txt
\ No newline at end of file
--- /dev/null
+graphics_eps.fls is generated.
+Makefiles variable -- TEXFILES= LATEXINTFILES= GRAPHICFILES=tiger.eps BIBDB=
+graphics_eps.d is generated by scanning graphics_eps.tex and graphics_eps.fls.
+---------- graphics_eps_1.pdf: rebase ----------
+platex -interaction=batchmode graphics_eps.tex
+dvipdfmx graphics_eps.dvi
+`graphics_eps.pdf' -> `graphics_eps_1.pdf'
+--------------------
+---------- graphics_eps_2.pdf: update ----------
+platex -interaction=batchmode graphics_eps.tex
+dvipdfmx graphics_eps.dvi
+`graphics_eps.pdf' -> `graphics_eps_2.pdf'
-.PHONY: all update rebase
-
-TEXTARGETS := graphics_eps.pdf
-
-CMP := cmp -s
-CP := cp
-CONVERT := convert
-
-$(TEXTARGETS):
-
-all:
- @$(MAKE) -s graphics_eps_1.pdf
- @$(ECHO) '--------------------'
- @$(MAKE) -s graphics_eps_2.pdf
-
-graphics_eps_1.pdf: rebase
- @$(ECHO) '---------- $@: $^ ----------'
- @$(MAKE) -s graphics_eps.pdf
- $(CP) -v graphics_eps.pdf $@
-
-graphics_eps_2.pdf: update
- @$(ECHO) '---------- $@: $^ ----------'
- @$(MAKE) -s graphics_eps.pdf
- $(CP) -v graphics_eps.pdf $@
-
-rebase:
- $(CMP) tiger.eps.base tiger.eps || $(CP) tiger.eps.base tiger.eps
-
-update:
- $(CONVERT) Panthera_tigris_tigris.jpg tiger.eps
-
-include latex.mk
-
-clean: tex-clean
-
-distclean: rebase clean tex-distclean
- $(RM) graphics_eps_*.pdf
+include ../Define.mk
+include ../Test.mk
--- /dev/null
+cd ../../sample/graphics_eps && make -s distclean && make -s all
--- /dev/null
+../../sample/graphics_eps/desc.txt
\ No newline at end of file
--- /dev/null
+graphics.fls is generated.
+Makefiles variable -- TEXFILES= LATEXINTFILES= GRAPHICFILES=banana.jpg cherry.jpg fruits.jpg grapefruits.jpg melon.jpg orange.jpg BIBDB=
+graphics.d is generated by scanning graphics.tex and graphics.fls.
+platex -interaction=batchmode graphics.tex
+dvipdfmx graphics.dvi
--- /dev/null
+include ../Define.mk
+include ../Test.mk
--- /dev/null
+cd ../../sample/graphics_multi && make -s distclean && make -s all
--- /dev/null
+../../sample/graphics_multi/desc.txt
\ No newline at end of file
--- /dev/null
+`tiger.pdf.base' -> `tiger.pdf'
+graphics_pdf.fls is generated.
+Makefiles variable -- TEXFILES= LATEXINTFILES= GRAPHICFILES=tiger.pdf BIBDB=
+graphics_pdf.d is generated by scanning graphics_pdf.tex and graphics_pdf.fls.
+---------- graphics_pdf_1.pdf: rebase ----------
+platex -interaction=batchmode graphics_pdf.tex
+dvipdfmx graphics_pdf.dvi
+`graphics_pdf.pdf' -> `graphics_pdf_1.pdf'
+--------------------
+---------- graphics_pdf_2.pdf: update ----------
+platex -interaction=batchmode graphics_pdf.tex
+dvipdfmx graphics_pdf.dvi
+`graphics_pdf.pdf' -> `graphics_pdf_2.pdf'
-.PHONY: all update rebase
-
-TEXTARGETS := graphics_pdf.pdf
-
-CMP := cmp -s
-CP := cp
-CONVERT := convert
-
-$(TEXTARGETS):
-
-all:
- @$(MAKE) -s graphics_pdf_1.pdf
- @$(ECHO) '--------------------'
- @$(MAKE) -s graphics_pdf_2.pdf
-
-graphics_pdf_1.pdf: rebase
- @$(ECHO) '---------- $@: $^ ----------'
- @$(MAKE) -s graphics_pdf.pdf
- $(CP) -v graphics_pdf.pdf $@
-
-graphics_pdf_2.pdf: update
- @$(ECHO) '---------- $@: $^ ----------'
- @$(MAKE) -s graphics_pdf.pdf
- $(CP) -v graphics_pdf.pdf $@
-
-rebase:
- $(CMP) tiger.pdf.base tiger.pdf || $(CP) -v tiger.pdf.base tiger.pdf
-
-update:
- $(CONVERT) Panthera_tigris_tigris.jpg tiger.pdf
-
-include latex.mk
-
-clean: tex-clean
-
-distclean: rebase clean tex-distclean
- $(RM) graphics_pdf_*.pdf
+include ../Define.mk
+include ../Test.mk
--- /dev/null
+cd ../../sample/graphics_pdf && make -s distclean && make -s all
--- /dev/null
+../../sample/graphics_pdf/desc.txt
\ No newline at end of file
--- /dev/null
+ln -s ../../sample/bibtex/desc.txt bibtex/desc.txt
+ln -s ../../sample/crossref/desc.txt crossref/desc.txt
+ln -s ../../sample/error_crossref/desc.txt error_crossref/desc.txt
+ln -s ../../sample/error_no_end_seq/desc.txt error_no_end_seq/desc.txt
+ln -s ../../sample/error_no_graphic_file/desc.txt error_no_graphic_file/desc.txt
+ln -s ../../sample/error_undef_ctl_seq/desc.txt error_undef_ctl_seq/desc.txt
+ln -s ../../sample/graphics_comment/desc.txt graphics_comment/desc.txt
+ln -s ../../sample/graphics_eps/desc.txt graphics_eps/desc.txt
+ln -s ../../sample/graphics_multi/desc.txt graphics_multi/desc.txt
+ln -s ../../sample/graphics_pdf/desc.txt graphics_pdf/desc.txt
+ln -s ../../sample/makeindex/desc.txt makeindex/desc.txt
+ln -s ../../sample/otsuberuto_zo/desc.txt otsuberuto_zo/desc.txt
+ln -s ../../sample/otsuberuto_zo_s/desc.txt otsuberuto_zo_s/desc.txt
+ln -s ../../sample/pdfbookmarks/desc.txt pdfbookmarks/desc.txt
+ln -s ../../sample/sample/desc.txt sample/desc.txt
+ln -s ../../sample/sanposhojo/desc.txt sanposhojo/desc.txt
+ln -s ../../sample/simple/desc.txt simple/desc.txt
+ln -s ../../sample/toc/desc.txt toc/desc.txt
+ln -s ../../sample/toc_pdfbookmarks/desc.txt toc_pdfbookmarks/desc.txt
--- /dev/null
+makeindex.fls is generated.
+Makefiles variable -- TEXFILES= LATEXINTFILES=makeindex.ind GRAPHICFILES= BIBDB=
+makeindex.d is generated by scanning makeindex.tex and makeindex.fls.
+---------- makeindex_1.pdf: rebase ----------
+platex -interaction=batchmode makeindex.tex
+`makeindex.idx' -> `makeindex.idx_prev'
+mendex makeindex.idx
+`makeindex.ind' -> `makeindex.ind_prev'
+platex -interaction=batchmode makeindex.tex
+dvipdfmx makeindex.dvi
+`makeindex.pdf' -> `makeindex_1.pdf'
+--------------------
+---------- makeindex_2.pdf: body-update ----------
+makeindex.fls is generated.
+Makefiles variable -- TEXFILES= LATEXINTFILES=makeindex.ind GRAPHICFILES= BIBDB=
+makeindex.d is generated by scanning makeindex.tex and makeindex.fls.
+platex -interaction=batchmode makeindex.tex
+`makeindex.idx' -> `makeindex.idx_prev'
+mendex makeindex.idx
+makeindex.ind_prev is up to date.
+dvipdfmx makeindex.dvi
+`makeindex.pdf' -> `makeindex_2.pdf'
+--------------------
+---------- makeindex_3.pdf: index-update ----------
+makeindex.fls is generated.
+Makefiles variable -- TEXFILES= LATEXINTFILES=makeindex.ind GRAPHICFILES= BIBDB=
+makeindex.d is generated by scanning makeindex.tex and makeindex.fls.
+platex -interaction=batchmode makeindex.tex
+`makeindex.idx' -> `makeindex.idx_prev'
+mendex makeindex.idx
+`makeindex.ind' -> `makeindex.ind_prev'
+platex -interaction=batchmode makeindex.tex
+dvipdfmx makeindex.dvi
+`makeindex.pdf' -> `makeindex_3.pdf'
-TEXTARGETS := makeindex.pdf
-
-.PHONY: all index-update rebase index-rebase tex-update tex-rebase clean distclean
-
-CMP := cmp -s
-SED := sed
-
-$(TEXTARGETS):
-
-all:
- @$(MAKE) -s makeindex_1.pdf
- @$(ECHO) '--------------------'
- @$(MAKE) -s makeindex_2.pdf
- @$(ECHO) '--------------------'
- @$(MAKE) -s makeindex_3.pdf
-
-makeindex_1.pdf: rebase
- @$(ECHO) '---------- $@: $^ ----------'
- @$(MAKE) -s makeindex.pdf
- @$(CP) -v makeindex.pdf $@
-
-makeindex_2.pdf: body-update
- @$(ECHO) '---------- $@: $^ ----------'
- @$(MAKE) -s makeindex.pdf
- @$(CP) -v makeindex.pdf $@
-
-makeindex_3.pdf: index-update
- @$(ECHO) '---------- $@: $^ ----------'
- @$(MAKE) -s makeindex.pdf
- @$(CP) -v makeindex.pdf $@
-
-body-update:
- $(SED) -i.bak -e 's/本文変更なし。/本文を変更。/' makeindex.tex
-
-index-update:
- $(SED) -i.bak -e 's/楽譜の/楽譜\\index{がくふ@楽譜}の/' makeindex.tex
-
-rebase:
- $(CMP) makeindex.tex.base makeindex.tex || $(CP) -v makeindex.tex.base makeindex.tex
-
-include latex.mk
-
-clean: tex-clean
- $(RM) *.bak
-
-distclean: rebase clean tex-distclean
- $(RM) makeindex_*.pdf
+include ../Define.mk
+include ../Test.mk
--- /dev/null
+cd ../../sample/makeindex && make -s distclean >/dev/null && make -s all
--- /dev/null
+../../sample/makeindex/desc.txt
\ No newline at end of file
--- /dev/null
+otsuberuto_zo.fls is generated.
+Makefiles variable -- TEXFILES= LATEXINTFILES= GRAPHICFILES=azlogo.eps BIBDB=
+otsuberuto_zo.d is generated by scanning otsuberuto_zo.tex and otsuberuto_zo.fls.
+platex -interaction=batchmode otsuberuto_zo.tex
+dvipdfmx otsuberuto_zo.dvi
+++ /dev/null
-../Makefile.template
\ No newline at end of file
--- /dev/null
+include ../Define.mk
+include ../Test.mk
--- /dev/null
+cd ../../sample/otsuberuto_zo && make -s distclean && make -s all
--- /dev/null
+../../sample/otsuberuto_zo/desc.txt
\ No newline at end of file
--- /dev/null
+otsuberuto_zo.fls is generated.
+Makefiles variable -- TEXFILES=body.tex daigo.tex daiichi.tex daini.tex style.tex LATEXINTFILES= GRAPHICFILES=azlogo.eps BIBDB=
+otsuberuto_zo.d is generated by scanning otsuberuto_zo.tex and otsuberuto_zo.fls.
+platex -interaction=batchmode otsuberuto_zo.tex
+dvipdfmx otsuberuto_zo.dvi
-TEXTARGETS := otsuberuto_zo.pdf
-
-all: $(TEXTARGETS)
-
-include latex.mk
-
-clean: tex-clean
-
-distclean: clean tex-distclean
+include ../Define.mk
+include ../Test.mk
--- /dev/null
+cd ../../sample/otsuberuto_zo_s && make -s distclean && make -s all
--- /dev/null
+../../sample/otsuberuto_zo_s/desc.txt
\ No newline at end of file
--- /dev/null
+pdfbookmarks.fls is generated.
+Makefiles variable -- TEXFILES= LATEXINTFILES=pdfbookmarks.out GRAPHICFILES= BIBDB=
+pdfbookmarks.d is generated by scanning pdfbookmarks.tex and pdfbookmarks.fls.
+---------- pdfbookmarks_1.pdf: rebase ----------
+platex -interaction=batchmode pdfbookmarks.tex
+`pdfbookmarks.out' -> `pdfbookmarks.out_prev'
+platex -interaction=batchmode pdfbookmarks.tex
+dvipdfmx pdfbookmarks.dvi
+`pdfbookmarks.pdf' -> `pdfbookmarks_1.pdf'
+--------------------
+patching file pdfbookmarks.tex
+---------- pdfbookmarks_2.pdf: update ----------
+pdfbookmarks.fls is generated.
+Makefiles variable -- TEXFILES= LATEXINTFILES=pdfbookmarks.out GRAPHICFILES= BIBDB=
+pdfbookmarks.d is generated by scanning pdfbookmarks.tex and pdfbookmarks.fls.
+platex -interaction=batchmode pdfbookmarks.tex
+`pdfbookmarks.out' -> `pdfbookmarks.out_prev'
+platex -interaction=batchmode pdfbookmarks.tex
+dvipdfmx pdfbookmarks.dvi
+`pdfbookmarks.pdf' -> `pdfbookmarks_2.pdf'
--- /dev/null
+include ../Define.mk
+include ../Test.mk
--- /dev/null
+cd ../../sample/pdfbookmarks && make -s distclean >/dev/null && make -s all
--- /dev/null
+../../sample/pdfbookmarks/desc.txt
\ No newline at end of file
--- /dev/null
+sample.fls is generated.
+Makefiles variable -- TEXFILES= LATEXINTFILES= GRAPHICFILES= BIBDB=
+sample.d is generated by scanning sample.tex and sample.fls.
+platex -interaction=batchmode sample.tex
+dvipdfmx sample.dvi
+++ /dev/null
-../Makefile.template
\ No newline at end of file
--- /dev/null
+include ../Define.mk
+include ../Test.mk
--- /dev/null
+cd ../../sample/sample && make -s distclean && make -s all
--- /dev/null
+../../sample/sample/desc.txt
\ No newline at end of file
--- /dev/null
+q1_ans.fls is generated.
+Makefiles variable -- TEXFILES=q1_q.tex LATEXINTFILES=q1_ans.out GRAPHICFILES=q1_0.pdf q1_1.pdf q1_2.pdf BIBDB=
+q1_ans.d is generated by scanning q1_ans.tex and q1_ans.fls.
+q1.fls is generated.
+Makefiles variable -- TEXFILES=q1_q.tex LATEXINTFILES= GRAPHICFILES=q1_0.pdf q1_1.pdf q1_2.pdf BIBDB=
+q1.d is generated by scanning q1.tex and q1.fls.
+platex -interaction=batchmode q1.tex
+dvipdfmx q1.dvi
+platex -interaction=batchmode q1_ans.tex
+`q1_ans.out' -> `q1_ans.out_prev'
+platex -interaction=batchmode q1_ans.tex
+dvipdfmx q1_ans.dvi
-TEXTARGETS = q1.pdf q1_ans.pdf
-
-.PHONY: all
-
-all: $(TEXTARGETS)
-
-include latex.mk eukleides.mk
-
-distclean: tex-distclean eukleides-distclean
-
-clean: tex-clean eukleides-clean
+include ../Define.mk
+include ../Test.mk
--- /dev/null
+cd ../../sample/sanposhojo && make -s distclean && make -s all
--- /dev/null
+../../sample/sanposhojo/desc.txt
\ No newline at end of file
--- /dev/null
+simple.fls is generated.
+Makefiles variable -- TEXFILES= LATEXINTFILES= GRAPHICFILES= BIBDB=
+simple.d is generated by scanning simple.tex and simple.fls.
+---------- simple_1.pdf: rebase ----------
+platex -interaction=batchmode simple.tex
+dvipdfmx simple.dvi
+`simple.pdf' -> `simple_1.pdf'
+--------------------
+---------- simple_2.pdf: update ----------
+simple.fls is generated.
+Makefiles variable -- TEXFILES= LATEXINTFILES= GRAPHICFILES= BIBDB=
+simple.d is generated by scanning simple.tex and simple.fls.
+platex -interaction=batchmode simple.tex
+dvipdfmx simple.dvi
+`simple.pdf' -> `simple_2.pdf'
-TEXTARGETS := simple.pdf
-
-CMP := cmp -s
-SED := sed
-
-.PHONY: all update rebase clean distclean
-
-$(TEXTARGETS):
-
-all:
- @$(MAKE) -s simple_1.pdf
- @$(ECHO) '--------------------'
- @$(MAKE) -s simple_2.pdf
-
-simple_1.pdf: rebase
- @$(ECHO) '---------- $@: $^ ----------'
- @$(MAKE) -s simple.pdf
- @$(CP) -v simple.pdf $@
-
-simple_2.pdf: update
- @$(ECHO) '---------- $@: $^ ----------'
- @$(MAKE) -s simple.pdf
- @$(CP) -v simple.pdf $@
-
-update:
- $(SED) -i.bak -e 's/,/、/g' -e 's/./。/g' simple.tex
-
-rebase:
- $(CMP) simple.tex.base simple.tex || $(CP) -v simple.tex.base simple.tex
-
-include latex.mk
-
-clean: tex-clean
- $(RM) *.bak
-
-distclean: rebase clean tex-distclean
- $(RM) simple_*.pdf
+include ../Define.mk
+include ../Test.mk
--- /dev/null
+cd ../../sample/simple && make -s distclean >/dev/null && make -s all
--- /dev/null
+../../sample/simple/desc.txt
\ No newline at end of file
--- /dev/null
+`toc.tex.5th' -> `toc.tex'
+toc.fls is generated.
+Makefiles variable -- TEXFILES= LATEXINTFILES=toc.toc GRAPHICFILES= BIBDB=
+toc.d is generated by scanning toc.tex and toc.fls.
+---------- toc_1.pdf: rebase ----------
+platex -interaction=batchmode toc.tex
+`toc.toc' -> `toc.toc_prev'
+platex -interaction=batchmode toc.tex
+dvipdfmx toc.dvi
+`toc.pdf' -> `toc_1.pdf'
+--------------------
+patching file toc.tex
+---------- toc_2.pdf: add ----------
+toc.fls is generated.
+Makefiles variable -- TEXFILES= LATEXINTFILES=toc.toc GRAPHICFILES= BIBDB=
+toc.d is generated by scanning toc.tex and toc.fls.
+platex -interaction=batchmode toc.tex
+toc.toc_prev is up to date.
+dvipdfmx toc.dvi
+`toc.pdf' -> `toc_2.pdf'
+--------------------
+`toc.tex.5th' -> `toc.tex'
+patching file toc.tex
+---------- toc_3.pdf: update ----------
+toc.fls is generated.
+Makefiles variable -- TEXFILES= LATEXINTFILES=toc.toc GRAPHICFILES= BIBDB=
+toc.d is generated by scanning toc.tex and toc.fls.
+platex -interaction=batchmode toc.tex
+`toc.toc' -> `toc.toc_prev'
+platex -interaction=batchmode toc.tex
+dvipdfmx toc.dvi
+`toc.pdf' -> `toc_3.pdf'
-TEXTARGETS := toc.pdf
-
-CMP := cmp -s
-DIFF := diff
-PATCH := patch
-
-.PHONY: all update rebase clean distclean
-
-$(TEXTARGETS):
-
-all:
- @$(MAKE) -s toc_1.pdf
- @$(ECHO) '--------------------'
- @$(MAKE) -s toc_2.pdf
-
-toc_1.pdf: rebase
- @$(ECHO) '---------- $@: $^ ----------'
- @$(MAKE) -s toc.pdf
- @$(CP) -v toc.pdf $@
-
-toc_2.pdf: update
- @$(ECHO) '---------- $@: $^ ----------'
- @$(MAKE) -s toc.pdf
- @$(CP) -v toc.pdf $@
-
-update: toc.tex.6th.patch
- @$(PATCH) <$<
-
-toc.tex.6th.patch:
- @$(MAKE) -s rebase
- @$(DIFF) -u toc.tex toc.tex.6th >$@ || exit 0
-
-rebase:
- $(CMP) toc.tex.5th toc.tex || $(CP) -v toc.tex.5th toc.tex
-
-include latex.mk
-
-clean: tex-clean
-
-distclean: rebase tex-distclean
- $(RM) *.patch
- $(RM) toc_*.pdf
+include ../Define.mk
+include ../Test.mk
--- /dev/null
+cd ../../sample/toc && make -s distclean && make -s all
--- /dev/null
+../../sample/toc/desc.txt
\ No newline at end of file
--- /dev/null
+`toc_pdfbookmarks.tex.5th' -> `toc_pdfbookmarks.tex'
+toc_pdfbookmarks.fls is generated.
+Makefiles variable -- TEXFILES= LATEXINTFILES=toc_pdfbookmarks.out toc_pdfbookmarks.toc GRAPHICFILES= BIBDB=
+toc_pdfbookmarks.d is generated by scanning toc_pdfbookmarks.tex and toc_pdfbookmarks.fls.
+---------- toc_pdfbookmarks_1.pdf: rebase ----------
+platex -interaction=batchmode toc_pdfbookmarks.tex
+`toc_pdfbookmarks.out' -> `toc_pdfbookmarks.out_prev'
+`toc_pdfbookmarks.toc' -> `toc_pdfbookmarks.toc_prev'
+platex -interaction=batchmode toc_pdfbookmarks.tex
+dvipdfmx toc_pdfbookmarks.dvi
+`toc_pdfbookmarks.pdf' -> `toc_pdfbookmarks_1.pdf'
+--------------------
+patching file toc_pdfbookmarks.tex
+---------- toc_pdfbookmarks_2.pdf: add ----------
+toc_pdfbookmarks.fls is generated.
+Makefiles variable -- TEXFILES= LATEXINTFILES=toc_pdfbookmarks.out toc_pdfbookmarks.toc GRAPHICFILES= BIBDB=
+toc_pdfbookmarks.d is generated by scanning toc_pdfbookmarks.tex and toc_pdfbookmarks.fls.
+platex -interaction=batchmode toc_pdfbookmarks.tex
+toc_pdfbookmarks.out_prev is up to date.
+toc_pdfbookmarks.toc_prev is up to date.
+dvipdfmx toc_pdfbookmarks.dvi
+`toc_pdfbookmarks.pdf' -> `toc_pdfbookmarks_2.pdf'
+--------------------
+`toc_pdfbookmarks.tex.5th' -> `toc_pdfbookmarks.tex'
+patching file toc_pdfbookmarks.tex
+---------- toc_pdfbookmarks_3.pdf: update ----------
+toc_pdfbookmarks.fls is generated.
+Makefiles variable -- TEXFILES= LATEXINTFILES=toc_pdfbookmarks.out toc_pdfbookmarks.toc GRAPHICFILES= BIBDB=
+toc_pdfbookmarks.d is generated by scanning toc_pdfbookmarks.tex and toc_pdfbookmarks.fls.
+platex -interaction=batchmode toc_pdfbookmarks.tex
+`toc_pdfbookmarks.out' -> `toc_pdfbookmarks.out_prev'
+`toc_pdfbookmarks.toc' -> `toc_pdfbookmarks.toc_prev'
+platex -interaction=batchmode toc_pdfbookmarks.tex
+dvipdfmx toc_pdfbookmarks.dvi
+`toc_pdfbookmarks.pdf' -> `toc_pdfbookmarks_3.pdf'
--- /dev/null
+include ../Define.mk
+include ../Test.mk
--- /dev/null
+cd ../../sample/toc_pdfbookmarks && make -s distclean && make -s all
--- /dev/null
+../../sample/toc_pdfbookmarks/desc.txt
\ No newline at end of file