Don't fail rebuild when header is removed

The *.d depends files for make just list the files used when building an
object file. Removing a file listed in such a dependency file causes make to
search for a way to recreate it. This usually cannot work because these files
aren't autogenerated.

The gcc option -MP can be used to generate empty rule for these files. Removing
a file in a dependency list will then execute this empty rule and continue with
the execution of the creation of the object file. This compilation process will
then automatically correct the dependency file.
This commit is contained in:
Sven Eckelmann 2013-09-20 10:31:50 +02:00
parent 08104ee4fd
commit 5892aa7cdd

View file

@ -381,7 +381,7 @@ clean:
$(RM) -r $(OBJDIR) $(TARGET)
# build dependency files
CFLAGS += -MD
CFLAGS += -MD -MP
-include $(OBJECTS:.o=.d)
CXXFLAGS += $(CFLAGS)