The problem is: No rule to make target '/path/to/sourcefile.o', needed by '/path/to/lib.a' Stop I now know it's related to sourcefile being a .cpp file. I've looked for differences between 5.4.x and 5.10.x and didn't see any. Note I have this in my make file that seems to be ignored which is the problem: # pattern for compiling the c++ parts %.o: %.cpp $(FLAGS) $(info doing [$@]) $(Q)g++ `cat $(FLAGS)` $(CC_FLAGS) -fno-exceptions -fno-rtti -Wall -c -o $@ $< UPDATE: Found the problem. Removing the $(FLAGS) from the first line fixed it: # pattern for compiling the c++ parts %.o: %.cpp $(info doing [$@]) $(Q)g++ `cat $(FLAGS)` $(CC_FLAGS) -fno-exceptions -fno-rtti -Wall -c -o $@ $<