makefile فایلیه که برنامه make می خونه. برنامه make اکثرا برای کامپایل خودکار برنامه ها استفاده می شه ولی ممکنه استفاده دیگه ای هم بشه ازش کرد. کلا به درد انجام یه سری کارهای تکراری می خوره. معمولا سورس برنامه هایی که به c++/c از اینترنت دانلود می شه کرد یه makefile هم دارن که کاربری که اطلاع دقیقی از نحوه کامپایل برنامه نداره بتونه با برنامه make خیلی راحت برنامه رو کامپایل کنه.
اگه اطلاعات دقیق مثل syntax makefile رو بخوای می تونی info برنامه make رو بخونی. یعنی:
$ info make
یه خلاصه از سویچ های gcc رو می تونی توی man اش پیدا کنی. لیست کاملشون هم توی info اش هست.
من شاید زیاد با سویچ های gcc آشنا نباشم، چیزی من آشنا هستم ایناست:gcc -o helloworld -Wall -O2 helloworld.c
-o اسم فایل خروجی.
-Wall اکثر اخطارها رو فعال می کنه. بیشتر به درد کسی که داره یاد می گیره می خوره تا کامپایل یه برنامه.
-O آپتیمایز کردن برنامه. اکثر برنامه های کاربردی با ۲ کامپایل می شن.