= Сообщение: 4741 из 5321 ========================================= RU.HUSKY = От : Michael Dukelsky 2:5020/1042 22 Jan 22 10:09:22 Кому : Max Vasilyev 22 Jan 22 10:09:22 Тема : Changes in husky sources FGHI : area://RU.HUSKY?msgid=2:5020/1042+61ebb95d На : area://RU.HUSKY?msgid=2:5057/77+61eb897d = Кодировка сообщения определена как: CP866 ================================== ============================================================================== Привет, Max!
22 January 2022 08:35, Max Vasilyev послал(а) письмо к husky inspector:
hi>> rename the "all" target to "build" MV> Какой был смысл этого действия? MV> Раньше было All, programs, libs
Ты что-то перепутал. В универсальных мейкфайлах не было ни "programs", ни "libs" в качестве целей. А если бы даже и были, то теперь они стали бы не нужны. Мой подход состоит в том, что всё, что можно переложить на мейкфайл, нужно переложить на него. Поэтому теперь в мейкфайле определены зависимости каждой программы от библиотек и тебе нужно только задать в huskymak.cfg какие программы ты хочешь собрать, и мейкфайл автоматом соберёт все нужные библиотеки (а не нужные собирать не будет). Что касается всяких вспомогательных программ, которые собираются в fidoconf, hpt, huskylib, их сборка как и раньше управляется настройками в huskymak.cfg.
Теперь про "all". Вместо заранее написанных списков файлов, от которых зависит каждая программа, теперь компилятор строит эти зависимости. Это действие выделено в отдельную цель "depend", и `make depend` надо запускать до собственно сборки. Поэтому название цели "all" перестало отражать её действительное содержание и я её переименовал в "build". К тому же "build" - это цель по умолчанию, поэтому можно не писать `make build`. Достаточно, как и это было и раньше, написать просто `make`. Кроме того, я написал скрипт "build.sh", управляющий всеми действиями при сборке. Так что в большинстве случаев достаточно запустить `build.sh` и не писать, ни `make update`, ни `make depend`, ни `make`.
MV> Да и куча остальных makefile.* остались "all"
Куча остальных мейкфайлов - это legacy makefiles, не имеющие никакого отношения к универсальному мейкфайлу. Это просто другой метод сборки, так же как и сборка с помощью cmake. И там всё своё, в том числе и названия целей.