xref: /openbmc/linux/tools/counter/Makefile (revision aead7812)
108609989SWilliam Breathitt Gray# SPDX-License-Identifier: GPL-2.0
208609989SWilliam Breathitt Grayinclude ../scripts/Makefile.include
308609989SWilliam Breathitt Gray
408609989SWilliam Breathitt Graybindir ?= /usr/bin
508609989SWilliam Breathitt Gray
608609989SWilliam Breathitt Grayifeq ($(srctree),)
708609989SWilliam Breathitt Graysrctree := $(patsubst %/,%,$(dir $(CURDIR)))
808609989SWilliam Breathitt Graysrctree := $(patsubst %/,%,$(dir $(srctree)))
908609989SWilliam Breathitt Grayendif
1008609989SWilliam Breathitt Gray
1108609989SWilliam Breathitt Gray# Do not use make's built-in rules
1208609989SWilliam Breathitt Gray# (this improves performance and avoids hard-to-debug behaviour);
1308609989SWilliam Breathitt GrayMAKEFLAGS += -r
1408609989SWilliam Breathitt Gray
1508609989SWilliam Breathitt Grayoverride CFLAGS += -O2 -Wall -g -D_GNU_SOURCE -I$(OUTPUT)include
1608609989SWilliam Breathitt Gray
1708609989SWilliam Breathitt GrayALL_TARGETS := counter_example
1808609989SWilliam Breathitt GrayALL_PROGRAMS := $(patsubst %,$(OUTPUT)%,$(ALL_TARGETS))
1908609989SWilliam Breathitt Gray
2008609989SWilliam Breathitt Grayall: $(ALL_PROGRAMS)
2108609989SWilliam Breathitt Gray
2208609989SWilliam Breathitt Grayexport srctree OUTPUT CC LD CFLAGS
2308609989SWilliam Breathitt Grayinclude $(srctree)/tools/build/Makefile.include
2408609989SWilliam Breathitt Gray
2508609989SWilliam Breathitt Gray#
2608609989SWilliam Breathitt Gray# We need the following to be outside of kernel tree
2708609989SWilliam Breathitt Gray#
2808609989SWilliam Breathitt Gray$(OUTPUT)include/linux/counter.h: ../../include/uapi/linux/counter.h
2908609989SWilliam Breathitt Gray	mkdir -p $(OUTPUT)include/linux 2>&1 || true
3008609989SWilliam Breathitt Gray	ln -sf $(CURDIR)/../../include/uapi/linux/counter.h $@
3108609989SWilliam Breathitt Gray
3208609989SWilliam Breathitt Grayprepare: $(OUTPUT)include/linux/counter.h
3308609989SWilliam Breathitt Gray
3408609989SWilliam Breathitt GrayCOUNTER_EXAMPLE := $(OUTPUT)counter_example.o
3508609989SWilliam Breathitt Gray$(COUNTER_EXAMPLE): prepare FORCE
3608609989SWilliam Breathitt Gray	$(Q)$(MAKE) $(build)=counter_example
3708609989SWilliam Breathitt Gray$(OUTPUT)counter_example: $(COUNTER_EXAMPLE)
3808609989SWilliam Breathitt Gray	$(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@
3908609989SWilliam Breathitt Gray
4008609989SWilliam Breathitt Grayclean:
4108609989SWilliam Breathitt Gray	rm -f $(ALL_PROGRAMS)
4208609989SWilliam Breathitt Gray	rm -rf $(OUTPUT)include/linux/counter.h
43*aead7812SAnh Tuan Phan	rm -df $(OUTPUT)include/linux
44*aead7812SAnh Tuan Phan	rm -df $(OUTPUT)include
455c816641SMasahiro Yamada	find $(or $(OUTPUT),.) -name '*.o' -delete -o -name '\.*.d' -delete
4608609989SWilliam Breathitt Gray
4708609989SWilliam Breathitt Grayinstall: $(ALL_PROGRAMS)
4808609989SWilliam Breathitt Gray	install -d -m 755 $(DESTDIR)$(bindir);		\
4908609989SWilliam Breathitt Gray	for program in $(ALL_PROGRAMS); do		\
5008609989SWilliam Breathitt Gray		install $$program $(DESTDIR)$(bindir);	\
5108609989SWilliam Breathitt Gray	done
5208609989SWilliam Breathitt Gray
5308609989SWilliam Breathitt GrayFORCE:
5408609989SWilliam Breathitt Gray
5508609989SWilliam Breathitt Gray.PHONY: all install clean FORCE prepare
56