The $(as-needed) function will return -Wl,--no-as-needed with GNU ld. So, you must use: append-ldflags $(no-as-needed) to get it appended in LDFLAGS. :) It's the return value, not a whole function.
s/$(as-needed)/$(no-as-needed)/, typo in last comment.
also in "man flag-o-matic.eclass", no-as-needed Return value: Flag to disable asneeded behavior for use with append-ldflags.
fixed. Thanks!