Робота з Make та іншими SOB-файлами

Однією із проблем файлового формату, який використовуюється UNIX командою make є його зайдиголоватість.

Для прикладу, так правильно:

prog: prog.c
    cc -g -o prog prog.c

А так - не правильно:

prog: prog.c
        cc -g -o prog prog.c

На перший погляд може знадитися, що обидва приклади абсолютно ідентичні. Однак це не так. Придивіться краще, другий рядок, який розпочинається із "cc" у першому випадку починається із табуляції, а у другому - із восьми пробілів. (Ви не можете бачити різниці між пробілами і табуляцією на екрані! Вам потрібна якісніша відео-карта.)

Так якже відрізнити їх, якщо на екрані (чи на друкованій сторінці) вони виглядають однаково.

Ніяк. Ви думаєте, це не справедливо. Особливо якщо make працює з одним, і не працює з іншим. Але будь хто може сказати, що UNIX справедлива.

На щастя у Vim є режим, який показує, що саме знаходиться у Вашому файлі. Команда

:set list

переведе Вас у це режим. Коли екран встановлено у "list mode", відображаються усі символи. Табуляція виглядає, як "^I", і кінець рядка позначений, як $. Таким чином, наші приклади виглядатимуть так:

prog: prog.c$
^Icc -g -o prog prog.c$

і

prog: prog.c$
        cc -g -o prog prog.c$

Тепер можна легко відрізнити рядки із табуляцією від рядків із пробілами.

:set nolist

Щоб скасувати "list" режим.