با سلام و خسته نباشید، در این مطلب میخواهم ساخت یک makefile را آموزش بدم
توجه کنید که خودم هم در این زمینه حرفه ای نیستم!
صفر: با این آموزش فقط می توانید makefileی بسازید که دستوراتی که قبلا در ترمینال ذخیره میکردید را به صورت make run خلاصه کند
اول: makefile یک فایل متنی است (بدون فرمت و فقط با همین نام) که کنار فایل های برنامه ذخیره می شود
دوم: برای استفاده باید build-essentials رو نصب کنید (در گنو/لینوکس:)
خب شروع آموزش: فرض کنید فایل برنامه شما main.cpp است و میخواهید با نام main.exe آن را کامپایل کنید و در انتها آن را اجرا کنید
خب به طور عادی دستورات زیر را هر بار اجرا می کنید :
g++ main.cpp -o main.exe (-o2 -std=c++17 -g )
./main.exe
و اگر مثل من وسواس داشته باشید احتمالا reset یا clear هم اجرا می کنید
حال اگر این دستورات را در یک makefile کپی و پیست کنیم با نوشتن دستور make run همین کار را برای ما انجام می دهد :
run: compile @reset @./main.exe compile: @g++ main.cpp -o main.exe -std=c++17 -g
خب می رسیم به شرح دستورات: قسمت اول run است که برنامه ر اجرا می کنم و بعد از ۲نقطه در سطر اول پیش نیاز های آن را می نویسیم برای مثال برای اجرای run ابتدا نیاز است که compile اجرا شود بعد از اینکه compile اجرا شد، اکنون run اجرا می شود و صفحه تمیز می شود و main.exe اجرا می شود
می توانید قسمت clean هم تعریف کنید (که توصیه می شود) که فایل هایی که در حبن کامپایل ساخته شده(مثلا در اینحا main.exe را پاک کند) توحه : اگر بعد از make هیچ دستوری ننویسید اولین زیربرنامه (مثلا اینجا run ) اجرا می شود