Ресурсы для изучения GNUMake?

После долгих тренировок мне наконец-то удалось вернуть его к работе. Все еще не могу использовать npm run dev (выбрасывает ту же ошибку порта), но вместо этого я наткнулся на эту статью : исследование нулевого конфига с помощью vue

И теперь я буду запускать свой сервер разработки успешно с командой vue-cli-service serve --open.

14
задан Gabriel Isenberg 20 October 2008 в 22:27
поделиться

4 ответа

Полное руководство http://www.gnu.org/software/make/manual/make.html
существует книга o'reilly "Руководящие Проекты с GNU, Делают", который имеет больше объяснения. Вы можете также использовать предыдущие издания, они не покрывают GnuMake конкретно, но являются намного более тонкими.

Делают, грязный секрет среди разработчиков - ни один из нас не понимаю это, мы просто одалживаем сделать сценарий от кого-то еще и изменяем его. Я предполагаю, что только один сценарий когда-либо писался с нуля (вероятно, создателем инструмента).

, Когда необходимо сделать больше, чем простой пример большинство людей или переключиться на более современную систему сборки как Муравей или прокрутить их собственное в Perl/Python/и т.д.

13
ответ дан 1 December 2019 в 12:54
поделиться

Обычно использованные функции делают, может быть разломан на пара простых понятий, целей, зависимостей и переменных.

Цели являются вещами, которые Вы хотите создать, но команда (команды) под целью может быть командами компилятора или сценариями. Обычно каждая цель относится к модулю в Вашем коде, но можно сделать их столь детализированными, как Вы хотите удовлетворить своему проекту.

Зависимости являются файлами или другими целями в Вашем проекте. Лучший пример этого для проекта C, где Вы создаете двоичный файл из набора объектных файлов. Каждый объектный файл должен будет существовать, прежде чем можно будет создать двоичный файл, поэтому составить пересечение завещания цели, пока все зависимости не были завершены и затем выполняли команду для полной цели.

Переменные не всегда необходимы, но довольно удобны для обработки вещей как флаги компилятора. Каноническими примерами является CC и CCFLAGs, который отошлет к компилятору Ваше использование т.е. gcc и флаги как-ansi - Стена-o2.

Пара более общих советов и приемов:

  • Команды должны быть продолженными [вкладка] символ, или они не будут выполняться, это - просто старый пережиток, делают, я не вспоминаю, почему это.
  • Условно, можно хотеть включать всю цель для определения значения по умолчанию, какая цель должна быть значением по умолчанию. Это полезно, когда у Вас есть сложный make-файл и существует конкретная цель, Вы всегда хотите быть значением по умолчанию.
  • Ваш make-файл нужно назвать make-файлом или Make-файлом, но если Вы хотите назвать его чем-то еще, используйте $make-f [makefilename]
  • , Всегда используют полный переменный синтаксис расширения т.е. $ (ПЕРЕМЕННАЯ) или делают, может не произвести команды, которые Вы хотите.
  • делают, может работать рекурсивно, поэтому если у Вас есть набор подмодулей в Вашем проекте, которые живут в каталогах, можно звонить, делают на make-файле подкаталога из, делают для создания каждого.
  • , Если у Вас есть действительно сложный проект, для которого нужна установка сценарии, и т.д. Вы, вероятно, также захотите исследовать автоинструменты, который генерирует make-файл для Вас и делает набор приемов для проверки на существование библиотеки и на другие проблемы мобильности.
3
ответ дан 1 December 2019 в 12:54
поделиться

Я соглашаюсь с книжным предложением O'Reilly.

Для некоторых полезных подсказок, приемы и понимание Make смотрят статьи г-на Make

2
ответ дан 1 December 2019 в 12:54
поделиться

mgb: это еще хуже это это. Я однажды писал, что сложное делает систему с нуля (несколько тысяч файлов, пятьдесят или сто каталогов, четыре или пять компиляторов и цели кросс-компиляции, 2 ОС, и т.д.). Я сел и узнал, что гну делает от и до прежде всего, разработал систему, играемую вокруг с прототипом сначала. Мы были все очень довольны результатом.

, Но это было несколько лет назад. Вы знаете, как я пишу им сегодня? Тем же путем Вы описываете. Это просто достаточно трудно, и детали синтаксиса достаточно неясны, чем, если Вы не делаете это справедливо регулярно, Вы не можете помнить детали. Точно так же, как любой другой язык с неинтуитивным синтаксисом и некоторыми изворотливыми правилами, я предполагаю.

0
ответ дан 1 December 2019 в 12:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: