microsoft / microsoft/vscode-makefile-tools

[Feature] Watch included Makefiles for configure-on-edit

Open
#819 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
TypeScript
Stars
242
Forks
78
PR merge metrics
No merged PRs in 30d

Description

Request Overview

When makefile.configureOnEdit is enabled, Makefile Tools should also watch files included by the main Makefile.

For example, if the main makefile contains:

include ./configure.mk

then editing and saving configure.mk should trigger a new Configure run, the same way editing the main makefile does.

Additional Information

Current behavior

Only changes to the main Makefile appear to trigger Configure. Changes to included files such as configure.mk do not trigger Configure, even though they may change important build variables, compiler definitions, linker flags, or selected build configurations.

Expected behavior

Makefile Tools should parse and watch included Makefile fragments, such as:

include ./configure.mk
-include ./local.mk
sinclude ./optional.mk

When any included file changes, Makefile Tools should trigger Configure if makefile.configureOnEdit is enabled.

Why this matters

Many projects keep user-editable build configuration in separate included files. For example:

include ./configure.mk

configure.mk may define options such as target chip, RTOS enable/disable, optimization level, linker script selection, feature flags, and library selection.

If Makefile Tools does not reconfigure after those files change, IntelliSense and build metadata can become stale until the user manually runs Clean Configure or edits the main Makefile.

Suggested behavior

  • Detect files included by the configured Makefile.
  • Add them to the configure-on-edit watch list.
  • Re-run Configure when one of those included files is modified.
  • Ideally support include, -include, and sinclude.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the configure-on-edit handling and the code that parses the configured Makefile or manages its watch list. Trace how edits to the main Makefile trigger Configure, then verify that include, -include, and sinclude files are watched and that changing one triggers Configure.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.