xref: /linux-6.15/tools/lib/api/Makefile (revision 58b79186)
1553873e1SBorislav Petkovinclude ../../scripts/Makefile.include
2ca70c24fSArnaldo Carvalho de Meloinclude ../../scripts/utilities.mak		# QUIET_CLEAN
3553873e1SBorislav Petkov
4b4f91668SJiri Olsaifeq ($(srctree),)
5e19b7ceeSUwe Kleine-Königsrctree := $(patsubst %/,%,$(dir $(CURDIR)))
6b4f91668SJiri Olsasrctree := $(patsubst %/,%,$(dir $(srctree)))
7b4f91668SJiri Olsasrctree := $(patsubst %/,%,$(dir $(srctree)))
8b4f91668SJiri Olsa#$(info Determined 'srctree' to be $(srctree))
9b4f91668SJiri Olsaendif
10b4f91668SJiri Olsa
1112024aacSDavid Carrillo-CisnerosCC ?= $(CROSS_COMPILE)gcc
1212024aacSDavid Carrillo-CisnerosAR ?= $(CROSS_COMPILE)ar
1312024aacSDavid Carrillo-CisnerosLD ?= $(CROSS_COMPILE)ld
14553873e1SBorislav Petkov
15b4f91668SJiri OlsaMAKEFLAGS += --no-print-directory
16553873e1SBorislav Petkov
17285a8f24SJiri OlsaLIBFILE = $(OUTPUT)libapi.a
18553873e1SBorislav Petkov
19b4f91668SJiri OlsaCFLAGS := $(EXTRA_WARNINGS) $(EXTRA_CFLAGS)
20*58b79186SJiri OlsaCFLAGS += -ggdb3 -Wall -Wextra -std=gnu99 -U_FORTIFY_SOURCE -fPIC
2149b3cd30SArnaldo Carvalho de Melo
22*58b79186SJiri Olsaifeq ($(DEBUG),0)
233866058eSDavid Carrillo-Cisnerosifeq ($(CC_NO_CLANG), 0)
2449b3cd30SArnaldo Carvalho de Melo  CFLAGS += -O3
2549b3cd30SArnaldo Carvalho de Meloelse
2649b3cd30SArnaldo Carvalho de Melo  CFLAGS += -O6
2749b3cd30SArnaldo Carvalho de Meloendif
28*58b79186SJiri Olsaendif
29*58b79186SJiri Olsa
30*58b79186SJiri Olsaifeq ($(DEBUG),0)
31*58b79186SJiri Olsa  CFLAGS += -D_FORTIFY_SOURCE
32*58b79186SJiri Olsaendif
33b983d544SChris Phlipot
34b983d544SChris Phlipot# Treat warnings as errors unless directed not to
35b983d544SChris Phlipotifneq ($(WERROR),0)
36b983d544SChris Phlipot  CFLAGS += -Werror
37b983d544SChris Phlipotendif
38b983d544SChris Phlipot
39b4f91668SJiri OlsaCFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
40975f14faSJiri OlsaCFLAGS += -I$(srctree)/tools/lib/api
41b31e3e33SArnaldo Carvalho de MeloCFLAGS += -I$(srctree)/tools/include
42553873e1SBorislav Petkov
43553873e1SBorislav PetkovRM = rm -f
44553873e1SBorislav Petkov
45285a8f24SJiri OlsaAPI_IN := $(OUTPUT)libapi-in.o
46553873e1SBorislav Petkov
477c422f55SJiri Olsaall:
487c422f55SJiri Olsa
49b4f91668SJiri Olsaexport srctree OUTPUT CC LD CFLAGS V
50ab6201d0SJiri Olsainclude $(srctree)/tools/build/Makefile.include
51553873e1SBorislav Petkov
527c422f55SJiri Olsaall: fixdep $(LIBFILE)
53553873e1SBorislav Petkov
54b4f91668SJiri Olsa$(API_IN): FORCE
55285a8f24SJiri Olsa	@$(MAKE) $(build)=libapi
56b4f91668SJiri Olsa
57b4f91668SJiri Olsa$(LIBFILE): $(API_IN)
58b4f91668SJiri Olsa	$(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $(API_IN)
59553873e1SBorislav Petkov
60553873e1SBorislav Petkovclean:
61285a8f24SJiri Olsa	$(call QUIET_CLEAN, libapi) $(RM) $(LIBFILE); \
62c867b150SRiku Voipio	find $(if $(OUTPUT),$(OUTPUT),.) -name \*.o -or -name \*.o.cmd -or -name \*.o.d | xargs $(RM)
63553873e1SBorislav Petkov
64b4f91668SJiri OlsaFORCE:
65b4f91668SJiri Olsa
66b4f91668SJiri Olsa.PHONY: clean FORCE
67