linux/tools/build/Makefile
<<
>>
Prefs
   1# SPDX-License-Identifier: GPL-2.0
   2ifeq ($(srctree),)
   3srctree := $(patsubst %/,%,$(dir $(CURDIR)))
   4srctree := $(patsubst %/,%,$(dir $(srctree)))
   5endif
   6
   7include $(srctree)/tools//scripts/Makefile.include
   8
   9define allow-override
  10  $(if $(or $(findstring environment,$(origin $(1))),\
  11            $(findstring command line,$(origin $(1)))),,\
  12    $(eval $(1) = $(2)))
  13endef
  14
  15$(call allow-override,CC,$(CROSS_COMPILE)gcc)
  16$(call allow-override,LD,$(CROSS_COMPILE)ld)
  17
  18export HOSTCC HOSTLD HOSTAR
  19
  20ifeq ($(V),1)
  21  Q =
  22else
  23  Q = @
  24endif
  25
  26export Q srctree CC LD
  27
  28MAKEFLAGS := --no-print-directory
  29build     := -f $(srctree)/tools/build/Makefile.build dir=. obj
  30
  31all: $(OUTPUT)fixdep
  32
  33# Make sure there's anything to clean,
  34# feature contains check for existing OUTPUT
  35TMP_O := $(if $(OUTPUT),$(OUTPUT)/feature,./)
  36
  37clean:
  38        $(call QUIET_CLEAN, fixdep)
  39        $(Q)find $(if $(OUTPUT),$(OUTPUT),.) -name '*.o' -delete -o -name '\.*.cmd' -delete -o -name '\.*.d' -delete
  40        $(Q)rm -f $(OUTPUT)fixdep
  41        $(call QUIET_CLEAN, feature-detect)
  42ifneq ($(wildcard $(TMP_O)),)
  43        $(Q)$(MAKE) -C feature OUTPUT=$(TMP_O) clean >/dev/null
  44endif
  45
  46$(OUTPUT)fixdep-in.o: FORCE
  47        $(Q)$(MAKE) $(build)=fixdep
  48
  49$(OUTPUT)fixdep: $(OUTPUT)fixdep-in.o
  50        $(QUIET_LINK)$(HOSTCC) $(KBUILD_HOSTLDFLAGS) -o $@ $<
  51
  52FORCE:
  53
  54.PHONY: FORCE
  55