15 #define COMPUTE_BUILD_YEAR \    17         (__DATE__[ 9] - '0') *   10 + \    18         (__DATE__[10] - '0') \    21 #define COMPUTE_BUILD_DAY \    23         ((__DATE__[4] >= '0') ? (__DATE__[4] - '0') * 10 : 0) + \    27 #define BUILD_MONTH_IS_JAN (__DATE__[0] == 'J' && __DATE__[1] == 'a' && __DATE__[2] == 'n')    28 #define BUILD_MONTH_IS_FEB (__DATE__[0] == 'F')    29 #define BUILD_MONTH_IS_MAR (__DATE__[0] == 'M' && __DATE__[1] == 'a' && __DATE__[2] == 'r')    30 #define BUILD_MONTH_IS_APR (__DATE__[0] == 'A' && __DATE__[1] == 'p')    31 #define BUILD_MONTH_IS_MAY (__DATE__[0] == 'M' && __DATE__[1] == 'a' && __DATE__[2] == 'y')    32 #define BUILD_MONTH_IS_JUN (__DATE__[0] == 'J' && __DATE__[1] == 'u' && __DATE__[2] == 'n')    33 #define BUILD_MONTH_IS_JUL (__DATE__[0] == 'J' && __DATE__[1] == 'u' && __DATE__[2] == 'l')    34 #define BUILD_MONTH_IS_AUG (__DATE__[0] == 'A' && __DATE__[1] == 'u')    35 #define BUILD_MONTH_IS_SEP (__DATE__[0] == 'S')    36 #define BUILD_MONTH_IS_OCT (__DATE__[0] == 'O')    37 #define BUILD_MONTH_IS_NOV (__DATE__[0] == 'N')    38 #define BUILD_MONTH_IS_DEC (__DATE__[0] == 'D')    40 #define COMPUTE_BUILD_MONTH \    42         (BUILD_MONTH_IS_JAN) ?  1 : \    43         (BUILD_MONTH_IS_FEB) ?  2 : \    44         (BUILD_MONTH_IS_MAR) ?  3 : \    45         (BUILD_MONTH_IS_APR) ?  4 : \    46         (BUILD_MONTH_IS_MAY) ?  5 : \    47         (BUILD_MONTH_IS_JUN) ?  6 : \    48         (BUILD_MONTH_IS_JUL) ?  7 : \    49         (BUILD_MONTH_IS_AUG) ?  8 : \    50         (BUILD_MONTH_IS_SEP) ?  9 : \    51         (BUILD_MONTH_IS_OCT) ? 10 : \    52         (BUILD_MONTH_IS_NOV) ? 11 : \    53         (BUILD_MONTH_IS_DEC) ? 12 : \    57 #define COMPUTE_BUILD_HOUR ((__TIME__[0] - '0') * 10 + __TIME__[1] - '0')    58 #define COMPUTE_BUILD_MIN  ((__TIME__[3] - '0') * 10 + __TIME__[4] - '0')    59 #define COMPUTE_BUILD_SEC  ((__TIME__[6] - '0') * 10 + __TIME__[7] - '0')    61 #define BUILD_DATE_IS_BAD (__DATE__[0] == '?')    63 #define BUILD_YEAR  ((BUILD_DATE_IS_BAD) ? 99 : COMPUTE_BUILD_YEAR)    64 #define BUILD_MONTH ((BUILD_DATE_IS_BAD) ? 99 : COMPUTE_BUILD_MONTH)    65 #define BUILD_DAY   ((BUILD_DATE_IS_BAD) ? 99 : COMPUTE_BUILD_DAY)    67 #define BUILD_TIME_IS_BAD (__TIME__[0] == '?')    69 #define BUILD_HOUR  ((BUILD_TIME_IS_BAD) ? 99 :  COMPUTE_BUILD_HOUR)    70 #define BUILD_MIN   ((BUILD_TIME_IS_BAD) ? 99 :  COMPUTE_BUILD_MIN)    71 #define BUILD_SEC   ((BUILD_TIME_IS_BAD) ? 99 :  COMPUTE_BUILD_SEC)