Index: contrib/bmake/bmake.1 =================================================================== --- contrib/bmake/bmake.1 (revision 305306) +++ contrib/bmake/bmake.1 (working copy) @@ -556,6 +556,8 @@ Assign with expansion, i.e. expand the value before assigning it to the variable. Normally, expansion is not done until the variable is referenced. +.It Ic \&::= +The same as `:=' for future POSIX compatibility. .Em NOTE : References to undefined variables are .Em not Index: contrib/bmake/parse.c =================================================================== --- contrib/bmake/parse.c (revision 305306) +++ contrib/bmake/parse.c (working copy) @@ -1800,6 +1800,8 @@ return TRUE; if (*line == '=' && ISEQOPERATOR(ch)) return TRUE; + if (ch == ':' && strncmp(line, ":=", 2) == 0) + return TRUE; if (wasSpace) return FALSE; } @@ -1898,6 +1900,8 @@ case ':': type = VAR_SUBST; *opc = '\0'; + if (opc[-1] == ':') + opc[-1] = '\0'; break; case '!':