O problema é que o shell está vendo os parênteses em $RELEASE fora de qualquer aspas, então está tentando interpretá-los. Duas coisas para tentar: colocar aspas duplas em torno da referência a $(RELEASE) e usar := por isso . Por exemplo:
SHELL:=/bin/bash. #at the top of the makefile
IS_FEDORA22_i686 := $(shell echo "$(RELEASE)" | $(EGREP) -i -c "fc22.i686")
Editar: saída de uname com opções como -m geralmente não tem quaisquer metacaracteres de shell. O mesmo problema pode acontecer com qualquer variável que tenha. É por isso que é útil definir SHELL no seu makefile - se o usuário estiver executando csh , você terá problemas diferentes do que com bash .