Re: makefile question: always recompile a file
[email protected] (Gordon Burditt) Wed, 26 Aug 2009 16:21:50 -0500
| Newsgroups | gmane.comp.gnu.utils |
|---|---|
| Message-ID | <PqmdnUXFp_HzOgjXnZ2dnUVZ_gGdnZ2d__47235.3546684191$1251333665$gmane$org@posted.internetamerica> |
>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.