2017-07-26 12:59:29 +03:00
i n c l u d e . . / s c r i p t s / M a k e f i l e . i n c l u d e
2017-07-26 12:59:30 +03:00
bindir ?= /usr/bin
2017-07-26 12:59:29 +03:00
i f e q ( $( srctree ) , )
srctree := $( patsubst %/,%,$( dir $( CURDIR) ) )
srctree := $( patsubst %/,%,$( dir $( srctree) ) )
e n d i f
# Do not use make's built-in rules
# (this improves performance and avoids hard-to-debug behaviour);
MAKEFLAGS += -r
2016-09-07 18:43:00 +03:00
CC = $( CROSS_COMPILE) gcc
2017-07-26 12:59:29 +03:00
LD = $( CROSS_COMPILE) ld
CFLAGS += -O2 -Wall -g -D_GNU_SOURCE -I$( OUTPUT) include
ALL_TARGETS := spidev_test spidev_fdx
ALL_PROGRAMS := $( patsubst %,$( OUTPUT) %,$( ALL_TARGETS) )
all : $( ALL_PROGRAMS )
export srctree OUTPUT CC LD CFLAGS
i n c l u d e $( srctree ) / t o o l s / b u i l d / M a k e f i l e . i n c l u d e
2016-09-07 18:43:00 +03:00
2017-07-26 12:59:29 +03:00
#
# We need the following to be outside of kernel tree
#
$(OUTPUT)include/linux/spi/spidev.h : ../../include /uapi /linux /spi /spidev .h
mkdir -p $( OUTPUT) include/linux/spi 2>& 1 || true
ln -sf $( CURDIR) /../../include/uapi/linux/spi/spidev.h $@
prepare : $( OUTPUT ) include /linux /spi /spidev .h
#
# spidev_test
#
SPIDEV_TEST_IN := $( OUTPUT) spidev_test-in.o
$(SPIDEV_TEST_IN) : prepare FORCE
$( Q) $( MAKE) $( build) = spidev_test
$(OUTPUT)spidev_test : $( SPIDEV_TEST_IN )
$( QUIET_LINK) $( CC) $( CFLAGS) $( LDFLAGS) $< -o $@
#
# spidev_fdx
#
SPIDEV_FDX_IN := $( OUTPUT) spidev_fdx-in.o
$(SPIDEV_FDX_IN) : prepare FORCE
$( Q) $( MAKE) $( build) = spidev_fdx
$(OUTPUT)spidev_fdx : $( SPIDEV_FDX_IN )
$( QUIET_LINK) $( CC) $( CFLAGS) $( LDFLAGS) $< -o $@
2015-11-19 01:30:37 +03:00
clean :
2017-07-26 12:59:29 +03:00
rm -f $( ALL_PROGRAMS)
rm -f $( OUTPUT) include/linux/spi/spidev.h
find $( if $( OUTPUT) ,$( OUTPUT) ,.) -name '*.o' -delete -o -name '\.*.d' -delete
2017-07-26 12:59:30 +03:00
install : $( ALL_PROGRAMS )
install -d -m 755 $( DESTDIR) $( bindir) ; \
for program in $( ALL_PROGRAMS) ; do \
install $$ program $( DESTDIR) $( bindir) ; \
done
2017-07-26 12:59:29 +03:00
FORCE :
2017-07-26 12:59:30 +03:00
.PHONY : all install clean FORCE prepare