我想创建 "make tar",从目录中制作tar.gz文件,我这样做。
KATBIEZ = `basename $(PWD)`
然后,我清理,因为我不想有.o i .x文件,只有c。
clean:
rm -f a.out *~ *.o *.x
这是我做的焦油
tar: clean
(cd ..; tar cvzf $(KATBIEZ).tar.gz $(KATBIEZ); ls -altr)
问题是,在$(KATBIEZ)中,例如 "homeMarkNew_FolderProgram10",我只想有Program10。
所以,与其说是
cd ..; tar cvzf `basename home/Mark/New_Folder/Program10`.tar.gz `basenamehome/Mark/New_Folder/Program10`; ls -altr
我想拥有
cd ..; tar cvzf Program10.tar.gz Program10/; ls -altr
你有什么想法吗?
你需要的是运行 basename
:
KATBIEZ=$(shell basename "$(PWD)")
要排除故障,运行这个makefile:
KATBIEZ=$(shell basename "$(PWD)")
tar:
( cd ..; echo tar cvzf "$(KATBIEZ).tar.gz" "$(KATBIEZ)"; ls -altr )
并粘贴结果。