18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ciinclude ../../scripts/Makefile.include
38c2ecf20Sopenharmony_ciinclude ../../scripts/utilities.mak		# QUIET_CLEAN
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ciifeq ($(srctree),)
68c2ecf20Sopenharmony_cisrctree := $(patsubst %/,%,$(dir $(CURDIR)))
78c2ecf20Sopenharmony_cisrctree := $(patsubst %/,%,$(dir $(srctree)))
88c2ecf20Sopenharmony_cisrctree := $(patsubst %/,%,$(dir $(srctree)))
98c2ecf20Sopenharmony_ci#$(info Determined 'srctree' to be $(srctree))
108c2ecf20Sopenharmony_ciendif
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ciCC ?= $(CROSS_COMPILE)gcc
138c2ecf20Sopenharmony_ciAR ?= $(CROSS_COMPILE)ar
148c2ecf20Sopenharmony_ciLD ?= $(CROSS_COMPILE)ld
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ciMAKEFLAGS += --no-print-directory
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciLIBFILE = $(OUTPUT)libapi.a
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ciCFLAGS := $(EXTRA_WARNINGS) $(EXTRA_CFLAGS)
218c2ecf20Sopenharmony_ciCFLAGS += -ggdb3 -Wall -Wextra -std=gnu99 -U_FORTIFY_SOURCE -fPIC
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ciifeq ($(DEBUG),0)
248c2ecf20Sopenharmony_ciifeq ($(CC_NO_CLANG), 0)
258c2ecf20Sopenharmony_ci  CFLAGS += -O3
268c2ecf20Sopenharmony_cielse
278c2ecf20Sopenharmony_ci  CFLAGS += -O6
288c2ecf20Sopenharmony_ciendif
298c2ecf20Sopenharmony_ciendif
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ciifeq ($(DEBUG),0)
328c2ecf20Sopenharmony_ci  CFLAGS += -D_FORTIFY_SOURCE
338c2ecf20Sopenharmony_ciendif
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ci# Treat warnings as errors unless directed not to
368c2ecf20Sopenharmony_ciifneq ($(WERROR),0)
378c2ecf20Sopenharmony_ci  CFLAGS += -Werror
388c2ecf20Sopenharmony_ciendif
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ciCFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
418c2ecf20Sopenharmony_ciCFLAGS += -I$(srctree)/tools/lib/api
428c2ecf20Sopenharmony_ciCFLAGS += -I$(srctree)/tools/include
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ciRM = rm -f
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ciAPI_IN := $(OUTPUT)libapi-in.o
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ciall:
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ciexport srctree OUTPUT CC LD CFLAGS V
518c2ecf20Sopenharmony_ciinclude $(srctree)/tools/build/Makefile.include
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ciall: fixdep $(LIBFILE)
548c2ecf20Sopenharmony_ci
558c2ecf20Sopenharmony_ci$(API_IN): FORCE
568c2ecf20Sopenharmony_ci	@$(MAKE) $(build)=libapi
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ci$(LIBFILE): $(API_IN)
598c2ecf20Sopenharmony_ci	$(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $(API_IN)
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ciclean:
628c2ecf20Sopenharmony_ci	$(call QUIET_CLEAN, libapi) $(RM) $(LIBFILE); \
638c2ecf20Sopenharmony_ci	find $(if $(OUTPUT),$(OUTPUT),.) -name \*.o -or -name \*.o.cmd -or -name \*.o.d | xargs $(RM)
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ciFORCE:
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_ci.PHONY: clean FORCE
68