Path: ...!weretis.net!feeder9.news.weretis.net!news.quux.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: David Brown Newsgroups: comp.arch.embedded Subject: Re: 32 bits time_t and Y2038 issue Date: Sat, 22 Mar 2025 11:19:56 +0100 Organization: A noiseless patient Spider Lines: 30 Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Sat, 22 Mar 2025 11:19:58 +0100 (CET) Injection-Info: dont-email.me; posting-host="7638945e773161e15f919c68c89e04e1"; logging-data="3929481"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19orNq7jKtaUTLCQhcnytY5z1vna+g1M1E=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:bxYQ12edkaDtRcoAMjkCTjGvJDA= In-Reply-To: Content-Language: en-GB Bytes: 2895 On 21/03/2025 21:53, Michael Schwingen wrote: > On 2025-03-21, David Brown wrote: >> >> The way I use recursive makes is /really/ recursive - the main make >> (typically split into a few include makefiles for convenience, but only >> one real make) handles everything, and it does some of that be calling >> /itself/ recursively. It is quite common for me to build multiple >> program images from one set of source - perhaps for different variants >> of a board, with different features enabled, and so on. So I might use >> "make prog=board_a" to build the image for board a, and "make >> prog=board_b" for board b. Each build will be done in its own directory >> - builds/build_a or builds/build_b. Often I will want to build for both >> boards - then I will do "make prog="board_a board_b"" (with a default >> setting for the most common images). > > OK, that is not the classic recursive make pattern (ie. run make in each > subdirectory). Agreed - it is not the pattern that the famous paper warned against. But it /is/ recursive make. And in general, I think recursive make can potentially be useful in various ways, but you have to be very careful about how you use it in order to do so safely (and efficiently - but of course safety and correctness is the priority). > I do that (ie. building for multiple boards) using build > scripts that are external to make. > > cu > Michael