diff options
| -rw-r--r-- | tools/spi/Build | 2 | ||||
| -rw-r--r-- | tools/spi/Makefile | 56 |
2 files changed, 56 insertions, 2 deletions
diff --git a/tools/spi/Build b/tools/spi/Build new file mode 100644 index 000000000000..8e8466033d99 --- /dev/null +++ b/tools/spi/Build | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | spidev_test-y += spidev_test.o | ||
| 2 | spidev_fdx-y += spidev_fdx.o | ||
diff --git a/tools/spi/Makefile b/tools/spi/Makefile index 3815b18ba070..aa9517260715 100644 --- a/tools/spi/Makefile +++ b/tools/spi/Makefile | |||
| @@ -1,6 +1,58 @@ | |||
| 1 | include ../scripts/Makefile.include | ||
| 2 | |||
| 3 | ifeq ($(srctree),) | ||
| 4 | srctree := $(patsubst %/,%,$(dir $(CURDIR))) | ||
| 5 | srctree := $(patsubst %/,%,$(dir $(srctree))) | ||
| 6 | endif | ||
| 7 | |||
| 8 | # Do not use make's built-in rules | ||
| 9 | # (this improves performance and avoids hard-to-debug behaviour); | ||
| 10 | MAKEFLAGS += -r | ||
| 11 | |||
| 1 | CC = $(CROSS_COMPILE)gcc | 12 | CC = $(CROSS_COMPILE)gcc |
| 13 | LD = $(CROSS_COMPILE)ld | ||
| 14 | CFLAGS += -O2 -Wall -g -D_GNU_SOURCE -I$(OUTPUT)include | ||
| 15 | |||
| 16 | ALL_TARGETS := spidev_test spidev_fdx | ||
| 17 | ALL_PROGRAMS := $(patsubst %,$(OUTPUT)%,$(ALL_TARGETS)) | ||
| 18 | |||
| 19 | all: $(ALL_PROGRAMS) | ||
| 20 | |||
| 21 | export srctree OUTPUT CC LD CFLAGS | ||
| 22 | include $(srctree)/tools/build/Makefile.include | ||
| 2 | 23 | ||
| 3 | all: spidev_test spidev_fdx | 24 | # |
| 25 | # We need the following to be outside of kernel tree | ||
| 26 | # | ||
| 27 | $(OUTPUT)include/linux/spi/spidev.h: ../../include/uapi/linux/spi/spidev.h | ||
| 28 | mkdir -p $(OUTPUT)include/linux/spi 2>&1 || true | ||
| 29 | ln -sf $(CURDIR)/../../include/uapi/linux/spi/spidev.h $@ | ||
| 30 | |||
| 31 | prepare: $(OUTPUT)include/linux/spi/spidev.h | ||
| 32 | |||
| 33 | # | ||
| 34 | # spidev_test | ||
| 35 | # | ||
| 36 | SPIDEV_TEST_IN := $(OUTPUT)spidev_test-in.o | ||
| 37 | $(SPIDEV_TEST_IN): prepare FORCE | ||
| 38 | $(Q)$(MAKE) $(build)=spidev_test | ||
| 39 | $(OUTPUT)spidev_test: $(SPIDEV_TEST_IN) | ||
| 40 | $(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ | ||
| 41 | |||
| 42 | # | ||
| 43 | # spidev_fdx | ||
| 44 | # | ||
| 45 | SPIDEV_FDX_IN := $(OUTPUT)spidev_fdx-in.o | ||
| 46 | $(SPIDEV_FDX_IN): prepare FORCE | ||
| 47 | $(Q)$(MAKE) $(build)=spidev_fdx | ||
| 48 | $(OUTPUT)spidev_fdx: $(SPIDEV_FDX_IN) | ||
| 49 | $(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ | ||
| 4 | 50 | ||
| 5 | clean: | 51 | clean: |
| 6 | $(RM) spidev_test spidev_fdx | 52 | rm -f $(ALL_PROGRAMS) |
| 53 | rm -f $(OUTPUT)include/linux/spi/spidev.h | ||
| 54 | find $(if $(OUTPUT),$(OUTPUT),.) -name '*.o' -delete -o -name '\.*.d' -delete | ||
| 55 | |||
| 56 | FORCE: | ||
| 57 | |||
| 58 | .PHONY: all clean FORCE prepare | ||
