Bug Report
Description
The incremental build test in tst_incremental_build.py currently relies on make --touch to test the make system. Due to the PHONY indirection added to fix #333 this no longer works; make --touch assumes a recipe updates its target directly and thus touches the target, but the separation of recursive calls means executables are built indirectly in recursive make calls, and not directly by the no-op recipe in their rule.
Suggested Fix
Per @mikebentley15, using the existing fake compilers fake_gcc4.py or fake_clang34.py should correctly identify when Make generates the file, instead of relying on the make --touch logic, but will also still allow for efficient testing.
Alternatively (if for some reason this doesn't work) we could call make and inspect modification times directly, or use some method to determine when files are being updated to maintain this test.
Bug Report
Description
The incremental build test in
tst_incremental_build.pycurrently relies onmake --touchto test the make system. Due to the PHONY indirection added to fix #333 this no longer works;make --touchassumes a recipe updates its target directly and thus touches the target, but the separation of recursive calls means executables are built indirectly in recursive make calls, and not directly by the no-op recipe in their rule.Suggested Fix
Per @mikebentley15, using the existing fake compilers
fake_gcc4.pyorfake_clang34.pyshould correctly identify when Make generates the file, instead of relying on themake --touchlogic, but will also still allow for efficient testing.Alternatively (if for some reason this doesn't work) we could call make and inspect modification times directly, or use some method to determine when files are being updated to maintain this test.