node_any: check attribute presence
[protos/libecoli.git] / mk / ecoli-shlib-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-shlib,$(all-shlib))
7 $(foreach shlib,$(all-shlib),\
8         $(info,out-$(shlib): $(out-$(shlib))) \
9         $(call disp_list,pre-$(shlib),$(pre-$(shlib))) \
10 )
11 endif
12
13 # include dependencies and commands files if they exist
14 $(foreach shlib,$(all-shlib),\
15         $(eval -include $(call depfile,$(shlib))) \
16         $(eval -include $(call cmdfile,$(shlib))) \
17 )
18
19 # remove duplicates
20 filtered-all-shlib := $(sort $(all-shlib))
21
22 # link several objects files into one shared object
23 $(filtered-all-shlib): $$(pre-$$@) $$(wildcard $$(dep-$$@)) FORCE
24         @[ -d $(dir $@) ] || mkdir -p $(dir $@)
25         @$(call display_deps,$(pre-$(@)),$@,\
26                 $(call shlib_cmd,$(pre-$(@)),$@),$?)
27         @$(if $(call check_deps,$@,$(call shlib_cmd,$(pre-$(@)),$@),$?),\
28                 $(call shlib_print_cmd,$(pre-$(@)),$@) && \
29                 $(call shlib_cmd,$(pre-$(@)),$@) && \
30                 $(call save_cmd,$(call shlib_cmd,$(pre-$(@)),$@),$@) && \
31                 $(call create_empty_depfile,$@))