>I'm using a make program similar to gnu make. I'd like to always >recompile a file whenever ANY file is compiled (or assembled). >Preferably (but not absolutely necessary), I'd like the file to >recompile if the linker runs as well, but this sounds really tough.
I'm not sure I understand your requirements, but here is one way to do it which I think meets them: Change the entry for the link step, so it always compiles the global array.: foo: foo1.o foo2.o ... global_array.o cc -o foo foo1.o foo2.o .. global_array.o -lfoo -lbar to: foo: foo1.o foo2.o ... global_array.c cc -c global_array.c cc -o foo foo1.o foo2.o .. global_array.o -lfoo -lbar I presume it is not important to recompile global_array if you recompile pieces of the program *WITHOUT* linking as you didn't rebuild the whole thing, and it will be recompiled when you do a full build. >In case you're wondering, this file contains a global array that has >time and date stamp information in it so we can tell when the project >was last built. >Some engineers don't like a simple "delete the object file always when >make runs" approach because if you inadvertently run make a second >time, you get a recompile even if no sources changed.