blob: 70fcd44ddbaea09e959e544c97267baf488b3198 [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
Jerome Forissierfe52b1f2014-11-06 17:54:51 +01006# conf-file [optional] if set, all objects will depend on $(conf-file)
Pascal Brandb0104772014-06-12 15:56:20 +02007#
8# Output
9#
10# updated cleanfiles and
11# updated libfiles, libdirs, libnames and libdeps
12
13
14subdirs = $(libdir)
15include mk/subdir.mk
16include mk/compile.mk
17
Jerome Forissier4334e8d2014-09-08 10:53:42 +020018lib-libfile = $(out-dir)/$(base-prefix)$(libdir)/lib$(libname).a
Pascal Brandb0104772014-06-12 15:56:20 +020019cleanfiles := $(cleanfiles) $(lib-libfile)
Pascal Brand0957bcc2015-05-19 13:57:25 +020020libfiles := $(lib-libfile) $(libfiles)
Jerome Forissier4334e8d2014-09-08 10:53:42 +020021libdirs := $(out-dir)/$(base-prefix)$(libdir) $(libdirs)
Pascal Brandb0104772014-06-12 15:56:20 +020022libnames := $(libname) $(libnames)
Pascal Brand0957bcc2015-05-19 13:57:25 +020023libdeps := $(lib-libfile) $(libdeps)
Pascal Brandb0104772014-06-12 15:56:20 +020024
Jerome Forissier699f50a2014-10-28 17:22:45 +010025define process-lib
26ifeq ($(lib-use-ld), y)
Pascal Brandb0104772014-06-12 15:56:20 +020027$(lib-libfile): $(objs)
Jerome Forissier699f50a2014-10-28 17:22:45 +010028 @echo ' LD $$@'
29 @mkdir -p $$(dir $$@)
Jens Wiklander1b4eb4f2015-02-02 09:19:18 +010030 $$(q)$$(LD$(sm)) $(lib-ldflags) -o $$@ $$^
Jerome Forissier699f50a2014-10-28 17:22:45 +010031else
32$(lib-libfile): $(objs)
Jens Wiklander62428632015-04-29 15:05:19 +020033 @$(cmd-echo-silent) ' AR $$@'
Jerome Forissier699f50a2014-10-28 17:22:45 +010034 @mkdir -p $$(dir $$@)
Jens Wiklander1b4eb4f2015-02-02 09:19:18 +010035 $$(q)$$(AR$(sm)) rcs $$@ $$^
Jerome Forissier699f50a2014-10-28 17:22:45 +010036endif
37endef #process-lib
38
39$(eval $(call process-lib))
Pascal Brandb0104772014-06-12 15:56:20 +020040
Jerome Forissierfe52b1f2014-11-06 17:54:51 +010041$(objs): $(conf-file)
42
Pascal Brandb0104772014-06-12 15:56:20 +020043# Clean residues from processing
44objs :=
Jerome Forissier73dc7282014-09-25 16:04:03 +020045libname :=
Jerome Forissier699f50a2014-10-28 17:22:45 +010046lib-use-ld :=