निष्पादित मैं एक makefile कुछ इस तरह से संरचित है:makefile एक और लक्ष्य
all :
compile executable
clean :
rm -f *.o $(EXEC)
मुझे एहसास हुआ कि मैं लगातार चल रहा था "स्वच्छ बनाने के" चल "सभी बनाने के" से पहले "स्पष्ट" मेरी टर्मिनल में किया गया। मैं बुरा सी ++ संकलन त्रुटियों के माध्यम से प्रयास करने और sift करने से पहले एक स्वच्छ टर्मिनल रखना पसंद है। तो मैंने तीसरा लक्ष्य जोड़ने की कोशिश की:
fresh :
rm -f *.o $(EXEC)
clear
make all
यह काम करता है, हालांकि यह बनाने का दूसरा उदाहरण (मुझे विश्वास है) चलाता है। क्या दूसरा कार्यक्षमता चलाने के बिना समान कार्यक्षमता प्राप्त करने का कोई सही तरीका है?
@ sas4740।: मूल रूप से सबकुछ 'PHONY:' का पालन करता है, जिसे कुछ कीवर्ड के रूप में माना जाता है जो हमेशा निष्पादित हो जाता है, जबकि गैर-नकली लक्ष्य फाइल होने का इरादा रखते हैं। – Dacav
"ऑर्डर-केवल पूर्वापेक्षाएँ" सशर्त हैं? लक्ष्य टी 2 के लिए मैं पहले टी 0 चाहता हूं, केवल टी 0 सक्सेड टी 1 चलाएं, और केवल तभी दोनों सैकड़ों t3 – fantastory
@ फ़ैंटस्टोरी में कुछ कार्य चलाएं, नहीं, मुझे लगता है ** वे स्वतंत्र हैं। 't2'' t0', 't1' और' t3' पर निर्भर करेगा। यदि आपको इसकी आवश्यकता है तो आपको 't3',' t1' के अनुसार 't3' और' t1' के अनुसार आवश्यक 't3' रखना चाहिए, जैसा कि' t1' द्वारा आवश्यक है। इसका मतलब है 3 अलग-अलग नियम। हालांकि, आपको यह सत्यापित करना चाहिए। मैं 100% निश्चित नहीं हूँ। – Dacav