あ、わかった。
.if ${.CURDIR} == "/usr/ports/news/leafnode+"
ってのは、あくまで ports スケルトンのあるディレクトリでのみ
真になる条件だから、作業ディレクトリで動く make では無視されちゃうんだ。

# これはダメ
.if ${.CURDIR} == "${PORTSDIR}/hoge/fuga"
CFLAGS+=-DHOGE
.endif
# これはOK
.if ${.CURDIR} == "${PORTSDIR}/hoge/fuga/work/fuga-1.0"
CFLAGS+=-DHOGE
.endif

……これだったら毎回 Makefile を書き換えた方がいいような。

>>728
macopix は GNU_CONFIGURE=yes ですね。
この場合、configure に与える環境変数として CFLAGS が渡されるので、
ports スケルトンのあるディレクトリで指定したものが work/ 以下でも
有効になるみたい。configure を使わないようなものだと
ソースを展開したディレクトリに CFLAGS の変更が及ばないのでダメ。