can verilog do `if defined(SOMETHING) ... `elsif defined(SOMETHING_ELSE) ... `endif?
This works:

`ifdef FLASH_IS_1MB 
    `define FLASH_TEA              19000000000 //19s max for 1MB erase cycle
`elsif FLASH_IS_512KB
    `define FLASH_TEA              12000000000 //12s max for 512KB erase cycle
`elsif FLASH_IS_256KB
    `define FLASH_TEA               6000000000 //6s max for 256KB erase cycle
`elsif FLASH_IS_128KB
    `define FLASH_TEA               4000000000 //4s max for 128KB erase cycle
`endif