xref: /optee_os/mk/lib.mk (revision 37d6ae92323c352d3abf042fbae3d87548768f27)
1# Input
2#
3# libname	tells the name of the lib and
4# libdir	tells directory of lib which also is used as input to
5#		mk/subdir.mk
6#
7# Output
8#
9# updated cleanfiles and
10# updated libfiles, libdirs, libnames and libdeps
11
12
13subdirs = $(libdir)
14include mk/subdir.mk
15include mk/compile.mk
16
17lib-libfile	 = $(out-dir)/$(base-prefix)$(libdir)/lib$(libname).a
18cleanfiles	:= $(cleanfiles) $(lib-libfile)
19libfiles	:= $(lib-libfile) $(libfiles)
20libdirs 	:= $(out-dir)/$(base-prefix)$(libdir) $(libdirs)
21libnames	:= $(libname) $(libnames)
22libdeps		:= $(lib-libfile) $(libdeps)
23
24define process-lib
25ifeq ($(lib-use-ld), y)
26$(lib-libfile): $(objs)
27	@echo '  LD      $$@'
28	@mkdir -p $$(dir $$@)
29	$$(q)$$(LD) $(lib-ldflags) -o $$@ $$^
30else
31$(lib-libfile): $(objs)
32	@echo '  AR      $$@'
33	@mkdir -p $$(dir $$@)
34	$$(q)$$(AR) rcs $$@ $$^
35endif
36endef #process-lib
37
38$(eval $(call process-lib))
39
40# Clean residues from processing
41objs		:=
42libname		:=
43lib-use-ld	:=
44