As the output file is currently never created, the check will run every time, even if the inputs have not changed. Create an empty output file which allows make to skip the execution when it is not necessary.
Unified · Split
| @@ -154,7 +154,8 @@ quiet_cmd_check_undefined = NM $< · 153 unmodified lines | ||
| 154 | 154 | echo "Unexpected symbols in $<:" >&2; \ |
| 155 | 155 | echo "$$undefsyms" >&2; \ |
| 156 | 156 | false; \ |
| 157 | − fi | |
| 157 | + fi; \ | |
| 158 | + touch $@ | |
| 158 | 159 | |
| 159 | 160 | $(obj)/%.o.checked: $(obj)/%.o $(obj)/undefsyms_base.o FORCE |
| 160 | 161 | $(call if_changed,check_undefined) |