# -*- makefile -*- # vim:set ts=8 sw=8 sts=8 noet: # # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. PARALLEL_DIRS_libs = $(addsuffix _libs,$(PARALLEL_DIRS)) .PHONY: libs $(PARALLEL_DIRS_libs) ############### ## TIER targets ############### libs_tier_%: @$(ECHO) "$@" $(foreach dir,$(tier_$*_dirs),$(call TIER_DIR_SUBMAKE,libs,$(dir))) ################# ## Common targets ################# ifdef PARALLEL_DIRS libs:: $(PARALLEL_DIRS_libs) $(PARALLEL_DIRS_libs): %_libs: %/Makefile +@$(call SUBMAKE,libs,$*) endif #################### ## #################### ifdef EXPORT_LIBRARY ifeq ($(EXPORT_LIBRARY),1) ifdef IS_COMPONENT EXPORT_LIBRARY = $(DEPTH)/staticlib/components else EXPORT_LIBRARY = $(DEPTH)/staticlib endif else # If EXPORT_LIBRARY has a value, we'll be installing there. We also need to cleanup there GARBAGE += $(foreach lib,$(LIBRARY),$(EXPORT_LIBRARY)/$(lib)) endif endif # EXPORT_LIBRARY libs:: $(SUBMAKEFILES) $(MAKE_DIRS) $(HOST_LIBRARY) $(LIBRARY) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) $(HOST_PROGRAM) $(HOST_SIMPLE_PROGRAMS) $(SIMPLE_PROGRAMS) $(JAVA_LIBRARY) ifndef NO_DIST_INSTALL ifdef SHARED_LIBRARY ifdef IS_COMPONENT $(INSTALL) $(IFLAGS2) $(SHARED_LIBRARY) $(FINAL_TARGET)/components $(ELF_DYNSTR_GC) $(FINAL_TARGET)/components/$(SHARED_LIBRARY) ifndef NO_COMPONENTS_MANIFEST @$(PYTHON) $(MOZILLA_DIR)/config/buildlist.py $(FINAL_TARGET)/chrome.manifest "manifest components/components.manifest" @$(PYTHON) $(MOZILLA_DIR)/config/buildlist.py $(FINAL_TARGET)/components/components.manifest "binary-component $(SHARED_LIBRARY)" endif endif # IS_COMPONENT endif # SHARED_LIBRARY endif # !NO_DIST_INSTALL $(LOOP_OVER_DIRS) ifndef NO_DIST_INSTALL ifneq (,$(strip $(PROGRAM)$(SIMPLE_PROGRAMS))) PROGRAMS_EXECUTABLES = $(SIMPLE_PROGRAMS) $(PROGRAM) PROGRAMS_DEST ?= $(FINAL_TARGET) INSTALL_TARGETS += PROGRAMS endif ifdef LIBRARY ifdef EXPORT_LIBRARY LIBRARY_FILES = $(LIBRARY) LIBRARY_DEST ?= $(EXPORT_LIBRARY) INSTALL_TARGETS += LIBRARY endif ifdef DIST_INSTALL ifdef IS_COMPONENT $(error Shipping static component libs makes no sense.) else DIST_LIBRARY_FILES = $(LIBRARY) DIST_LIBRARY_DEST ?= $(DIST)/lib INSTALL_TARGETS += DIST_LIBRARY endif endif # DIST_INSTALL endif # LIBRARY ifdef SHARED_LIBRARY ifndef IS_COMPONENT SHARED_LIBRARY_FILES = $(SHARED_LIBRARY) SHARED_LIBRARY_DEST ?= $(FINAL_TARGET) INSTALL_TARGETS += SHARED_LIBRARY ifneq (,$(filter OS2 WINNT,$(OS_ARCH))) ifndef NO_INSTALL_IMPORT_LIBRARY IMPORT_LIB_FILES = $(IMPORT_LIBRARY) endif # NO_INSTALL_IMPORT_LIBRARY else IMPORT_LIB_FILES = $(SHARED_LIBRARY) endif IMPORT_LIB_DEST ?= $(DIST)/lib ifdef IMPORT_LIB_FILES INSTALL_TARGETS += IMPORT_LIB endif endif # ! IS_COMPONENT endif # SHARED_LIBRARY ifneq (,$(strip $(HOST_SIMPLE_PROGRAMS)$(HOST_PROGRAM))) HOST_PROGRAMS_EXECUTABLES = $(HOST_SIMPLE_PROGRAMS) $(HOST_PROGRAM) HOST_PROGRAMS_DEST ?= $(DIST)/host/bin INSTALL_TARGETS += HOST_PROGRAMS endif ifdef HOST_LIBRARY HOST_LIBRARY_FILES = $(HOST_LIBRARY) HOST_LIBRARY_DEST ?= $(DIST)/host/lib INSTALL_TARGETS += HOST_LIBRARY endif ifdef JAVA_LIBRARY JAVA_LIBRARY_FILES = $(JAVA_LIBRARY) ifdef IS_COMPONENT JAVA_LIBRARY_DEST ?= $(FINAL_TARGET)/components else JAVA_LIBRARY_DEST ?= $(FINAL_TARGET) endif INSTALL_TARGETS += JAVA_LIBRARY endif endif # !NO_DIST_INSTALL # EOF