makefile memiliki hubungan yang sangat bodoh dengan tab, semua tindakan dari setiap aturan diidentifikasi oleh tab. Dan tidak, 4 spasi tidak membuat tab, hanya tab yang membuat tab.
untuk mengecek saya menggunakan perintah cat -e -t -v makefile_name
Ini menunjukkan keberadaan tab dengan ^I
dan akhiran baris dengan $
keduanya sangat penting untuk memastikan bahwa dependensi berakhir dengan benar dan tab menandai tindakan untuk aturan sehingga mereka mudah diidentifikasi ke utilitas make.
Contoh:
Kaizen ~/so_test $ cat -e -t -v mk.t
all:ll$ ## here the $ is end of line ...
$
ll:ll.c $
^Igcc -c -Wall -Werror -02 c.c ll.c -o ll $@ $<$
## the ^I above means a tab was there before the action part, so this line is ok .
$
clean :$
\rm -fr ll$
## see here there is no ^I which means , tab is not present ....
## in this case you need to open the file again and edit/ensure a tab
## starts the action part