sorry to be a pita  i wonder if this would not be better by getting rid of the large if then else and having arch variants cflags  mcpu target combo  local arch arm has lpae filter cortex a krait denver cortex a  cortex a cortex a target combo  ifneq local arch arm has lpae arch variant cflags d  arm feature lpae endif local arch arm has lpae local arch arm is non buggy cortex a filter cortex a krait denver cortex a  cortex a cortex a target combo  ifneq local arch arm is non buggy cortex a  arch variant ldflags  wl no fix cortex a  else arch variant ldflags  wl fix cortex a  endif local arch arm is non buggy cortex a  the code is something of a spaghetti mess currently  not aided by the proposed change  and the end result is that there is bit rot in areas like  mcpu 