Показывать только текущий каталог, а не весь путь и использовать их в make-файле для tar в c - PullRequest
1 голос
/ 01 мая 2020

Я хочу создать "make tar" для создания файла tar.gz из каталога. Я делаю это

KATBIEZ = `basename $(PWD)`

Затем я выполняю очистку, потому что я не хочу иметь только файл .oi .x c

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

А это ma make tar

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

Проблема в том, что в $ (KATBIEZ) у меня есть, например, "home / Mark / New_Folder / Program10" I хочу иметь только 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

У вас есть идеи?

1 Ответ

2 голосов
/ 01 мая 2020

Вам нужно запустить basename:

KATBIEZ=$(shell basename "$(PWD)")

Чтобы устранить проблему, запустите этот make-файл:

KATBIEZ=$(shell basename "$(PWD)")

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

и вставьте результат.

...