|
| 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 | 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 | 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 |
0 commit comments