Thanks for the feedback! 1. -o FILE, --old-file=FILE, --assume-old=FILE This could theoretically work, maybe, but it is poor UX. The user should not involve the user needing to think about which of the prerequisites to ignore. They should be able to just say "I want to run this makefile command/goal/target, and I want to just ignore any and all prerequisites on it." They should simply be able to use the same flag every time, on any goal, with the same behavior.
Also note that some prerequisites are not references to files, but are actually phony targets. 2. Extensibility I think this is an important enough and common enough use case that core `make` should have it. 3. What this would look like in practice ```make my-goal: prereq1 prereq2 prereq3 BODY ``` ```sh make my-goal --ignore-prerequisites ``` When the user does this, it should run `my-goal` and completely ignore `prereq1 prereq2 prereq3`. --- Example use case: I've had big, deeply nested builds that involve artefact downloads that take minutes to download, and then pipelines need to re-run after that. And sometimes it can be difficult for the system to know whether it needs to download the artefact or not. For example, imagine it is hosted at example.com/release/latest. But there is no way to check the hash of that release. If there was, then I could store the hash locally, and I could check if the hash of my local artefact matched that of the release online. But in systems where the hash is not hosted, my Makefile will have to first download it, which can take a long time for some of the releases I'm talking about (100s of MB or several gigs). So for me and my fellows, the easy way around this is to go in and just temporarily remove the prereqs, run what we need, and remember to add the prereqs back later. But this is poor UX and error prone. Don't need to focus too much on this 1 use case. It is just an example. There are many such use cases, and rather than having to come up with an ad hoc way to solve every situation, the easiest thing is to just have an --ignore-prerequisites flag. On Mon, Nov 24, 2025 at 2:12 AM Basile Starynkevitch < [email protected]> wrote: > On Mon, 2025-11-24 at 07:47 +0100, Basile Starynkevitch wrote: > > On Sun, 2025-11-23 at 15:33 -0500, Joe Flack wrote: > > > Hi! > > > > > > I have a feature request. Sorry, I was told to mail here, as opposed > to a different list or a ticketing system. > > > > > > Me and others using make have frequently wanted this simple feature: > > > > > > "Run a goal, but ignore prerequisites. Act as if they don't exist." > > > > > > Please consider adding! > > > > Well, if a prerequisite don't exist, how can a given rule be fired? > > > > However, make --help tells us: > > -o FILE, --old-file=FILE, --assume-old=FILE > > Consider FILE to be very old and don't > remake it. > > > > Isn't it equivalent to the feature you ask? > > > > Otherwise, at least give a use case with sample GNUmakefile (e.g. for > POSIX system) > > Notice also that GNU make 4.4 can be extended with Python or Guile. > Perhaps coding that feature in them is easier? > -- > > Basile STARYNKEVITCH basile AT starynkevitch DOT net > 8 rue de la Faïencerie > http://starynkevitch.net/Basile/ > 92340 Bourg-la-Reine https://github.com/bstarynk > France > https://github.com/RefPerSys/RefPerSys > https://orcid.org/0000-0003-0908-5250 >
