mit-plv / bedrock2

A work-in-progress language and compiler for verified low-level programming

Home Page:http://adam.chlipala.net/papers/LightbulbPLDI21/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

bedrock2 fails to build when switching from EXTERNAL_DEPENDENCIES=1 to EXTERNAL_DEPENDENCIES= because _CoqProject is not remade

JasonGross opened this issue · comments

The rule for making _CoqProject considers it to be up-to-date whenever it exists. Therefore it is never remade, even when you, e.g., change the Makefile or switch to or from EXTERNAL_DEPENDENCIES=1. The solution is to declare _CoqProject to be PHONY. (I presume some of the dependencies of bedrock2 also have this same issue.)

Declaring _CoqProject as PHONY sounds like saying "_CoqProject is not a file", which feels wrong to me. How about making it depend on the force target instead?

Sure, that seems fine