Кажется, что подоболочка не извлекает результат "$ @", поэтому подстановка не на что.
%_bust.css: %.css @echo $(echo $@ | sed s/_bust/$(BUSTER)/g)
Заменить $() на ``. Первым является расширение переменной GNU.
$()
Вы сделали это излишне сложным. Вам не нужно вложенное echo.
echo
%_bust.css: %.css @echo $@ | sed s/_bust/$(BUSTER)/g
Вы также можете использовать make механизмы подстановки текста.
make
@echo $*$(BUSTER).css @echo $(subst _bust,$(BUSTER),$@)
Последний характерен для GNU Make и менее точен и элегантен в данном конкретном случае.