How can I add prerequisite rule for all source files (c/cpp)? It would be simple if entire make file was done by me, but I use android build system that hides most of the stuff from me.
The reason I want to do it: I added a rule to generate my header file which is included by some c/cpp files. It works well as long as dependencies are already generated. However, with a clean project there is no dependency info available before compilation and as a result make won't run my rule for a clean project because it doesn't know that certain cpp file depends on a header file that doesn't exist yet. That's why I need to add some kind of rule to ensure that my prerequisite rule runs before any compilation takes place.
So far, I did this:
include $(CLEAR_VARS)
.PHONY: ForceRule
MyHeader.h: ForceRule
ForceRule: CreateHeader.sh
$(shell CreateHeader.sh MyHeader.h)
# below is standard android way to build shared lib from cpp files:
LOCAL_SRC_FILES: File1.cpp File2.cpp
LOCAL_PATH := $(CURDIR)
include $(BUILD_SHARED_LIBRARY)