Как распаковать каталог с использованием makefile - PullRequest
0 голосов
/ 22 декабря 2018

У меня есть несколько файлов в подкаталогах, все файлы - просто текстовые файлы, такие как faq, руководства пользователя. В нем нет кода c / cpp src.Ниже приведена структура файлов и каталогов.

scr
|_Makefile                     #Top level Makefile
|_other_dirs
|_some_other_dirs
|_mydir
   |_Makefile                  #Makefile of mydir, need to put some code here
   |_dir1
   |  |_textfile0
   |  |_textfile1 
   |_dir2
      |_textfile2
      |_textfile3

Вопрос, Как я могу скопировать содержимое dir1 и dir2 в один тарный шарик?Я попытался найти в интернете информацию о Makefile и о том, как его использовать, чтобы создать выносной файл из топового Makefile, но пока безуспешно.Я не очень знаком с Makefiles, любая отправная точка будет оценена.Благодарю.

Ниже приведена моя новая попытка создать очень простой Makefile:

 -->cat Makefile
mydir.tgz : *
    tar -zcvf mydir.tgz mydir/

 -->make
Makefile:1: *** missing separator.  Stop.

Идея состоит в том, чтобы запустить top Makefile и создать файл tar для mydir.

1 Ответ

0 голосов
/ 22 декабря 2018

Вы можете добавить все файлы и каталоги в mydir рекурсивно как обязательное условие mydir.tgz.Таким образом, ваш tar-файл будет выполнен, если и только если изменение произойдет где-то ниже mydir.Например, как это:

mydir.tgz: $(shell find mydir)
    tar -zcvf mydir.tgz mydir

Строка с командой tar должна начинаться с TAB.

Большинство механизмов этого ответа также описаны в этот ТАК вопрос , но мне показалось, что имеет смысл добавить его сюда, чтобы кратко ответить на ваш конкретный вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...