Что означает эта ошибка, так это то, что (a) есть строка, начинающаяся с символа TAB, и (b) это не какой-либо другой тип строки, о котором знает make (например, присвоение переменной и т. Д.)
В этом случае make предполагает, что строка предназначена для того, чтобы быть частью рецепта правила, но перед ним нет правила (без цели).
Проблема в том, что ваша строка:
objb/json.cpp\
имеет пробел после обратной косой черты.Из-за этого обратная косая черта не выходит за пределы новой строки, и поэтому make не считает, что следующая строка является частью назначения переменной.Поскольку он начинается с TAB ...
В make-файлах крайне важно убедиться, что у вас нет лишних конечных пробелов.Многие современные редакторы имеют режимы, которые показывают это: включите их при редактировании make-файлов.