| 
									
										
										
										
											2016-06-19 23:41:11 +03:00
										 |  |  | include ../scripts/Makefile.include | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ifeq ($(srctree),) | 
					
						
							|  |  |  | srctree := $(patsubst %/,%,$(dir $(shell pwd))) | 
					
						
							|  |  |  | srctree := $(patsubst %/,%,$(dir $(srctree))) | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Do not use make's built-in rules
 | 
					
						
							|  |  |  | # (this improves performance and avoids hard-to-debug behaviour);
 | 
					
						
							|  |  |  | MAKEFLAGS += -r | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-10-21 15:45:54 +02:00
										 |  |  | CC = $(CROSS_COMPILE)gcc | 
					
						
							| 
									
										
										
										
											2016-06-19 23:41:11 +03:00
										 |  |  | LD = $(CROSS_COMPILE)ld | 
					
						
							|  |  |  | 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) | 
					
						
							| 
									
										
										
										
											2015-10-21 15:45:54 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-19 23:41:11 +03:00
										 |  |  | export srctree OUTPUT CC LD CFLAGS | 
					
						
							|  |  |  | include $(srctree)/tools/build/Makefile.include | 
					
						
							| 
									
										
										
										
											2015-10-21 15:45:54 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-19 23:41:11 +03:00
										 |  |  | #
 | 
					
						
							|  |  |  | # 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 $@ | 
					
						
							| 
									
										
										
										
											2015-10-21 15:45:54 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-19 23:41:11 +03:00
										 |  |  | 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 $@ | 
					
						
							| 
									
										
										
										
											2015-10-21 15:45:54 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | clean: | 
					
						
							| 
									
										
										
										
											2016-06-19 23:41:11 +03:00
										 |  |  | 	rm -f $(ALL_PROGRAMS) | 
					
						
							|  |  |  | 	rm -f $(OUTPUT)include/linux/gpio.h | 
					
						
							|  |  |  | 	find $(if $(OUTPUT),$(OUTPUT),.) -name '*.o' -delete -o -name '\.*.d' -delete | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | FORCE: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .PHONY: all clean FORCE prepare |