linux/tools/pci/Makefile
<<
>>
Prefs
   1# SPDX-License-Identifier: GPL-2.0
   2include ../scripts/Makefile.include
   3
   4bindir ?= /usr/bin
   5
   6ifeq ($(srctree),)
   7srctree := $(patsubst %/,%,$(dir $(CURDIR)))
   8srctree := $(patsubst %/,%,$(dir $(srctree)))
   9endif
  10
  11# Do not use make's built-in rules
  12# (this improves performance and avoids hard-to-debug behaviour);
  13MAKEFLAGS += -r
  14
  15CFLAGS += -O2 -Wall -g -D_GNU_SOURCE -I$(OUTPUT)include
  16
  17ALL_TARGETS := pcitest
  18ALL_PROGRAMS := $(patsubst %,$(OUTPUT)%,$(ALL_TARGETS))
  19
  20SCRIPTS := pcitest.sh
  21
  22all: $(ALL_PROGRAMS)
  23
  24export srctree OUTPUT CC LD CFLAGS
  25include $(srctree)/tools/build/Makefile.include
  26
  27#
  28# We need the following to be outside of kernel tree
  29#
  30$(OUTPUT)include/linux/: ../../include/uapi/linux/
  31        mkdir -p $(OUTPUT)include/linux/ 2>&1 || true
  32        ln -sf $(CURDIR)/../../include/uapi/linux/pcitest.h $@
  33
  34prepare: $(OUTPUT)include/linux/
  35
  36PCITEST_IN := $(OUTPUT)pcitest-in.o
  37$(PCITEST_IN): prepare FORCE
  38        $(Q)$(MAKE) $(build)=pcitest
  39$(OUTPUT)pcitest: $(PCITEST_IN)
  40        $(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@
  41
  42clean:
  43        rm -f $(ALL_PROGRAMS)
  44        rm -rf $(OUTPUT)include/
  45        find $(if $(OUTPUT),$(OUTPUT),.) -name '*.o' -delete -o -name '\.*.d' -delete
  46
  47install: $(ALL_PROGRAMS)
  48        install -d -m 755 $(DESTDIR)$(bindir);          \
  49        for program in $(ALL_PROGRAMS); do              \
  50                install $$program $(DESTDIR)$(bindir);  \
  51        done;                                           \
  52        for script in $(SCRIPTS); do                    \
  53                install $$script $(DESTDIR)$(bindir);   \
  54        done
  55
  56FORCE:
  57
  58.PHONY: all install clean FORCE prepare
  59