linux-imx/tools/build/Makefile
Jiri Olsa 5e50426d5d tools build: Use fixdep with OUTPUT path prefix
Adding OUTPUT path prefix for fixdep target so we use it properly in out
of tree builds.

If the fixdep already existed in the tree, the out of tree build would
see it already exist and did not build the out of tree version, as
reported by Arnaldo:

  [acme@zoo linux]$ make O=/tmp/build/perf -C tools/perf
  make: Entering directory '/home/git/linux/tools/perf'
    BUILD:   Doing 'make -j4' parallel build
  make[2]: Nothing to be done for 'fixdep'.
  make: Leaving directory '/home/git/linux/tools/perf'

Reported-and-Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/r/20151126185055.GC19410@krava.brq.redhat.com
[ Fixed conflict with 5725dd8fa8 ("tools build: Clean CFLAGS and LDFLAGS for fixdep") ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2015-11-26 16:32:24 -03:00

914 B

ifeq ($(srctree),) srctree := $(patsubst %/,%,$(dir $(shell pwd))) srctree := $(patsubst %/,%,$(dir $(srctree))) endif

include $(srctree)/tools//scripts/Makefile.include

define allow-override $(if $(or $(findstring environment,$(origin $(1))),
$(findstring command line,$(origin $(1)))),,
$(eval $(1) = $(2))) endef

$(call allow-override,CC,$(CROSS_COMPILE)gcc) $(call allow-override,LD,$(CROSS_COMPILE)ld)

ifeq ($(V),1) Q = else Q = @ endif

export Q srctree CC LD

MAKEFLAGS := --no-print-directory build := -f $(srctree)/tools/build/Makefile.build dir=. obj

all: $(OUTPUT)fixdep

clean: $(call QUIET_CLEAN, fixdep) $(Q)find . -name '.o' -delete -o -name '..cmd' -delete -o -name '.*.d' -delete $(Q)rm -f fixdep

$(OUTPUT)fixdep-in.o: FORCE $(Q)$(MAKE) $(build)=fixdep

$(OUTPUT)fixdep: $(OUTPUT)fixdep-in.o $(QUIET_LINK)$(CC) $(LDFLAGS) -o $@ $<

FORCE:

.PHONY: FORCE