मैं निम्नलिखित करने का प्रयास कर रहा हूं। एक कार्यक्रम है, इसे कॉल करें foo-bin
, जो एकल इनपुट फ़ाइल में लेता है और दो आउटपुट फ़ाइलों को उत्पन्न करता है। इसके लिए गूंगा मेकफाइल नियम होगा:
file-a.out file-b.out: input.in
foo-bin input.in file-a.out file-b.out
हालांकि, यह make
किसी भी तरह से नहीं बताता है कि दोनों लक्ष्य एक साथ उत्पन्न होंगे। make
धारावाहिक में भागते समय यह ठीक है , लेकिन अगर कोई कोशिश करता है make -j16
या समान रूप से पागल हो जाता है, तो परेशानी का कारण होगा ।
सवाल यह है कि क्या ऐसे मामले के लिए उचित मेकफाइल नियम लिखने का कोई तरीका मौजूद है? जाहिर है, यह एक DAG उत्पन्न करेगा, लेकिन किसी भी तरह से GNU मैनुअल यह निर्दिष्ट नहीं करता है कि इस मामले को कैसे संभाला जा सकता है।
एक ही कोड को दो बार चलाना और केवल एक परिणाम उत्पन्न करना सवाल से बाहर है, क्योंकि गणना में समय लगता है (विचार करें: घंटे)। केवल एक फ़ाइल को आउटपुट करना भी मुश्किल होगा, क्योंकि अक्सर इसका उपयोग GNUPLOT के इनपुट के रूप में किया जाता है, जो यह नहीं जानता कि डेटा फ़ाइल के केवल एक अंश को कैसे संभालना है।