[dpdk-dev] mk: add debug target
Checks
Commit Message
Add "debug" target to build library with debug symbols and optimization
disabled.
This is shortcut for exiting method to compile with
EXTRA_CFLAGS="-O0 -g3"
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
doc/build-sdk-quick.txt | 1 +
mk/rte.sdkroot.mk | 4 ++++
2 files changed, 5 insertions(+)
Comments
16/12/2017 01:13, Ferruh Yigit:
> Add "debug" target to build library with debug symbols and optimization
> disabled.
>
> This is shortcut for exiting method to compile with
> EXTRA_CFLAGS="-O0 -g3"
>
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> ---
> + debug build library with debug symbols
[...]
> +.PHONY: debug
> +debug:
> + $(Q)$(MAKE) EXTRA_CFLAGS="-O0 -g3"
This target will override any EXTRA_CFLAGS,
so we cannot build in debug mode with more extra cflags this way.
I think the cons are higher than the pros.
On 1/30/2018 11:40 PM, Thomas Monjalon wrote:
> 16/12/2017 01:13, Ferruh Yigit:
>> Add "debug" target to build library with debug symbols and optimization
>> disabled.
>>
>> This is shortcut for exiting method to compile with
>> EXTRA_CFLAGS="-O0 -g3"
>>
>> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
>> ---
>> + debug build library with debug symbols
> [...]
>> +.PHONY: debug
>> +debug:
>> + $(Q)$(MAKE) EXTRA_CFLAGS="-O0 -g3"
>
> This target will override any EXTRA_CFLAGS,
> so we cannot build in debug mode with more extra cflags this way.
How about EXTRA_CFLAGS+="-O0 -g3"
which is not override EXTRA_CFLAGS but merge them, can be ok?
>
> I think the cons are higher than the pros.
>
01/02/2018 18:04, Ferruh Yigit:
> On 1/30/2018 11:40 PM, Thomas Monjalon wrote:
> > 16/12/2017 01:13, Ferruh Yigit:
> >> Add "debug" target to build library with debug symbols and optimization
> >> disabled.
> >>
> >> This is shortcut for exiting method to compile with
> >> EXTRA_CFLAGS="-O0 -g3"
> >>
> >> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> >> ---
> >> + debug build library with debug symbols
> > [...]
> >> +.PHONY: debug
> >> +debug:
> >> + $(Q)$(MAKE) EXTRA_CFLAGS="-O0 -g3"
> >
> > This target will override any EXTRA_CFLAGS,
> > so we cannot build in debug mode with more extra cflags this way.
>
> How about EXTRA_CFLAGS+="-O0 -g3"
> which is not override EXTRA_CFLAGS but merge them, can be ok?
I am not sure it works. Have you tested?
On Fri, Feb 02, 2018 at 10:07:31AM +0100, Thomas Monjalon wrote:
> 01/02/2018 18:04, Ferruh Yigit:
> > On 1/30/2018 11:40 PM, Thomas Monjalon wrote:
> > > 16/12/2017 01:13, Ferruh Yigit:
> > >> Add "debug" target to build library with debug symbols and optimization
> > >> disabled.
> > >>
> > >> This is shortcut for exiting method to compile with
> > >> EXTRA_CFLAGS="-O0 -g3"
> > >>
> > >> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> > >> ---
> > >> + debug build library with debug symbols
> > > [...]
> > >> +.PHONY: debug
> > >> +debug:
> > >> + $(Q)$(MAKE) EXTRA_CFLAGS="-O0 -g3"
> > >
> > > This target will override any EXTRA_CFLAGS,
> > > so we cannot build in debug mode with more extra cflags this way.
> >
> > How about EXTRA_CFLAGS+="-O0 -g3"
> > which is not override EXTRA_CFLAGS but merge them, can be ok?
>
> I am not sure it works. Have you tested?
Instead of adding a new target, what about, having:
make DEBUG=1
The DEBUG variable could be used by the rte.*.mk to set the specific
flags, before the EXTRA_* flags.
@@ -7,6 +7,7 @@ Build commands
defconfig auto-select target template based on arch, OS, etc.
all same as build (default rule)
build build in a configured directory
+ debug build library with debug symbols
clean remove files but keep configuration
install T= configure, build and install a target in DESTDIR
install install optionally staged in DESTDIR
@@ -123,6 +123,10 @@ gcov gcovclean:
examples examples_clean:
$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkexamples.mk $@
+.PHONY: debug
+debug:
+ $(Q)$(MAKE) EXTRA_CFLAGS="-O0 -g3"
+
# all other build targets
%:
$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkconfig.mk checkconfig