elkav
elkav

Reputation: 31

'bitbake' detect changes but 'make' do nothing

I'm using yocto dunfell (3.1).

I built recipe for my appication, where 'bitbake' calls 'do_compile' which calls 'oe_runmake' which runs 'make'. CFLAGS are defined at the recipe, and passed by 'oe_runmake' internally to 'make'. usually, this process runs OK.

the problem arise when:

  1. I change only the CFLAGS at the recipe. no any change at sources.
  2. 'bitbake' detects the change, runs 'do_compile', which runs 'oe_runmake' which runs 'make'.
  3. 'make' does not detect any change at sources, and do nothing.

during development cycle, I can run 'make clean' manually before 'bitbake', forcing 'make' to compile all sources with the new CFLAGS. However, this process shall run at build server, who automatically pulls new revisions from git and runs 'bitbake'.

any idea?

Upvotes: 0

Views: 129

Answers (2)

elkav
elkav

Reputation: 31

As MadScientist commented, I added the recipe file to the prerequisites of the relevant targets at the makefile. this solved the problem. thanks

Upvotes: 0

Wojciech Siudy
Wojciech Siudy

Reputation: 145

If bitbake -c compile <recipe> does not take in account change you make try doing bitbake -c clean <recipe> && bitbake recipe or, if changes are in recipe only, eg. CFLAGS:append = "... you can wipe out whole recipe's workspace using bitbake -c cleanall <recipe>.

Upvotes: 0

Related Questions