9121d4fd1a42f267127e55b64bbf9d289c8bdb97
[protos/libecoli.git] / mk / ecoli-ar-rules.mk
1 # SPDX-License-Identifier: BSD-3-Clause
2 # Copyright 2015, Olivier MATZ <zer0@droids-corp.org>
3
4 # dump some infos if debug is enabled
5 ifeq ($(D),1)
6 $(call disp_list,------ all-ar,$(all-ar))
7 $(foreach ar,$(all-ar),\
8         $(info,out-$(ar): $(out-$(ar))) \
9         $(call disp_list,pre-$(ar),$(pre-$(ar))) \
10 )
11 endif
12
13 # include dependencies and commands files if they exist
14 $(foreach ar,$(all-ar),\
15         $(eval -include $(call depfile,$(ar))) \
16         $(eval -include $(call cmdfile,$(ar))) \
17 )
18
19 # remove duplicates
20 filtered-all-ar := $(sort $(all-ar))
21
22 # link several objects files into one shared object
23 $(filtered-all-ar): $$(pre-$$@) $$(wildcard $$(dep-$$@)) FORCE
24         @[ -d $(dir $@) ] || mkdir -p $(dir $@)
25         @$(call display_deps,$(pre-$(@)),$@,\
26                 $(call ar_cmd,$(pre-$(@)),$@),$?)
27         @$(if $(call check_deps,$@,$(call ar_cmd,$(pre-$(@)),$@),$?),\
28                 $(call ar_print_cmd,$(pre-$(@)),$@) && \
29                 $(call ar_cmd,$(pre-$(@)),$@) && \
30                 $(call save_cmd,$(call ar_cmd,$(pre-$(@)),$@),$@) && \
31                 $(call create_empty_depfile,$@))