Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Right, you used 'make' as the parser. He said "grep the makefile". You're not grepping the makefile. Nice solution though!


> You need to write a full parser to discover all the targets.

I don't think grep '^[^ ]*:' really counts as writing a parser.


Running "make -p" is running a full parser which someone else wrote. Grep is not extracting the targets from a makefile there, it's extracting the targets from an intermediate representation of a makefile.


> The real insanity with make is that it has no interface to check whether a Makefile contains a given target.

>

> Best you can do is to run make -n target to probe, but it's possible to write Makefiles that run code even though -n is used, which will defeat such probes at distribution scale. It quickly becomes an exercise in heuristics and output parsing.


We're arguing different things.

The comment I replied to, chaosfactors, specifically specified grepping the makefile. You're arguing that you can find all the targets and I never said you can't. I simply said you can't find them all by only grepping the makefile.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: