संभव डुप्लिकेट:
GNU Makefile rule generating a few targets from a single source fileजीएनयू बनाने: अनेक लक्ष्य एक ही नियम में
अगर मैं इस तरह की एक Makefile नियम है:
a b c:
echo "Creating a b c"
touch a b c
output: a b c
cat a b c > output
और मैं चलाने मेक-जे 9 आउटपुट
3 निर्भरताओं (ए, बी, सी) को देखता है, उन्हें कैसे उत्पन्न किया जाता है: ("बी बी" नियम ऊपर), लेकिन आगे क्या होता है? क्या यह महसूस नहीं करना चाहिए कि "बी बी" नियम केवल 3 लक्ष्यों को बनाने के लिए एक बार चलाने की जरूरत है?
यह वही कर रहा है वास्तव में करता है:
[[email protected] test]$ make -j9 output -n
echo "Creating a b c"
touch a b c
echo "Creating a b c"
touch a b c
echo "Creating a b c"
touch a b c
cat a b c > output
[[email protected] test]$
एक ही नुस्खा चलाया जाता है 3 बार, एक बार प्रत्येक निर्भरता के लिए "उत्पादन" शासन करने के लिए!
क्या किसी को पता है कि यह इस तरह से क्यों व्यवहार करता है?
संबंधित: http: // stackoverflow।कॉम/प्रश्न/3016258/उत्पन्न-एकाधिक-लक्ष्य-उपयोग-एकल-क्रिया-नियम और http://stackoverflow.com/questions/2973445/gnu-makefile-rule-generating-a-few-targets-from-a- सिंगल-सोर्स-फाइल – krlmlr