makeからcppへの値の受け渡しで困ってます。
make MYLOCALENV=1と値を指定した時だけコンパイルしてほしい部分があるので、
Cソースに
#if MYLOCALENV
...
#endif
と書いて、Makefileには
$(CC) $(CFLAGS) -D MYLOCALENV=$(MYLOCALENV) ...
と書いてみました。

でも、これだとmakeをオプションなしで動かしたときにMYLOCALENVが空で
cppが「#if with no expression」とエラーを出します。
どうやったら、makeでMYLOCALENVに値を指定した時も指定しないときも
きちんとcppが動くようにできるんでしょう?

Gnu makeとGCCを使ってます。