Merge tag 'media/v4.16-4' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab...
[sfrench/cifs-2.6.git] / tools / spi / Makefile
1 include ../scripts/Makefile.include
2
3 bindir ?= /usr/bin
4
5 ifeq ($(srctree),)
6 srctree := $(patsubst %/,%,$(dir $(CURDIR)))
7 srctree := $(patsubst %/,%,$(dir $(srctree)))
8 endif
9
10 # Do not use make's built-in rules
11 # (this improves performance and avoids hard-to-debug behaviour);
12 MAKEFLAGS += -r
13
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
23
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 $@
50
51 clean:
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 install: $(ALL_PROGRAMS)
57         install -d -m 755 $(DESTDIR)$(bindir);          \
58         for program in $(ALL_PROGRAMS); do              \
59                 install $$program $(DESTDIR)$(bindir);  \
60         done
61
62 FORCE:
63
64 .PHONY: all install clean FORCE prepare