Що означає ?= у make-файлі?

0 Comments

Якщо ви бажаєте, щоб змінна мала значення, лише якщо воно ще не встановлено, тоді ви можете використовувати скорочений оператор ' ?= ' замість ' = '. Ці два налаштування змінної ' FOO ' є ідентичними (див. Функцію origin): FOO ?= bar. і. ifeq ($(початок FOO), не визначено) FOO = bar endif.

Символ @ зазвичай можна побачити на початку рядків дії та означає, що сам рядок дії не відтворюватиметься на екрані під час виконання. Макроси зазвичай використовуються в make-файлах, щоб зменшити обсяг необхідного введення.

Якщо ви спочатку визначили її за допомогою `:=' , зробивши її просто розгорнутою змінною, `+=' додає до цього просто розширеного визначення та розширює новий текст перед додаванням його до старого значення так само, як це робить `:=' (див. розділ Налаштування змінних, щоб отримати повне пояснення `:='). Фактично, змінна := значення змінна += більше.

Зворотна коса риска (\), за якою йде символ нового рядка, інтерпретується як пробіл у команді. Використовуйте зворотну косу риску в кінці рядка, щоб продовжити команду в наступному рядку. NMAKE інтерпретує зворотну косу риску буквально, якщо будь-який інший символ, включаючи пробіл або табуляцію, слідує за зворотною косою рискою.

Подвійний знак долара Якщо ви хочете, щоб рядок мав знак долара, ви можете використовувати $$. Ось як використовувати змінну оболонки в bash або sh. Зверніть увагу на відмінності між змінними Makefile і змінними оболонки в наступному прикладі.