I assume that you're building on a windows host (with linux subsystem), in which case you have to sanitize your PATH variable for WSL{,2} (remove non linux paths, Program Files and anything else with spaces in particular).
Quick question, I have two devices with two different architectures… off the top of my head one is a mt7621 and the other is an ipq-something. I want to rebuild wpad for each. I’m trying to understand where in the build process the commands would need to be run twice. I am following https://openwrt.org/docs/guide-developer/toolchain/single.package. Let’s say I build the mt7621 wpad package, can I then build for ipq-something without recompiling tools/toolchain as I believe this is what takes the most time. Is it just a case of dropping in the new .config file, configuring it with menuconfig and running something like make package/nano/compile (but obviously for wpad)?
You could save just "tools", as "toolchain" components are already target specific. (Actually, CPU architecture / package target). And toolchain compilation is the time-consuming task...
Cleaning toolchain is done by (rarely used) make targetclean, or by make dirclean. normal (make clean just cleans the target items)
If disc space is no constraint, you could also have both toolchains coexist, and just focus on the normal build.
In principle, yes. Selecting target/router in menuconfig causes the build to used the correct toolchain (even when there are multiple toolchains compiled).
At the same time, as in multiple make processes for different targets running at the same time no. One after another, leaving build artefacts for other targets (and being able to reuse them later), yes.
More or less, yes (the whole dependency stack needs to be built before, the only reasonable approach for that is doing almost a full build).