আমি " অ্যাডভান্সড লিনাক্স প্রোগ্রামিং (2001)" [কোড] বইটি থেকে একটি মেকফাইল ব্যবহার করছি । জিএনইউ মেকফাইলে একটি সংকলক এমনকি নির্দিষ্ট করেও কোডটি সঠিকভাবে সংকলন করে দেখে আমার জন্য অবাক লাগছিল। এটি কোনও রেসিপি ছাড়াই বেকিংয়ের মতো!
এটি কোডের একটি সর্বনিম্ন সংস্করণ:
test.c
int main(){}
Makefile নামক
all: test
এবং সত্যিই কাজ করা! এটি আদেশটি এটি কার্যকর করে:
cc test.c -o test
ডকুমেন্টেশনে আমি দরকারী কিছু খুঁজে পাইনি। এটা কীভাবে সম্ভব?
পিএস একটি অতিরিক্ত নোট: এমনকি ভাষা নির্দিষ্ট করা হয়নি; কারণ test.cউপলব্ধ, জিএনইউ makeব্যবহার করে cc। যদি উপস্থিত থাকে test.cppবা test.cc(যখন নেই test.c), এটি ব্যবহার করে g++(এবং না c++)।
makeআপনার ফ্রিজ পরীক্ষা করে এবং খুঁজে পাওয়া যায় যে সেখানে কিছু ময়দা পাওয়া যায়, তারপরে এর অভ্যন্তরীণ রেসিপি থেকে আপনার জন্য একটি ডিফল্ট কেক বেক করে। :-)
makeজল ফুটতে বলার মতো এবং এর অভ্যন্তরীণ নিয়মগুলি ব্যবহার করেmakeঠিক কীভাবে তা বের করা যাবে;)