$(if ) function crashes if it is not last in the expression and the value of first argument is false (it should be executed 'else' part). I attached the file illustrating this bug. I used: GNU Make version 3.78.1, by Richard Stallman and Roland McGrath. Built for i586-pc-linux-gnu Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99 Free Software Foundation, Inc. -- Yaroslav M. Sokolov
release :=#empty flags = $(if $(release),release_part,debug_part) other_flags all: echo $(flags)