Clean up Makefile/Kconfig dependency checks

Open
#2,106 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Refactor
Clarity
Mostly clear
Activity status
Stale
Domain
build-system

Research direction

Review the listed application Makefiles, their Make.defs entries, and corresponding Kconfig dependencies, starting with the duplicate CONFIG_appname checks. For each application, determine whether the whole-app dependency belongs in Kconfig or whether a Makefile check is only enabling partial functionality. Done means duplicate whole-application checks are removed and required dependencies are handled in Kconfig.

Written by the indexing model from the issue text.

Description

Some of the application Makefiles have configuration checks that overlap dependencies given in Kconfig and Make.defs.
Ideally each check should be done at only one place, and dependencies should be handled by Kconfig.

Note that enabling partial functionality based on config checks in Makefile is fine, but if the whole application depends on some configuration item, that should be a dependency in Kconfig.

Makefiles that have a duplicate check for CONFIG_appname in both Make.defs and Makefile:

  • fsutils/ipcfg
  • fsutils/mkfatfs
  • fsutils/mksmartfs
  • fsutils/passwd
  • netutils/dhcp6c
  • netutils/ping

Makefiles that check for some other config item such as CONFIG_NET_UDP. In most cases the dependency is already in Kconfig and the Makefile check can be removed, in other cases dependency should be added to Kconfig:

  • netutils/dhcpc
  • netutils/dhcpd
  • netutils/discover
  • netutils/ftpc
  • netutils/ftpd
  • netutils/ntpclient
  • netutils/smtp
  • netutils/telnetc
  • netutils/tftpc
  • netutils/thttpd
  • netutils/webclient
  • netutils/webserver
  • netutils/xmlrpc
Dominant language
C
Stars
465
Forks
782
Avg merge
3d 11h
Merged PRs (30d)
44

Contributor guide

No contributing guide indexed for this repository

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.

More from apache/nuttx-apps

All issues in apache/nuttx-apps

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.