There are several ways to write this though one way that strikes me as appropriately macro-ish is to have it return a form that evaluates to the map including the let
.
user> (defmacro g []
`(let [m# {:color java.awt.Color/BLACK}]
(identity m#)))
#'user/g
user> (g)
{:color #<Color java.awt.Color[r=0,g=0,b=0]>}
This allows the object to be resolved from the class.