The IEEE-compliant "expr" command does not support float comparison, and thus the version comparisons in the Makefile were using string comparison. This worked fine through PostgreSQL version 9.6 but no longer worked when PostgreSQL 10 was released.
This change uses PG_VERSION_NUM directly in the C code to do the comparison, and removes the logic from the Makefile.