試行錯誤の例として愚痴ると、

@macro name="/*"
@if exp=0
@endmacro
@macro name="*/"
@endif
@endmacro

@/*
コメント
@*/

ってやると、endifが効かない。
マクロは展開もされずに無視されるから、マクロ中のendifは意味無いらしい。
最初理由がわからず混乱したよ。