linux-imx/tools/lib/subcmd/Makefile
James Clark 22bd8f1b5a libsubcmd: Use -O0 with DEBUG=1
When a 'make DEBUG=1' build is done, the command parser is still built
with -O6 and is hard to step through, fix it making it use -O0 in that
case.

Signed-off-by: James Clark <james.clark@arm.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: nd <nd@arm.com>
Link: http://lore.kernel.org/lkml/20191028113340.4282-1-james.clark@arm.com
[ split from a larger patch ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2019-11-06 15:49:39 -03:00

1.5 KiB

SPDX-License-Identifier: GPL-2.0

include ../../scripts/Makefile.include include ../../scripts/utilities.mak # QUIET_CLEAN

ifeq ($(srctree),) srctree := $(patsubst %/,%,$(dir $(CURDIR))) srctree := $(patsubst %/,%,$(dir $(srctree))) srctree := $(patsubst %/,%,$(dir $(srctree))) #$(info Determined 'srctree' to be $(srctree)) endif

CC ?= $(CROSS_COMPILE)gcc LD ?= $(CROSS_COMPILE)ld AR ?= $(CROSS_COMPILE)ar

RM = rm -f

MAKEFLAGS += --no-print-directory

LIBFILE = $(OUTPUT)libsubcmd.a

CFLAGS := -ggdb3 -Wall -Wextra -std=gnu99 -fPIC

ifeq ($(DEBUG),0) ifeq ($(feature-fortify-source), 1) CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 endif endif

ifeq ($(DEBUG),1) CFLAGS += -O0 else ifeq ($(CC_NO_CLANG), 0) CFLAGS += -O3 else CFLAGS += -O6 endif

Treat warnings as errors unless directed not to

ifneq ($(WERROR),0) CFLAGS += -Werror endif

CFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE

CFLAGS += -I$(srctree)/tools/include/

CFLAGS += $(EXTRA_WARNINGS) $(EXTRA_CFLAGS)

SUBCMD_IN := $(OUTPUT)libsubcmd-in.o

all:

export srctree OUTPUT CC LD CFLAGS V include $(srctree)/tools/build/Makefile.include

all: fixdep $(LIBFILE)

$(SUBCMD_IN): FORCE @$(MAKE) $(build)=libsubcmd

$(LIBFILE): $(SUBCMD_IN) $(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $(SUBCMD_IN)

clean: $(call QUIET_CLEAN, libsubcmd) $(RM) $(LIBFILE);
find $(if $(OUTPUT),$(OUTPUT),.) -name *.o -or -name *.o.cmd -or -name *.o.d | xargs $(RM)

FORCE:

.PHONY: clean FORCE