আমি " অ্যাডভান্সড লিনাক্স প্রোগ্রামিং (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
ঠিক কীভাবে তা বের করা যাবে;)