मैंने रेक बिट (रूबी मेक प्रोग्राम) का उपयोग किया है, और इसमें सभी उपलब्ध लक्ष्यों की सूची प्राप्त करने का विकल्प है, जैसे
> rake --tasks
rake db:charset # retrieve the charset for your data...
rake db:collation # retrieve the collation for your da...
rake db:create # Creates the databases defined in y...
rake db:drop # Drops the database for your curren...
...
लेकिन ऐसा लगता है कि GNU मेक में ऐसा करने का कोई विकल्प नहीं है।
जाहिरा तौर पर कोड इसके लिए लगभग वहाँ है, जैसा कि 2007 - http://www.mail-archive.com/help-make@gnu.org/msg06434.html ।
वैसे भी, मैंने मेकफाइल से टारगेट निकालने के लिए बहुत कम हैक किया है, जिसे आप मेकफाइल में शामिल कर सकते हैं।
list:
@grep '^[^#[:space:]].*:' Makefile
यह आपको परिभाषित लक्ष्यों की एक सूची देगा। यह सिर्फ एक शुरुआत है - उदाहरण के लिए, यह निर्भरता को फ़िल्टर नहीं करता है।
> make list
list:
copy:
run:
plot:
turnin:
grep : Makefile
?
alias makefile-targets='grep "^[^#[:space:]].*:" Makefile'
सबसे अधिक बार मुझे केवल वर्तमान मेकफाइल की जांच करने की आवश्यकता होती है, और समाप्ति को पूरा करता है मेरा उपनाम