Skip to content
Snippets Groups Projects

Makefile: add missing dependency of 'opencl.o' on 'oclobj.h'

Merged Sergei Trofimovich requested to merge trofi/x264:fix-build-parallelism into master

Without the change parallel build occasionally fails as:

$ make --shuffle
...
gcc ... -c common/opencl.c -o common/opencl-8.o ...
common/opencl.c:116:10: fatal error: common/oclobj.h: No such file or directory
  116 | #include "common/oclobj.h"
      |          ^~~~~~~~~~~~~~~~~

Best reproducible with make --shuffle mode: https://savannah.gnu.org/bugs/index.php?62100

This happens because "common/oclobj.h" is an autogenerated file, but Makefile does not specify dependency of common/opencl-8.o in direct or indirect form.

The change moves dependency on $(GENERATED) from final binaries to intermediate object binaries:

$(OBJS): $(GENERATED)

Except that the actual change adds $(GENERATED) for any buildable objects to be a bit more future proof.

Merge request reports

Pipeline #264298 passed

Pipeline passed for e067ab0b on trofi:fix-build-parallelism

Approval is optional

Set by to be merged automatically when the pipeline succeeds

Ready to merge by members who can write to the target branch.

Merge details

  • 1 commit will be added to master.
  • Source branch will not be deleted.
  • Auto-merge enabled

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
Please register or sign in to reply
Loading