From 98b91bbf74d00645ad577d6d0d83b5d89fae9986 Mon Sep 17 00:00:00 2001 From: j8takagi Date: Sat, 16 Feb 2019 11:31:52 +0900 Subject: [PATCH] =?utf8?q?=E3=83=86=E3=82=B9=E3=83=88=E3=82=B0=E3=83=AB?= =?utf8?q?=E3=83=BC=E3=83=97=E4=BD=9C=E6=88=90=E3=81=A7=E3=83=AA=E3=83=B3?= =?utf8?q?=E3=82=AF=E3=81=99=E3=82=8B=E6=99=82=E3=80=81=E7=9B=B8=E5=AF=BE?= =?utf8?q?=E3=83=91=E3=82=B9=E3=82=92=E4=BD=BF=E3=81=86=E3=82=88=E3=81=86?= =?utf8?q?=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- template/Define.mk | 21 +++++++++++++++++---- template/Makefile | 9 +++------ 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/template/Define.mk b/template/Define.mk index f8e6dd9..48f103d 100644 --- a/template/Define.mk +++ b/template/Define.mk @@ -68,6 +68,13 @@ define create_dir $(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) @@ -104,11 +111,17 @@ DEFINE_FILE := Define.mk # テストのターゲットを定義したMakefile TEST_MAKEFILE := Test.mk -# すべてのMakefile群 -MAKEFILES := $(DEFINE_FILE) $(TEST_MAKEFILE) +# テストグループのMakefileとしてコピーされるファイル +GROUP_MAKEFILE := Group.mk + +# DEFINE_FILEの相対パス +DEFINE_FILE_REL = $(call rel_to,$(GROUPDIR),$(DEFINE_FILE)) + +# TEST_MAKEFILEの相対パス +TEST_MAKEFILE_REL = $(call rel_to,$(GROUPDIR),$(TEST_MAKEFILE)) -# すべてのMakefile群の絶対パス -MAKEFILES_ABS := $(foreach file,$(MAKEFILES),$(CURDIR)/$(file)) +# GROUP_MAKEFILEの相対パス +GROUP_MAKEFILE_REL = $(call rel_to,$(GROUPDIR),$(GROUP_MAKEFILE)) ###################################################################### # テストのディレクトリー diff --git a/template/Makefile b/template/Makefile index e88f17a..484938f 100644 --- a/template/Makefile +++ b/template/Makefile @@ -11,9 +11,6 @@ # 変数やマクロの定義 include Define.mk -# テストグループのMakefileとしてコピーされるファイル -GROUP_MAKEFILE := Group.mk - .PHONY: group groupdir copymk linkmk MKFILE_METHOD = $(if $(LINKMK),linkmk,copymk) @@ -25,8 +22,8 @@ groupdir: copymk: @$(CP) $(GROUP_MAKEFILE) $(GROUPDIR)/Makefile - @$(CP) $(MAKEFILES) $(GROUPDIR)/ + @$(CP) $(DEFINE_FILE) $(TEST_MAKEFILE) $(GROUPDIR)/ linkmk: - @$(LN) $(CURDIR)/$(GROUP_MAKEFILE) $(GROUPDIR)/Makefile - @$(LN) $(MAKEFILES_ABS) $(GROUPDIR)/ + @$(LN) $(DEFINE_FILE_REL) $(TEST_MAKEFILE) $(GROUPDIR)/ + @$(LN) $(GROUP_MAKEFILE_REL) $(GROUPDIR)/Makefile -- 2.18.0