blob: c012801ff5e5ac5555493d49dfc1055c2acb5b2c [file] [log] [blame]
Pascal Brandb0104772014-06-12 15:56:20 +02001# 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
Jerome Forissier4334e8d2014-09-08 10:53:42 +020017lib-libfile = $(out-dir)/$(base-prefix)$(libdir)/lib$(libname).a
Pascal Brandb0104772014-06-12 15:56:20 +020018cleanfiles := $(cleanfiles) $(lib-libfile)
19libfiles := $(lib-libfile) $(libfiles)
Jerome Forissier4334e8d2014-09-08 10:53:42 +020020libdirs := $(out-dir)/$(base-prefix)$(libdir) $(libdirs)
Pascal Brandb0104772014-06-12 15:56:20 +020021libnames := $(libname) $(libnames)
22libdeps := $(lib-libfile) $(libdeps)
23
Jerome Forissier699f50a2014-10-28 17:22:45 +010024define process-lib
25ifeq ($(lib-use-ld), y)
Pascal Brandb0104772014-06-12 15:56:20 +020026$(lib-libfile): $(objs)
Jerome Forissier699f50a2014-10-28 17:22:45 +010027 @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))
Pascal Brandb0104772014-06-12 15:56:20 +020039
40# Clean residues from processing
41objs :=
Jerome Forissier73dc7282014-09-25 16:04:03 +020042libname :=
Jerome Forissier699f50a2014-10-28 17:22:45 +010043lib-use-ld :=