I have a project in C that has many different modules, and one makefile for everything. What I would like to do is for each module to have its own makefile, and when that module is included in any project, that projects makefile can just reference the individual module's makefile. That way anytime I have a project in which I want to use a certain module, I don't have to do a bunch of editing to my project makefile.
Any help you can offer on this would be appreciated.
If you are using GNU Make utility, then my answer could be of some help to you. Recently, I was reading
GNU Make Manual for my own project.
include directive tells
make to suspend reading the current makefile and read one or more other makefiles before continuing. The directive is a line in the makefile that looks like this:
If you want make to simply ignore a makefile which does not exist or cannot be remade, with no error message, use the -include directive instead of include, like this:
However, there is another way which is variable
MAKEFILES. If the environment variable
MAKEFILES is defined, make considers its value as a list of names (separated by whitespace) of additional makefiles to be read before the others.
You can refer GNU Make Manual for more information.