Hello all!

I have a newbie question regarding creating a recipe for C code, where
the project already has a custom Makefile -which of course must be
used for the build.
>From what I recall, the recipe doesn't have to do anything special;
bitbake will pick up the Makefile and do the 'make'...

However, when experimenting with a v simple 'hello, world' C program
and Makefile, I find that am unable to get a 'debug build'
helloworld_dbg binary executable - it simply seems to use the default
$(CFLAGS) value and I can't seem to influence it, via the recipe or
the Makefile??
I've tried the CFLAGS:append approach as well as the TARGET_CFLAGS
setting but they don't seem to help.

Here's my (essential) recipe:
...
SRC_URI = "\
    file://helloworld.c \
    file://Makefile \
    "

FILES:${PN} += "helloworld helloworld_dbg"
S = "${WORKDIR}"

# GCC: later option takes precedence
CFLAGS:append = " -g -ggdb -O0 -Wpedantic"

do_configure:prepend() {
    bbplain ">>> WORKDIR = S = ${WORKDIR}"
    bbplain ">>> build dir B = ${B}"
    bbplain ">>> dest dir D  = ${D}"
    bbplain ">>> CFLAGS = ${CFLAGS}"
    bbplain ">>> TARGET_CFLAGS = ${TARGET_CFLAGS}"
    bbplain ">>> TMPDIR = ${TMPDIR} "
}

PARALLEL_MAKE = ""

do_install() {
    install -d ${D}${bindir}
    install -m 0755 ${S}/helloworld ${D}${bindir}
    install -m 0755 ${S}/helloworld_dbg ${D}${bindir}
}


And my Makefile:
ALL := helloworld helloworld_dbg
all: ${ALL}

helloworld: helloworld.c
    $(CC) $(CFLAGS) $(LDFLAGS) helloworld.c -o helloworld -Wall -O2
    ls -l ./helloworld ; file ./helloworld
#    strip --strip-all ./helloworld
helloworld_dbg: helloworld.c
    $(CC) $(CFLAGS_DBG) $(LDFLAGS) helloworld.c -o helloworld_dbg -Wall

clean:
    rm -f $(ALL)

The helloworld.c is the usual...

$ ls -l .../tmp-glibc/work/cortexa72-kaiwanTECH-linux/hellomake/1.0/helloworld*
-rwxr-xr-x 1 kaiwan kaiwan 77680 Jun 12 15:45
.../tmp-glibc/work/cortexa72-kaiwanTECH-linux/hellomake/1.0/helloworld*
-rw-rw-r-- 1 kaiwan kaiwan    83 May 30 11:08
.../tmp-glibc/work/cortexa72-kaiwanTECH-linux/hellomake/1.0/helloworld.c
-rwxr-xr-x 1 kaiwan kaiwan 77000 Jun 12 15:45
.../tmp-glibc/work/cortexa72-kaiwanTECH-linux/hellomake/1.0/helloworld_dbg2*

You can see that both binaries are essentially the same...
(I realize that an answer to a very similar query was posted here [1];
am just looking to see if there's any update).

[1] 
https://stackoverflow.com/questions/34934869/why-does-bitbake-ignore-cflags-in-my-makefile

Thanks and regards,
Kaiwan.

--
Kaiwan N Billimoria
Founder, kaiwanTECH
kaiwantech.com  |  https://amazon.com/author/kaiwanbillimoria
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#63325): https://lists.yoctoproject.org/g/yocto/message/63325
Mute This Topic: https://lists.yoctoproject.org/mt/106629727/21656
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to