[riot-commits] [RIOT-OS/RIOT] e082ee: Makefile.include: add a target name in usepkg buil...

Joakim Nohlgård joakim.nohlgard at eistec.se
Thu Sep 20 17:32:47 CEST 2018


  Branch: refs/heads/master
  Home:   https://github.com/RIOT-OS/RIOT
  Commit: e082ee6766c75d17f2786d600bd42400b51fefc7
      https://github.com/RIOT-OS/RIOT/commit/e082ee6766c75d17f2786d600bd42400b51fefc7
  Author: cladmi <gaetan.harter at fu-berlin.de>
  Date:   2018-09-20 (Thu, 20 Sep 2018)

  Changed paths:
    M Makefile.include

  Log Message:
  -----------
  Makefile.include: add a target name in usepkg build target

Explicit the target name so the stem can be extracted.


  Commit: 8a6771ac5059da198dc99eaa580ff0a633dda22f
      https://github.com/RIOT-OS/RIOT/commit/8a6771ac5059da198dc99eaa580ff0a633dda22f
  Author: cladmi <gaetan.harter at fu-berlin.de>
  Date:   2018-09-20 (Thu, 20 Sep 2018)

  Changed paths:
    M Makefile.include

  Log Message:
  -----------
  Makefile.include: do not create BINDIR for usepkg build

BINDIR has already have been created by `pkg-prepare` and the real build
directory for the package will be created by the make target itself.


  Commit: 4652cb2b283fe091df9fefbcdcd0b6deae2f0e24
      https://github.com/RIOT-OS/RIOT/commit/4652cb2b283fe091df9fefbcdcd0b6deae2f0e24
  Author: cladmi <gaetan.harter at fu-berlin.de>
  Date:   2018-09-20 (Thu, 20 Sep 2018)

  Changed paths:
    M Makefile.include

  Log Message:
  -----------
  Makefile.include: Replace pkg archive file targets by phony targets

It fixes issues with the current rule that it is wrong that each
`$(BINDIR)/pkgname.a` is built by going in the package directory:

* `nordic_softdevice_ble.a` is built using `DIRS` and so the
  `$(APPLICATION_MODULE).a` target.
* It prevents having packages that are pseudomodules, which may be
  required to only use one "library" part of a package.

It also simplifies handling changes in 'ld -r' PR that could produce
objects instead of archives for packages.

Limitation of the current implementation
----------------------------------------

It removes rules being 'file' target and makes them depend on `.PHONY`
targets so always forces re-build.
But having a file target whose file is silently generated by another
target does not trigger a rebuild in Make.

They may have been declared as `order-only` prerequisites but as there are
some edge-cases that may not always work and does not currently add anything,
it was decided to keep them as normal prerequisites until it can be
globally solved.


  Commit: 1f83769e2bf5f5ff907252422986c1cff0d3ae8f
      https://github.com/RIOT-OS/RIOT/commit/1f83769e2bf5f5ff907252422986c1cff0d3ae8f
  Author: Joakim Nohlgård <joakim.nohlgard at eistec.se>
  Date:   2018-09-20 (Thu, 20 Sep 2018)

  Changed paths:
    M Makefile.include

  Log Message:
  -----------
  Merge pull request #9935 from cladmi/pr/make/package_build_target

 Makefile.include: replace $(USEPKG:%=$(BINDIR)/%.a) target


Compare: https://github.com/RIOT-OS/RIOT/compare/e1f4d8a76f55...1f83769e2bf5
      **NOTE:** This service has been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/

      Functionality will be removed from GitHub.com on January 31st, 2019.


More information about the commits mailing list