linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] tools/pci: Change pcitest compiling process
@ 2018-08-23 11:55 Gustavo Pimentel
  2018-10-03  8:56 ` Kishon Vijay Abraham I
  2018-10-03 10:44 ` Lorenzo Pieralisi
  0 siblings, 2 replies; 3+ messages in thread
From: Gustavo Pimentel @ 2018-08-23 11:55 UTC (permalink / raw)
  To: bhelgaas, lorenzo.pieralisi, kishon, corbet
  Cc: linux-pci, linux-doc, linux-kernel, Gustavo Pimentel

Change tool compiling process in order to be build using the same
mechanism used in other linux tools (e.g. iio, perf, etc). This will
allow in future the buildroot tool to build and integrate this tool in
a more expeditious way.

Update documentation accordingly.

Signed-off-by: Gustavo Pimentel <gustavo.pimentel@synopsys.com>
---
 Documentation/PCI/endpoint/pci-test-howto.txt | 19 ++++++----
 tools/Makefile                                | 13 ++++---
 tools/pci/Build                               |  1 +
 tools/pci/Makefile                            | 53 +++++++++++++++++++++++++++
 4 files changed, 72 insertions(+), 14 deletions(-)
 create mode 100644 tools/pci/Build
 create mode 100644 tools/pci/Makefile

diff --git a/Documentation/PCI/endpoint/pci-test-howto.txt b/Documentation/PCI/endpoint/pci-test-howto.txt
index 75f48c3..16df733 100644
--- a/Documentation/PCI/endpoint/pci-test-howto.txt
+++ b/Documentation/PCI/endpoint/pci-test-howto.txt
@@ -98,17 +98,20 @@ Note that the devices listed here correspond to the value populated in 1.4 above
 2.2 Using Endpoint Test function Device
 
 pcitest.sh added in tools/pci/ can be used to run all the default PCI endpoint
-tests. Before pcitest.sh can be used pcitest.c should be compiled using the
-following commands.
+tests. To compile this tool the following commands should be used:
 
-	cd <kernel-dir>
-	make headers_install ARCH=arm
-	arm-linux-gnueabihf-gcc -Iusr/include tools/pci/pcitest.c -o pcitest
-	cp pcitest  <rootfs>/usr/sbin/
-	cp tools/pci/pcitest.sh <rootfs>
+	# cd <kernel-dir>
+	# make -C tools/pci
+
+or if you desire to compile and install in your system:
+
+	# cd <kernel-dir>
+	# make -C tools/pci install
+
+The tool and script will be located in <rootfs>/usr/bin/
 
 2.2.1 pcitest.sh Output
-	# ./pcitest.sh
+	# pcitest.sh
 	BAR tests
 
 	BAR0:           OKAY
diff --git a/tools/Makefile b/tools/Makefile
index be02c8b..abb358a 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -21,6 +21,7 @@ help:
 	@echo '  leds                   - LEDs  tools'
 	@echo '  liblockdep             - user-space wrapper for kernel locking-validator'
 	@echo '  bpf                    - misc BPF tools'
+	@echo '  pci                    - PCI tools'
 	@echo '  perf                   - Linux performance measurement and analysis tool'
 	@echo '  selftests              - various kernel selftests'
 	@echo '  spi                    - spi tools'
@@ -59,7 +60,7 @@ acpi: FORCE
 cpupower: FORCE
 	$(call descend,power/$@)
 
-cgroup firewire hv guest spi usb virtio vm bpf iio gpio objtool leds wmi: FORCE
+cgroup firewire hv guest spi usb virtio vm bpf iio gpio objtool leds wmi pci: FORCE
 	$(call descend,$@)
 
 liblockdep: FORCE
@@ -94,7 +95,7 @@ kvm_stat: FORCE
 all: acpi cgroup cpupower gpio hv firewire liblockdep \
 		perf selftests spi turbostat usb \
 		virtio vm bpf x86_energy_perf_policy \
-		tmon freefall iio objtool kvm_stat wmi
+		tmon freefall iio objtool kvm_stat wmi pci
 
 acpi_install:
 	$(call descend,power/$(@:_install=),install)
@@ -102,7 +103,7 @@ acpi_install:
 cpupower_install:
 	$(call descend,power/$(@:_install=),install)
 
-cgroup_install firewire_install gpio_install hv_install iio_install perf_install spi_install usb_install virtio_install vm_install bpf_install objtool_install wmi_install:
+cgroup_install firewire_install gpio_install hv_install iio_install perf_install spi_install usb_install virtio_install vm_install bpf_install objtool_install wmi_install pci_install:
 	$(call descend,$(@:_install=),install)
 
 liblockdep_install:
@@ -128,7 +129,7 @@ install: acpi_install cgroup_install cpupower_install gpio_install \
 		perf_install selftests_install turbostat_install usb_install \
 		virtio_install vm_install bpf_install x86_energy_perf_policy_install \
 		tmon_install freefall_install objtool_install kvm_stat_install \
-		wmi_install
+		wmi_install pci_install
 
 acpi_clean:
 	$(call descend,power/acpi,clean)
@@ -136,7 +137,7 @@ acpi_clean:
 cpupower_clean:
 	$(call descend,power/cpupower,clean)
 
-cgroup_clean hv_clean firewire_clean spi_clean usb_clean virtio_clean vm_clean wmi_clean bpf_clean iio_clean gpio_clean objtool_clean leds_clean:
+cgroup_clean hv_clean firewire_clean spi_clean usb_clean virtio_clean vm_clean wmi_clean bpf_clean iio_clean gpio_clean objtool_clean leds_clean pci_clean:
 	$(call descend,$(@:_clean=),clean)
 
 liblockdep_clean:
@@ -174,6 +175,6 @@ clean: acpi_clean cgroup_clean cpupower_clean hv_clean firewire_clean \
 		perf_clean selftests_clean turbostat_clean spi_clean usb_clean virtio_clean \
 		vm_clean bpf_clean iio_clean x86_energy_perf_policy_clean tmon_clean \
 		freefall_clean build_clean libbpf_clean libsubcmd_clean liblockdep_clean \
-		gpio_clean objtool_clean leds_clean wmi_clean
+		gpio_clean objtool_clean leds_clean wmi_clean pci_clean
 
 .PHONY: FORCE
diff --git a/tools/pci/Build b/tools/pci/Build
new file mode 100644
index 0000000..c375aea
--- /dev/null
+++ b/tools/pci/Build
@@ -0,0 +1 @@
+pcitest-y += pcitest.o
diff --git a/tools/pci/Makefile b/tools/pci/Makefile
new file mode 100644
index 0000000..46e4c2f
--- /dev/null
+++ b/tools/pci/Makefile
@@ -0,0 +1,53 @@
+# SPDX-License-Identifier: GPL-2.0
+include ../scripts/Makefile.include
+
+bindir ?= /usr/bin
+
+ifeq ($(srctree),)
+srctree := $(patsubst %/,%,$(dir $(CURDIR)))
+srctree := $(patsubst %/,%,$(dir $(srctree)))
+endif
+
+# Do not use make's built-in rules
+# (this improves performance and avoids hard-to-debug behaviour);
+MAKEFLAGS += -r
+
+CFLAGS += -O2 -Wall -g -D_GNU_SOURCE -I$(OUTPUT)include
+
+ALL_TARGETS := pcitest pcitest.sh
+ALL_PROGRAMS := $(patsubst %,$(OUTPUT)%,$(ALL_TARGETS))
+
+all: $(ALL_PROGRAMS)
+
+export srctree OUTPUT CC LD CFLAGS
+include $(srctree)/tools/build/Makefile.include
+
+#
+# We need the following to be outside of kernel tree
+#
+$(OUTPUT)include/linux/: ../../include/uapi/linux/
+	mkdir -p $(OUTPUT)include/linux/ 2>&1 || true
+	ln -sf $(CURDIR)/../../include/uapi/linux/pcitest.h $@
+
+prepare: $(OUTPUT)include/linux/
+
+PCITEST_IN := $(OUTPUT)pcitest-in.o
+$(PCITEST_IN): prepare FORCE
+	$(Q)$(MAKE) $(build)=pcitest
+$(OUTPUT)pcitest: $(PCITEST_IN)
+	$(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@
+
+clean:
+	rm -f $(ALL_PROGRAMS)
+	rm -rf $(OUTPUT)include/
+	find $(if $(OUTPUT),$(OUTPUT),.) -name '*.o' -delete -o -name '\.*.d' -delete
+
+install: $(ALL_PROGRAMS)
+	install -d -m 755 $(DESTDIR)$(bindir);		\
+	for program in $(ALL_PROGRAMS); do		\
+		install $$program $(DESTDIR)$(bindir);	\
+	done
+
+FORCE:
+
+.PHONY: all install clean FORCE prepare
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] tools/pci: Change pcitest compiling process
  2018-08-23 11:55 [PATCH] tools/pci: Change pcitest compiling process Gustavo Pimentel
@ 2018-10-03  8:56 ` Kishon Vijay Abraham I
  2018-10-03 10:44 ` Lorenzo Pieralisi
  1 sibling, 0 replies; 3+ messages in thread
From: Kishon Vijay Abraham I @ 2018-10-03  8:56 UTC (permalink / raw)
  To: Gustavo Pimentel, bhelgaas, lorenzo.pieralisi, corbet
  Cc: linux-pci, linux-doc, linux-kernel



On Thursday 23 August 2018 05:25 PM, Gustavo Pimentel wrote:
> Change tool compiling process in order to be build using the same
> mechanism used in other linux tools (e.g. iio, perf, etc). This will
> allow in future the buildroot tool to build and integrate this tool in
> a more expeditious way.
> 
> Update documentation accordingly.
> 
> Signed-off-by: Gustavo Pimentel <gustavo.pimentel@synopsys.com>

Reviewed-by: Kishon Vijay Abraham I <kishon@ti.com>
> ---
>  Documentation/PCI/endpoint/pci-test-howto.txt | 19 ++++++----
>  tools/Makefile                                | 13 ++++---
>  tools/pci/Build                               |  1 +
>  tools/pci/Makefile                            | 53 +++++++++++++++++++++++++++
>  4 files changed, 72 insertions(+), 14 deletions(-)
>  create mode 100644 tools/pci/Build
>  create mode 100644 tools/pci/Makefile
> 
> diff --git a/Documentation/PCI/endpoint/pci-test-howto.txt b/Documentation/PCI/endpoint/pci-test-howto.txt
> index 75f48c3..16df733 100644
> --- a/Documentation/PCI/endpoint/pci-test-howto.txt
> +++ b/Documentation/PCI/endpoint/pci-test-howto.txt
> @@ -98,17 +98,20 @@ Note that the devices listed here correspond to the value populated in 1.4 above
>  2.2 Using Endpoint Test function Device
>  
>  pcitest.sh added in tools/pci/ can be used to run all the default PCI endpoint
> -tests. Before pcitest.sh can be used pcitest.c should be compiled using the
> -following commands.
> +tests. To compile this tool the following commands should be used:
>  
> -	cd <kernel-dir>
> -	make headers_install ARCH=arm
> -	arm-linux-gnueabihf-gcc -Iusr/include tools/pci/pcitest.c -o pcitest
> -	cp pcitest  <rootfs>/usr/sbin/
> -	cp tools/pci/pcitest.sh <rootfs>
> +	# cd <kernel-dir>
> +	# make -C tools/pci
> +
> +or if you desire to compile and install in your system:
> +
> +	# cd <kernel-dir>
> +	# make -C tools/pci install
> +
> +The tool and script will be located in <rootfs>/usr/bin/
>  
>  2.2.1 pcitest.sh Output
> -	# ./pcitest.sh
> +	# pcitest.sh
>  	BAR tests
>  
>  	BAR0:           OKAY
> diff --git a/tools/Makefile b/tools/Makefile
> index be02c8b..abb358a 100644
> --- a/tools/Makefile
> +++ b/tools/Makefile
> @@ -21,6 +21,7 @@ help:
>  	@echo '  leds                   - LEDs  tools'
>  	@echo '  liblockdep             - user-space wrapper for kernel locking-validator'
>  	@echo '  bpf                    - misc BPF tools'
> +	@echo '  pci                    - PCI tools'
>  	@echo '  perf                   - Linux performance measurement and analysis tool'
>  	@echo '  selftests              - various kernel selftests'
>  	@echo '  spi                    - spi tools'
> @@ -59,7 +60,7 @@ acpi: FORCE
>  cpupower: FORCE
>  	$(call descend,power/$@)
>  
> -cgroup firewire hv guest spi usb virtio vm bpf iio gpio objtool leds wmi: FORCE
> +cgroup firewire hv guest spi usb virtio vm bpf iio gpio objtool leds wmi pci: FORCE
>  	$(call descend,$@)
>  
>  liblockdep: FORCE
> @@ -94,7 +95,7 @@ kvm_stat: FORCE
>  all: acpi cgroup cpupower gpio hv firewire liblockdep \
>  		perf selftests spi turbostat usb \
>  		virtio vm bpf x86_energy_perf_policy \
> -		tmon freefall iio objtool kvm_stat wmi
> +		tmon freefall iio objtool kvm_stat wmi pci
>  
>  acpi_install:
>  	$(call descend,power/$(@:_install=),install)
> @@ -102,7 +103,7 @@ acpi_install:
>  cpupower_install:
>  	$(call descend,power/$(@:_install=),install)
>  
> -cgroup_install firewire_install gpio_install hv_install iio_install perf_install spi_install usb_install virtio_install vm_install bpf_install objtool_install wmi_install:
> +cgroup_install firewire_install gpio_install hv_install iio_install perf_install spi_install usb_install virtio_install vm_install bpf_install objtool_install wmi_install pci_install:
>  	$(call descend,$(@:_install=),install)
>  
>  liblockdep_install:
> @@ -128,7 +129,7 @@ install: acpi_install cgroup_install cpupower_install gpio_install \
>  		perf_install selftests_install turbostat_install usb_install \
>  		virtio_install vm_install bpf_install x86_energy_perf_policy_install \
>  		tmon_install freefall_install objtool_install kvm_stat_install \
> -		wmi_install
> +		wmi_install pci_install
>  
>  acpi_clean:
>  	$(call descend,power/acpi,clean)
> @@ -136,7 +137,7 @@ acpi_clean:
>  cpupower_clean:
>  	$(call descend,power/cpupower,clean)
>  
> -cgroup_clean hv_clean firewire_clean spi_clean usb_clean virtio_clean vm_clean wmi_clean bpf_clean iio_clean gpio_clean objtool_clean leds_clean:
> +cgroup_clean hv_clean firewire_clean spi_clean usb_clean virtio_clean vm_clean wmi_clean bpf_clean iio_clean gpio_clean objtool_clean leds_clean pci_clean:
>  	$(call descend,$(@:_clean=),clean)
>  
>  liblockdep_clean:
> @@ -174,6 +175,6 @@ clean: acpi_clean cgroup_clean cpupower_clean hv_clean firewire_clean \
>  		perf_clean selftests_clean turbostat_clean spi_clean usb_clean virtio_clean \
>  		vm_clean bpf_clean iio_clean x86_energy_perf_policy_clean tmon_clean \
>  		freefall_clean build_clean libbpf_clean libsubcmd_clean liblockdep_clean \
> -		gpio_clean objtool_clean leds_clean wmi_clean
> +		gpio_clean objtool_clean leds_clean wmi_clean pci_clean
>  
>  .PHONY: FORCE
> diff --git a/tools/pci/Build b/tools/pci/Build
> new file mode 100644
> index 0000000..c375aea
> --- /dev/null
> +++ b/tools/pci/Build
> @@ -0,0 +1 @@
> +pcitest-y += pcitest.o
> diff --git a/tools/pci/Makefile b/tools/pci/Makefile
> new file mode 100644
> index 0000000..46e4c2f
> --- /dev/null
> +++ b/tools/pci/Makefile
> @@ -0,0 +1,53 @@
> +# SPDX-License-Identifier: GPL-2.0
> +include ../scripts/Makefile.include
> +
> +bindir ?= /usr/bin
> +
> +ifeq ($(srctree),)
> +srctree := $(patsubst %/,%,$(dir $(CURDIR)))
> +srctree := $(patsubst %/,%,$(dir $(srctree)))
> +endif
> +
> +# Do not use make's built-in rules
> +# (this improves performance and avoids hard-to-debug behaviour);
> +MAKEFLAGS += -r
> +
> +CFLAGS += -O2 -Wall -g -D_GNU_SOURCE -I$(OUTPUT)include
> +
> +ALL_TARGETS := pcitest pcitest.sh
> +ALL_PROGRAMS := $(patsubst %,$(OUTPUT)%,$(ALL_TARGETS))
> +
> +all: $(ALL_PROGRAMS)
> +
> +export srctree OUTPUT CC LD CFLAGS
> +include $(srctree)/tools/build/Makefile.include
> +
> +#
> +# We need the following to be outside of kernel tree
> +#
> +$(OUTPUT)include/linux/: ../../include/uapi/linux/
> +	mkdir -p $(OUTPUT)include/linux/ 2>&1 || true
> +	ln -sf $(CURDIR)/../../include/uapi/linux/pcitest.h $@
> +
> +prepare: $(OUTPUT)include/linux/
> +
> +PCITEST_IN := $(OUTPUT)pcitest-in.o
> +$(PCITEST_IN): prepare FORCE
> +	$(Q)$(MAKE) $(build)=pcitest
> +$(OUTPUT)pcitest: $(PCITEST_IN)
> +	$(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@
> +
> +clean:
> +	rm -f $(ALL_PROGRAMS)
> +	rm -rf $(OUTPUT)include/
> +	find $(if $(OUTPUT),$(OUTPUT),.) -name '*.o' -delete -o -name '\.*.d' -delete
> +
> +install: $(ALL_PROGRAMS)
> +	install -d -m 755 $(DESTDIR)$(bindir);		\
> +	for program in $(ALL_PROGRAMS); do		\
> +		install $$program $(DESTDIR)$(bindir);	\
> +	done
> +
> +FORCE:
> +
> +.PHONY: all install clean FORCE prepare
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] tools/pci: Change pcitest compiling process
  2018-08-23 11:55 [PATCH] tools/pci: Change pcitest compiling process Gustavo Pimentel
  2018-10-03  8:56 ` Kishon Vijay Abraham I
@ 2018-10-03 10:44 ` Lorenzo Pieralisi
  1 sibling, 0 replies; 3+ messages in thread
From: Lorenzo Pieralisi @ 2018-10-03 10:44 UTC (permalink / raw)
  To: Gustavo Pimentel
  Cc: bhelgaas, kishon, corbet, linux-pci, linux-doc, linux-kernel

On Thu, Aug 23, 2018 at 01:55:15PM +0200, Gustavo Pimentel wrote:
> Change tool compiling process in order to be build using the same
> mechanism used in other linux tools (e.g. iio, perf, etc). This will
> allow in future the buildroot tool to build and integrate this tool in
> a more expeditious way.
> 
> Update documentation accordingly.
> 
> Signed-off-by: Gustavo Pimentel <gustavo.pimentel@synopsys.com>
> ---
>  Documentation/PCI/endpoint/pci-test-howto.txt | 19 ++++++----
>  tools/Makefile                                | 13 ++++---
>  tools/pci/Build                               |  1 +
>  tools/pci/Makefile                            | 53 +++++++++++++++++++++++++++
>  4 files changed, 72 insertions(+), 14 deletions(-)
>  create mode 100644 tools/pci/Build
>  create mode 100644 tools/pci/Makefile

Applied to pci/tools for v4.20, with subject updated.

Thanks,
Lorenzo

> diff --git a/Documentation/PCI/endpoint/pci-test-howto.txt b/Documentation/PCI/endpoint/pci-test-howto.txt
> index 75f48c3..16df733 100644
> --- a/Documentation/PCI/endpoint/pci-test-howto.txt
> +++ b/Documentation/PCI/endpoint/pci-test-howto.txt
> @@ -98,17 +98,20 @@ Note that the devices listed here correspond to the value populated in 1.4 above
>  2.2 Using Endpoint Test function Device
>  
>  pcitest.sh added in tools/pci/ can be used to run all the default PCI endpoint
> -tests. Before pcitest.sh can be used pcitest.c should be compiled using the
> -following commands.
> +tests. To compile this tool the following commands should be used:
>  
> -	cd <kernel-dir>
> -	make headers_install ARCH=arm
> -	arm-linux-gnueabihf-gcc -Iusr/include tools/pci/pcitest.c -o pcitest
> -	cp pcitest  <rootfs>/usr/sbin/
> -	cp tools/pci/pcitest.sh <rootfs>
> +	# cd <kernel-dir>
> +	# make -C tools/pci
> +
> +or if you desire to compile and install in your system:
> +
> +	# cd <kernel-dir>
> +	# make -C tools/pci install
> +
> +The tool and script will be located in <rootfs>/usr/bin/
>  
>  2.2.1 pcitest.sh Output
> -	# ./pcitest.sh
> +	# pcitest.sh
>  	BAR tests
>  
>  	BAR0:           OKAY
> diff --git a/tools/Makefile b/tools/Makefile
> index be02c8b..abb358a 100644
> --- a/tools/Makefile
> +++ b/tools/Makefile
> @@ -21,6 +21,7 @@ help:
>  	@echo '  leds                   - LEDs  tools'
>  	@echo '  liblockdep             - user-space wrapper for kernel locking-validator'
>  	@echo '  bpf                    - misc BPF tools'
> +	@echo '  pci                    - PCI tools'
>  	@echo '  perf                   - Linux performance measurement and analysis tool'
>  	@echo '  selftests              - various kernel selftests'
>  	@echo '  spi                    - spi tools'
> @@ -59,7 +60,7 @@ acpi: FORCE
>  cpupower: FORCE
>  	$(call descend,power/$@)
>  
> -cgroup firewire hv guest spi usb virtio vm bpf iio gpio objtool leds wmi: FORCE
> +cgroup firewire hv guest spi usb virtio vm bpf iio gpio objtool leds wmi pci: FORCE
>  	$(call descend,$@)
>  
>  liblockdep: FORCE
> @@ -94,7 +95,7 @@ kvm_stat: FORCE
>  all: acpi cgroup cpupower gpio hv firewire liblockdep \
>  		perf selftests spi turbostat usb \
>  		virtio vm bpf x86_energy_perf_policy \
> -		tmon freefall iio objtool kvm_stat wmi
> +		tmon freefall iio objtool kvm_stat wmi pci
>  
>  acpi_install:
>  	$(call descend,power/$(@:_install=),install)
> @@ -102,7 +103,7 @@ acpi_install:
>  cpupower_install:
>  	$(call descend,power/$(@:_install=),install)
>  
> -cgroup_install firewire_install gpio_install hv_install iio_install perf_install spi_install usb_install virtio_install vm_install bpf_install objtool_install wmi_install:
> +cgroup_install firewire_install gpio_install hv_install iio_install perf_install spi_install usb_install virtio_install vm_install bpf_install objtool_install wmi_install pci_install:
>  	$(call descend,$(@:_install=),install)
>  
>  liblockdep_install:
> @@ -128,7 +129,7 @@ install: acpi_install cgroup_install cpupower_install gpio_install \
>  		perf_install selftests_install turbostat_install usb_install \
>  		virtio_install vm_install bpf_install x86_energy_perf_policy_install \
>  		tmon_install freefall_install objtool_install kvm_stat_install \
> -		wmi_install
> +		wmi_install pci_install
>  
>  acpi_clean:
>  	$(call descend,power/acpi,clean)
> @@ -136,7 +137,7 @@ acpi_clean:
>  cpupower_clean:
>  	$(call descend,power/cpupower,clean)
>  
> -cgroup_clean hv_clean firewire_clean spi_clean usb_clean virtio_clean vm_clean wmi_clean bpf_clean iio_clean gpio_clean objtool_clean leds_clean:
> +cgroup_clean hv_clean firewire_clean spi_clean usb_clean virtio_clean vm_clean wmi_clean bpf_clean iio_clean gpio_clean objtool_clean leds_clean pci_clean:
>  	$(call descend,$(@:_clean=),clean)
>  
>  liblockdep_clean:
> @@ -174,6 +175,6 @@ clean: acpi_clean cgroup_clean cpupower_clean hv_clean firewire_clean \
>  		perf_clean selftests_clean turbostat_clean spi_clean usb_clean virtio_clean \
>  		vm_clean bpf_clean iio_clean x86_energy_perf_policy_clean tmon_clean \
>  		freefall_clean build_clean libbpf_clean libsubcmd_clean liblockdep_clean \
> -		gpio_clean objtool_clean leds_clean wmi_clean
> +		gpio_clean objtool_clean leds_clean wmi_clean pci_clean
>  
>  .PHONY: FORCE
> diff --git a/tools/pci/Build b/tools/pci/Build
> new file mode 100644
> index 0000000..c375aea
> --- /dev/null
> +++ b/tools/pci/Build
> @@ -0,0 +1 @@
> +pcitest-y += pcitest.o
> diff --git a/tools/pci/Makefile b/tools/pci/Makefile
> new file mode 100644
> index 0000000..46e4c2f
> --- /dev/null
> +++ b/tools/pci/Makefile
> @@ -0,0 +1,53 @@
> +# SPDX-License-Identifier: GPL-2.0
> +include ../scripts/Makefile.include
> +
> +bindir ?= /usr/bin
> +
> +ifeq ($(srctree),)
> +srctree := $(patsubst %/,%,$(dir $(CURDIR)))
> +srctree := $(patsubst %/,%,$(dir $(srctree)))
> +endif
> +
> +# Do not use make's built-in rules
> +# (this improves performance and avoids hard-to-debug behaviour);
> +MAKEFLAGS += -r
> +
> +CFLAGS += -O2 -Wall -g -D_GNU_SOURCE -I$(OUTPUT)include
> +
> +ALL_TARGETS := pcitest pcitest.sh
> +ALL_PROGRAMS := $(patsubst %,$(OUTPUT)%,$(ALL_TARGETS))
> +
> +all: $(ALL_PROGRAMS)
> +
> +export srctree OUTPUT CC LD CFLAGS
> +include $(srctree)/tools/build/Makefile.include
> +
> +#
> +# We need the following to be outside of kernel tree
> +#
> +$(OUTPUT)include/linux/: ../../include/uapi/linux/
> +	mkdir -p $(OUTPUT)include/linux/ 2>&1 || true
> +	ln -sf $(CURDIR)/../../include/uapi/linux/pcitest.h $@
> +
> +prepare: $(OUTPUT)include/linux/
> +
> +PCITEST_IN := $(OUTPUT)pcitest-in.o
> +$(PCITEST_IN): prepare FORCE
> +	$(Q)$(MAKE) $(build)=pcitest
> +$(OUTPUT)pcitest: $(PCITEST_IN)
> +	$(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@
> +
> +clean:
> +	rm -f $(ALL_PROGRAMS)
> +	rm -rf $(OUTPUT)include/
> +	find $(if $(OUTPUT),$(OUTPUT),.) -name '*.o' -delete -o -name '\.*.d' -delete
> +
> +install: $(ALL_PROGRAMS)
> +	install -d -m 755 $(DESTDIR)$(bindir);		\
> +	for program in $(ALL_PROGRAMS); do		\
> +		install $$program $(DESTDIR)$(bindir);	\
> +	done
> +
> +FORCE:
> +
> +.PHONY: all install clean FORCE prepare
> -- 
> 2.7.4
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-10-03 10:44 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-23 11:55 [PATCH] tools/pci: Change pcitest compiling process Gustavo Pimentel
2018-10-03  8:56 ` Kishon Vijay Abraham I
2018-10-03 10:44 ` Lorenzo Pieralisi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).