Most probably I originally took the Makefile which have had a problem, and did not invest enough into the figuring out how it works.
The problem is that I add -ggdb3
into the CFLAGS, but package size does not change, and I do not see any material debug info in the executable. I am confused there're CFLAGS
and TARGET_CFLAGS
and how they are being applied during compilation.
Top Makefile has
TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include
TARGET_LDFLAGS += -L$(STAGING_DIR)/usr/lib
And build Makefile has
CFLAGS += -Os -Wall -Wpedantic -Wextra -Wshadow -ggdb3 -std=gnu99
CPPFLAGS += -I./
and actual make commands are
$(CC) $(LDFLAGS) -o [outfname] [sources] $(LDLIBS) $(CPPFLAGS) $(CFLAGS)
I am sure when I change -W option in CFLAGS they have effect, but when I change -g option nothing changes. Where the issue could be?
Update: I am incorrect. Looking into the build_dir
location the executable image inflates considerably when I use -ggdb3
option, but for some reason in output package in bin/packages/[platform]/base the ipk image generated has executable without debug info! WTF?