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