The #define is a preprocessor directive, which allows a programmer to write something that looks like a function call but isn’t - in this case it keeps the code readable and concise. In this case BaseAddress must be the address of the memory-mapped SPI controller. When the directive is invoked, it reads the RXD register of the SPI controller; this assumes that an SPI transaction has already been carried out and a received octet (byte) is available to read.
In practice a programmer would write something of the form
rxc = SpiPs_RecvByte(SPI_ADDR);
That’s a start, do you need clarification of any of those points?