xref: /linux/tools/lib/api/Makefile (revision 49b3cd306e60b9d889c775cb2ebb709f80dd8ae9)
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
11553873e1SBorislav PetkovCC = $(CROSS_COMPILE)gcc
12553873e1SBorislav PetkovAR = $(CROSS_COMPILE)ar
13703e0165SLucas StachLD = $(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*49b3cd30SArnaldo Carvalho de MeloCFLAGS += -ggdb3 -Wall -Wextra -std=gnu99 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fPIC
21*49b3cd30SArnaldo Carvalho de Melo
22*49b3cd30SArnaldo Carvalho de Meloifeq ($(CC), clang)
23*49b3cd30SArnaldo Carvalho de Melo  CFLAGS += -O3
24*49b3cd30SArnaldo Carvalho de Meloelse
25*49b3cd30SArnaldo Carvalho de Melo  CFLAGS += -O6
26*49b3cd30SArnaldo Carvalho de Meloendif
27b983d544SChris Phlipot
28b983d544SChris Phlipot# Treat warnings as errors unless directed not to
29b983d544SChris Phlipotifneq ($(WERROR),0)
30b983d544SChris Phlipot  CFLAGS += -Werror
31b983d544SChris Phlipotendif
32b983d544SChris Phlipot
33b4f91668SJiri OlsaCFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
34975f14faSJiri OlsaCFLAGS += -I$(srctree)/tools/lib/api
35b31e3e33SArnaldo Carvalho de MeloCFLAGS += -I$(srctree)/tools/include
36553873e1SBorislav Petkov
37553873e1SBorislav PetkovRM = rm -f
38553873e1SBorislav Petkov
39285a8f24SJiri OlsaAPI_IN := $(OUTPUT)libapi-in.o
40553873e1SBorislav Petkov
417c422f55SJiri Olsaall:
427c422f55SJiri Olsa
43b4f91668SJiri Olsaexport srctree OUTPUT CC LD CFLAGS V
44ab6201d0SJiri Olsainclude $(srctree)/tools/build/Makefile.include
45553873e1SBorislav Petkov
467c422f55SJiri Olsaall: fixdep $(LIBFILE)
47553873e1SBorislav Petkov
48b4f91668SJiri Olsa$(API_IN): FORCE
49285a8f24SJiri Olsa	@$(MAKE) $(build)=libapi
50b4f91668SJiri Olsa
51b4f91668SJiri Olsa$(LIBFILE): $(API_IN)
52b4f91668SJiri Olsa	$(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $(API_IN)
53553873e1SBorislav Petkov
54553873e1SBorislav Petkovclean:
55285a8f24SJiri Olsa	$(call QUIET_CLEAN, libapi) $(RM) $(LIBFILE); \
56c867b150SRiku Voipio	find $(if $(OUTPUT),$(OUTPUT),.) -name \*.o -or -name \*.o.cmd -or -name \*.o.d | xargs $(RM)
57553873e1SBorislav Petkov
58b4f91668SJiri OlsaFORCE:
59b4f91668SJiri Olsa
60b4f91668SJiri Olsa.PHONY: clean FORCE
61