annotate bin/make-targets.sh @ 807:26786fae0703

this relies on a requirement that is not part of my (2.7.12) stdlib; i almost deleted it. instead, i will keep for fun and note the requirement for further research
author Jeff Hammel <k0scist@gmail.com>
date Fri, 28 Oct 2016 17:09:04 -0700
parents d4403d13fb31
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
343
71345f4de3ce programs to list make targets
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
1 #!/bin/bash
71345f4de3ce programs to list make targets
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
2 # list makefile targets
790
d4403d13fb31 correct
Jeff Hammel <k0scist@gmail.com>
parents: 343
diff changeset
3 # from http://stackoverflow.com/questions/4219255/how-do-you-get-the-list-of-targets-in-a-makefile
d4403d13fb31 correct
Jeff Hammel <k0scist@gmail.com>
parents: 343
diff changeset
4 make -pRrq 2>/dev/null | awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($1 !~ "^[#.]") {print $1}}' | sort | egrep -v -e '^[^[:alnum:]]' -e '^$@$'