仅显示当前目录,而不是所有路径,并在 makefile 中使用它们到 tar in c

Show only current directory, not all path and use them in makefile to tar in c

我想创建 "make tar" 以从目录创建 tar.gz 文件 我这样做

KATBIEZ = `basename $(PWD)`

然后我清理因为我不想有 .o i .x 文件,只有 c

clean:
    rm -f a.out *~ *.o *.x

这是我做的 tar

tar: clean
    (cd ..; tar cvzf $(KATBIEZ).tar.gz $(KATBIEZ); ls -altr)

问题是在 $(KATBIEZ) 中我有例如 "home/Mark/New_Folder/Program10" 我只想有 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 )

并粘贴结果。