xref: /linux-6.15/tools/lib/subcmd/Makefile (revision 4b6ab94e)
1*4b6ab94eSJosh Poimboeufinclude ../../scripts/Makefile.include
2*4b6ab94eSJosh Poimboeufinclude ../../perf/config/utilities.mak		# QUIET_CLEAN
3*4b6ab94eSJosh Poimboeuf
4*4b6ab94eSJosh Poimboeufifeq ($(srctree),)
5*4b6ab94eSJosh Poimboeufsrctree := $(patsubst %/,%,$(dir $(shell pwd)))
6*4b6ab94eSJosh Poimboeufsrctree := $(patsubst %/,%,$(dir $(srctree)))
7*4b6ab94eSJosh Poimboeufsrctree := $(patsubst %/,%,$(dir $(srctree)))
8*4b6ab94eSJosh Poimboeuf#$(info Determined 'srctree' to be $(srctree))
9*4b6ab94eSJosh Poimboeufendif
10*4b6ab94eSJosh Poimboeuf
11*4b6ab94eSJosh PoimboeufCC = $(CROSS_COMPILE)gcc
12*4b6ab94eSJosh PoimboeufAR = $(CROSS_COMPILE)ar
13*4b6ab94eSJosh PoimboeufRM = rm -f
14*4b6ab94eSJosh Poimboeuf
15*4b6ab94eSJosh PoimboeufMAKEFLAGS += --no-print-directory
16*4b6ab94eSJosh Poimboeuf
17*4b6ab94eSJosh PoimboeufLIBFILE = $(OUTPUT)libsubcmd.a
18*4b6ab94eSJosh Poimboeuf
19*4b6ab94eSJosh PoimboeufCFLAGS := $(EXTRA_WARNINGS) $(EXTRA_CFLAGS)
20*4b6ab94eSJosh PoimboeufCFLAGS += -ggdb3 -Wall -Wextra -std=gnu99 -Werror -O6 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fPIC
21*4b6ab94eSJosh PoimboeufCFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
22*4b6ab94eSJosh Poimboeuf
23*4b6ab94eSJosh PoimboeufCFLAGS += -I$(srctree)/tools/include/
24*4b6ab94eSJosh PoimboeufCFLAGS += -I$(srctree)/include/uapi
25*4b6ab94eSJosh PoimboeufCFLAGS += -I$(srctree)/include
26*4b6ab94eSJosh Poimboeuf
27*4b6ab94eSJosh PoimboeufSUBCMD_IN := $(OUTPUT)libsubcmd-in.o
28*4b6ab94eSJosh Poimboeuf
29*4b6ab94eSJosh Poimboeufall:
30*4b6ab94eSJosh Poimboeuf
31*4b6ab94eSJosh Poimboeufexport srctree OUTPUT CC LD CFLAGS V
32*4b6ab94eSJosh Poimboeufinclude $(srctree)/tools/build/Makefile.include
33*4b6ab94eSJosh Poimboeuf
34*4b6ab94eSJosh Poimboeufall: fixdep $(LIBFILE)
35*4b6ab94eSJosh Poimboeuf
36*4b6ab94eSJosh Poimboeuf$(SUBCMD_IN): FORCE
37*4b6ab94eSJosh Poimboeuf	@$(MAKE) $(build)=libsubcmd
38*4b6ab94eSJosh Poimboeuf
39*4b6ab94eSJosh Poimboeuf$(LIBFILE): $(SUBCMD_IN)
40*4b6ab94eSJosh Poimboeuf	$(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $(SUBCMD_IN)
41*4b6ab94eSJosh Poimboeuf
42*4b6ab94eSJosh Poimboeufclean:
43*4b6ab94eSJosh Poimboeuf	$(call QUIET_CLEAN, libsubcmd) $(RM) $(LIBFILE); \
44*4b6ab94eSJosh Poimboeuf	find $(if $(OUTPUT),$(OUTPUT),.) -name \*.o -or -name \*.o.cmd -or -name \*.o.d | xargs $(RM)
45*4b6ab94eSJosh Poimboeuf
46*4b6ab94eSJosh PoimboeufFORCE:
47*4b6ab94eSJosh Poimboeuf
48*4b6ab94eSJosh Poimboeuf.PHONY: clean FORCE
49