Re: 'make clean' followed by 'make' in the same Nix shell doesn't work

Demi Marie Obenour
2025-08-05T19:09:41Z

[-- Attachment #1.1.1: Type: text/plain, Size: 979 bytes --]

On 7/29/25 08:33, Alyssa Ross wrote:
> Demi Marie Obenour <demiobenour@gmail.com> writes:
>
>> The following command fails to rebuild the image:
>>
>> $ nix-shell --run 'make clean && make run-qemu'
>>
>> The following command succeeds:
>>
>> $ nix-shell --pure --run 'make clean' && nix-shell --pure --run 'make run-qemu'
>>
>> Interactive Nix shells exhibit the same problems, and adding
>> --pure to the first invocation does not help.
>
> Works for me on 560fd87 in img/app. What were you testing? Logs?

I think the problem only arises when there is a dependency that
default.nix knows about but the makefile doesn't. nix-shell
appears to import default.nix directly, so

$ nix-build default.nix

inside a Nix shell does not update various paths (like the path
to the kernel) that the makefile needs.

I think it would be better for the makefile to import the
variables from Nix if possible.