brintos

brintos / linux-shallow public Read only

0
0
Text · 1.7 KiB · 7fccd24 Raw
69 lines · plain
1# SPDX-License-Identifier: GPL-2.0-only2include ../scripts/Makefile.include3 4bindir ?= /usr/bin5 6ifeq ($(srctree),)7srctree := $(patsubst %/,%,$(dir $(CURDIR)))8srctree := $(patsubst %/,%,$(dir $(srctree)))9endif10 11# Do not use make's built-in rules12# (this improves performance and avoids hard-to-debug behaviour);13MAKEFLAGS += -r14 15CFLAGS += -O2 -Wall -g -D_GNU_SOURCE -I$(OUTPUT)include16 17ALL_TARGETS := spidev_test spidev_fdx18ALL_PROGRAMS := $(patsubst %,$(OUTPUT)%,$(ALL_TARGETS))19 20all: $(ALL_PROGRAMS)21 22export srctree OUTPUT CC LD CFLAGS23include $(srctree)/tools/build/Makefile.include24 25#26# We need the following to be outside of kernel tree27#28$(OUTPUT)include/linux/spi: ../../include/uapi/linux/spi29	mkdir -p $(OUTPUT)include/linux/spi 2>&1 || true30	ln -sf $(CURDIR)/../../include/uapi/linux/spi/spidev.h $@31	ln -sf $(CURDIR)/../../include/uapi/linux/spi/spi.h $@32 33prepare: $(OUTPUT)include/linux/spi34 35#36# spidev_test37#38SPIDEV_TEST_IN := $(OUTPUT)spidev_test-in.o39$(SPIDEV_TEST_IN): prepare FORCE40	$(Q)$(MAKE) $(build)=spidev_test41$(OUTPUT)spidev_test: $(SPIDEV_TEST_IN)42	$(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@43 44#45# spidev_fdx46#47SPIDEV_FDX_IN := $(OUTPUT)spidev_fdx-in.o48$(SPIDEV_FDX_IN): prepare FORCE49	$(Q)$(MAKE) $(build)=spidev_fdx50$(OUTPUT)spidev_fdx: $(SPIDEV_FDX_IN)51	$(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@52 53clean:54	rm -f $(ALL_PROGRAMS)55	rm -rf $(OUTPUT)include/56	find $(or $(OUTPUT),.) -name '*.o' -delete57	find $(or $(OUTPUT),.) -name '\.*.o.d' -delete58	find $(or $(OUTPUT),.) -name '\.*.o.cmd' -delete59 60install: $(ALL_PROGRAMS)61	install -d -m 755 $(DESTDIR)$(bindir);		\62	for program in $(ALL_PROGRAMS); do		\63		install $$program $(DESTDIR)$(bindir);	\64	done65 66FORCE:67 68.PHONY: all install clean FORCE prepare69