mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-20 14:13:09 +00:00
56 lines
1.8 KiB
PHP
56 lines
1.8 KiB
PHP
|
#
|
||
|
# Common parts of dep_prg.mk, dep_lib.mk, and dep_abi.mk
|
||
|
#
|
||
|
# The target/library description file is already included.
|
||
|
# Hence, the LIBS variable contains the library dependencies.
|
||
|
#
|
||
|
|
||
|
.NOTPARALLEL:
|
||
|
|
||
|
##
|
||
|
# Return path to symbol file for a given library name
|
||
|
#
|
||
|
_symbol_file = $(firstword $(wildcard $(addsuffix /$1,\
|
||
|
$(foreach REP,$(REPOSITORIES),$(REP)/lib/symbols))))
|
||
|
|
||
|
include $(LIB_PROGRESS_LOG)
|
||
|
|
||
|
#
|
||
|
# Categorize LIBS into ABIs and actual libraries. Dependencies of libraries
|
||
|
# must be recursively discovered whereas ABIs don't have any dependencies.
|
||
|
#
|
||
|
|
||
|
#
|
||
|
# Pattern rules for generating ABI and library dependencies for var/libdeps
|
||
|
#
|
||
|
|
||
|
generate_abi_dep.%: log_progress
|
||
|
$(VERBOSE_MK)$(MAKE) $(VERBOSE_DIR) -f $(BASE_DIR)/mk/dep_abi.mk SYMBOLS=$(call _symbol_file,$*)
|
||
|
|
||
|
generate_lib_dep.%: log_progress
|
||
|
$(VERBOSE_MK)$(MAKE) $(VERBOSE_DIR) -f $(BASE_DIR)/mk/dep_lib.mk REP_DIR=$(REP_DIR) LIB=$*
|
||
|
|
||
|
generate_missing_ports:
|
||
|
$(if $(DEP_MISSING_PORTS),\
|
||
|
@echo "MISSING_PORTS += $(DEP_MISSING_PORTS)" >> $(LIB_DEP_FILE),\
|
||
|
@true)
|
||
|
|
||
|
generate_dep_lists:
|
||
|
@(echo "$(DEP_A_VAR_NAME) = $(foreach l,$(LIBS),\$${ARCHIVE_NAME($l)} \$$(DEP_A_$l))"; \
|
||
|
echo "$(DEP_SO_VAR_NAME) = $(foreach l,$(LIBS),\$${SO_NAME($l)} \$$(DEP_SO_$l))"; \
|
||
|
echo "") >> $(LIB_DEP_FILE)
|
||
|
|
||
|
log_progress:
|
||
|
|
||
|
generate: log_progress
|
||
|
generate: generate_missing_ports
|
||
|
|
||
|
_unvisited_libs = $(filter-out $(LIBS_READY),$1)
|
||
|
_abis_to_visit = $(foreach L,$(call _unvisited_libs,$1),$(if $(call _symbol_file,$L),$L))
|
||
|
_libs_to_visit = $(filter-out $(call _abis_to_visit,$1),$(call _unvisited_libs,$1))
|
||
|
deps_for_libs = $(addprefix generate_abi_dep.,$(call _abis_to_visit,$1)) \
|
||
|
$(addprefix generate_lib_dep.,$(call _libs_to_visit,$1)) \
|
||
|
$(if $1,generate_dep_lists)
|
||
|
|
||
|
UNSATISFIED_REQUIREMENTS = $(filter-out $(SPECS),$(REQUIRES))
|