2017-07-29 03:36:04 +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
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
2015-05-05 10:42:12 +02:00
CC = $( CROSS_COMPILE) gcc
2017-07-29 03:36:04 +03:00
LD = $( CROSS_COMPILE) ld
CFLAGS += -O2 -Wall -g -D_GNU_SOURCE -I$( OUTPUT) include
2015-02-26 10:49:25 +02:00
2017-07-29 03:36:04 +03:00
ALL_TARGETS := iio_event_monitor lsiio iio_generic_buffer
ALL_PROGRAMS := $( patsubst %,$( OUTPUT) %,$( ALL_TARGETS) )
2016-05-25 14:31:13 +01:00
2017-07-29 03:36:04 +03:00
all : $( ALL_PROGRAMS )
2015-02-26 10:49:25 +02:00
2017-07-29 03:36:04 +03:00
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
2015-02-26 10:49:25 +02:00
2017-07-29 03:36:04 +03:00
#
# We need the following to be outside of kernel tree
#
$(OUTPUT)include/linux/iio : ../../include /uapi /linux /iio
mkdir -p $( OUTPUT) include/linux/iio 2>& 1 || true
ln -sf $( CURDIR) /../../include/uapi/linux/iio/events.h $@
ln -sf $( CURDIR) /../../include/uapi/linux/iio/types.h $@
2015-02-26 10:49:25 +02:00
2017-07-29 03:36:04 +03:00
prepare : $( OUTPUT ) include /linux /iio
2015-02-26 10:49:25 +02:00
2017-07-29 03:36:04 +03:00
LSIIO_IN := $( OUTPUT) lsiio-in.o
$(LSIIO_IN) : prepare FORCE
$( Q) $( MAKE) $( build) = lsiio
$(OUTPUT)lsiio : $( LSIIO_IN )
$( QUIET_LINK) $( CC) $( CFLAGS) $( LDFLAGS) $< -o $@
2015-02-26 10:49:25 +02:00
2017-07-29 03:36:04 +03:00
IIO_EVENT_MONITOR_IN := $( OUTPUT) iio_event_monitor-in.o
$(IIO_EVENT_MONITOR_IN) : prepare FORCE
$( Q) $( MAKE) $( build) = iio_event_monitor
$(OUTPUT)iio_event_monitor : $( IIO_EVENT_MONITOR_IN )
$( QUIET_LINK) $( CC) $( CFLAGS) $( LDFLAGS) $< -o $@
2016-05-25 14:31:13 +01:00
2017-07-29 03:36:04 +03:00
IIO_GENERIC_BUFFER_IN := $( OUTPUT) iio_generic_buffer-in.o
$(IIO_GENERIC_BUFFER_IN) : prepare FORCE
$( Q) $( MAKE) $( build) = iio_generic_buffer
$(OUTPUT)iio_generic_buffer : $( IIO_GENERIC_BUFFER_IN )
$( QUIET_LINK) $( CC) $( CFLAGS) $( LDFLAGS) $< -o $@
2016-05-25 14:31:13 +01:00
2015-02-26 10:49:25 +02:00
clean :
2017-07-29 03:36:04 +03:00
rm -f $( ALL_PROGRAMS)
rm -rf $( OUTPUT) include/linux/iio
find $( if $( OUTPUT) ,$( OUTPUT) ,.) -name '*.o' -delete -o -name '\.*.d' -delete
FORCE :
.PHONY : all clean FORCE prepare