Blame view

tools/gpio/Makefile 1.81 KB
b24413180   Greg Kroah-Hartman   License cleanup: ...
1
  # SPDX-License-Identifier: GPL-2.0
8674cea84   Andy Shevchenko   tools/gpio: move ...
2
  include ../scripts/Makefile.include
534991092   Andy Shevchenko   tools/gpio: add i...
3
  bindir ?= /usr/bin
8674cea84   Andy Shevchenko   tools/gpio: move ...
4
  ifeq ($(srctree),)
e19b7cee0   Uwe Kleine-König   make use of make ...
5
  srctree := $(patsubst %/,%,$(dir $(CURDIR)))
8674cea84   Andy Shevchenko   tools/gpio: move ...
6
7
8
9
10
11
  srctree := $(patsubst %/,%,$(dir $(srctree)))
  endif
  
  # Do not use make's built-in rules
  # (this improves performance and avoids hard-to-debug behaviour);
  MAKEFLAGS += -r
8674cea84   Andy Shevchenko   tools/gpio: move ...
12
13
14
15
16
17
  CFLAGS += -O2 -Wall -g -D_GNU_SOURCE -I$(OUTPUT)include
  
  ALL_TARGETS := lsgpio gpio-hammer gpio-event-mon
  ALL_PROGRAMS := $(patsubst %,$(OUTPUT)%,$(ALL_TARGETS))
  
  all: $(ALL_PROGRAMS)
6d591c46b   Linus Walleij   tools/gpio: creat...
18

8674cea84   Andy Shevchenko   tools/gpio: move ...
19
20
  export srctree OUTPUT CC LD CFLAGS
  include $(srctree)/tools/build/Makefile.include
6d591c46b   Linus Walleij   tools/gpio: creat...
21

8674cea84   Andy Shevchenko   tools/gpio: move ...
22
23
24
25
26
27
  #
  # We need the following to be outside of kernel tree
  #
  $(OUTPUT)include/linux/gpio.h: ../../include/uapi/linux/gpio.h
  	mkdir -p $(OUTPUT)include/linux 2>&1 || true
  	ln -sf $(CURDIR)/../../include/uapi/linux/gpio.h $@
6d591c46b   Linus Walleij   tools/gpio: creat...
28

8674cea84   Andy Shevchenko   tools/gpio: move ...
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
  prepare: $(OUTPUT)include/linux/gpio.h
  
  #
  # lsgpio
  #
  LSGPIO_IN := $(OUTPUT)lsgpio-in.o
  $(LSGPIO_IN): prepare FORCE
  	$(Q)$(MAKE) $(build)=lsgpio
  $(OUTPUT)lsgpio: $(LSGPIO_IN)
  	$(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@
  
  #
  # gpio-hammer
  #
  GPIO_HAMMER_IN := $(OUTPUT)gpio-hammer-in.o
  $(GPIO_HAMMER_IN): prepare FORCE
  	$(Q)$(MAKE) $(build)=gpio-hammer
  $(OUTPUT)gpio-hammer: $(GPIO_HAMMER_IN)
  	$(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@
  
  #
  # gpio-event-mon
  #
  GPIO_EVENT_MON_IN := $(OUTPUT)gpio-event-mon-in.o
  $(GPIO_EVENT_MON_IN): prepare FORCE
  	$(Q)$(MAKE) $(build)=gpio-event-mon
  $(OUTPUT)gpio-event-mon: $(GPIO_EVENT_MON_IN)
  	$(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@
6d591c46b   Linus Walleij   tools/gpio: creat...
57

6d591c46b   Linus Walleij   tools/gpio: creat...
58
  clean:
8674cea84   Andy Shevchenko   tools/gpio: move ...
59
60
61
  	rm -f $(ALL_PROGRAMS)
  	rm -f $(OUTPUT)include/linux/gpio.h
  	find $(if $(OUTPUT),$(OUTPUT),.) -name '*.o' -delete -o -name '\.*.d' -delete
534991092   Andy Shevchenko   tools/gpio: add i...
62
63
64
65
66
  install: $(ALL_PROGRAMS)
  	install -d -m 755 $(DESTDIR)$(bindir);		\
  	for program in $(ALL_PROGRAMS); do		\
  		install $$program $(DESTDIR)$(bindir);	\
  	done
8674cea84   Andy Shevchenko   tools/gpio: move ...
67
  FORCE:
534991092   Andy Shevchenko   tools/gpio: add i...
68
  .PHONY: all install clean FORCE prepare