git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Header files not mentioned in the makefile

From
MKMartin Koegler <mkoegler@auto.tuwien.ac.at>
Date
Mar 3, 2008, 07:24 UTC
Message-ID
<20080303072424.GA25623@auto.tuwien.ac.at>

When I modified fetch-pack.h I was surprised by the fact, that it does not result in rebuilding all object files. In fact, no file was rebuilt. It turned out, that fetch-pack.h was not mentioned in the Makefile.

A quick search (on next) showed, that other header files are also not taking part in dependency checking:

$for a in `ls *.h`; do grep "$a" Makefile >/dev/null || (echo "missing: $a"; grep "$a" *.c|grep include) ; done
missing: branch.h
  branch.c:#include "branch.h"
  builtin-branch.c:#include "branch.h"
  builtin-checkout.c:#include "branch.h"
  builtin-reset.c:#include "branch.h"
missing: bundle.h
  builtin-bundle.c:#include "bundle.h"
  bundle.c:#include "bundle.h"
  transport.c:#include "bundle.h"
missing: color.h
  builtin-branch.c:#include "color.h"
  builtin-commit.c:#include "color.h"
  builtin-config.c:#include "color.h"
  builtin-diff.c:#include "color.h"
  builtin-log.c:#include "color.h"
  color.c:#include "color.h"
  diff.c:#include "color.h"
  wt-status.c:#include "color.h"
missing: exec_cmd.h
  builtin-add.c:#include "exec_cmd.h"
  builtin-archive.c:#include "exec_cmd.h"
  builtin-cat-file.c:#include "exec_cmd.h"
  builtin-describe.c:#include "exec_cmd.h"
  builtin-fetch-pack.c:#include "exec_cmd.h"
  builtin-init-db.c:#include "exec_cmd.h"
  builtin-revert.c:#include "exec_cmd.h"
  config.c:#include "exec_cmd.h"
  daemon.c:#include "exec_cmd.h"
  exec_cmd.c:#include "exec_cmd.h"
  git.c:#include "exec_cmd.h"
  help.c:#include "exec_cmd.h"
  http-push.c:#include "exec_cmd.h"
  receive-pack.c:#include "exec_cmd.h"
  run-command.c:#include "exec_cmd.h"
  shell.c:#include "exec_cmd.h"
  upload-pack.c:#include "exec_cmd.h"
missing: fetch-pack.h
  builtin-fetch-pack.c:#include "fetch-pack.h"
  transport.c:#include "fetch-pack.h"
missing: interpolate.h
  builtin-merge-recursive.c:#include "interpolate.h"
  daemon.c:#include "interpolate.h"
  interpolate.c:#include "interpolate.h"
  ll-merge.c:#include "interpolate.h"
missing: merge-recursive.h
  builtin-checkout.c:#include "merge-recursive.h"
  builtin-merge-recursive.c:#include "merge-recursive.h"
missing: reachable.h
  builtin-prune.c:#include "reachable.h"
  builtin-reflog.c:#include "reachable.h"
  reachable.c:#include "reachable.h"
missing: send-pack.h
  builtin-send-pack.c:#include "send-pack.h"
  transport.c:#include "send-pack.h"
missing: shortlog.h
  builtin-log.c:#include "shortlog.h"
  builtin-shortlog.c:#include "shortlog.h"
missing: tar.h
  archive-tar.c:#include "tar.h"
  builtin-tar-tree.c:#include "tar.h"
missing: thread-utils.h
  builtin-pack-objects.c:#include "thread-utils.h"
missing: walker.h
  builtin-http-fetch.c:#include "walker.h"
  http-walker.c:#include "walker.h"
  transport.c:#include "walker.h"
  walker.c:#include "walker.h"
missing: xdiff-interface.h
  builtin-blame.c:#include "xdiff-interface.h"
  builtin-merge-file.c:#include "xdiff-interface.h"
  builtin-merge-recursive.c:#include "xdiff-interface.h"
  builtin-rerere.c:#include "xdiff-interface.h"
  combine-diff.c:#include "xdiff-interface.h"
  diff.c:#include "xdiff-interface.h"
  grep.c:#include "xdiff-interface.h"
  ll-merge.c:#include "xdiff-interface.h"
  merge-file.c:#include "xdiff-interface.h"
  merge-tree.c:#include "xdiff-interface.h"
  xdiff-interface.c:#include "xdiff-interface.h"
Adding this header files to LIB_H should fix the problem.
mfg Martin Kögler
Next: Johannes Schindelin
Message 1 of 4 in “Header files not mentioned in the makefile”
  1. Martin KoeglerMar 3, 2008
  2. Johannes SchindelinMar 3, 2008
  3. Martin KoeglerMar 3, 2008
  4. Junio C HamanoMar 3, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.