You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
2.2 KiB
71 lines
2.2 KiB
# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
# This file contains definitions that are specific to the invocation
|
|
# and usage of Gnu Make.
|
|
|
|
ifndef VERBOSE
|
|
# Be silent unless 'VERBOSE' is set on the make command line.
|
|
SILENT = --silent
|
|
endif
|
|
|
|
ifndef ADHD_BUILD_DIR
|
|
export ADHD_BUILD_DIR = $(ADHD_DIR)/build/$(BOARD)
|
|
endif
|
|
|
|
GAVD_ARCHIVE = $(ADHD_BUILD_DIR)/lib/gavd.a
|
|
|
|
LIBS = \
|
|
-L$(ADHD_DIR)/cras/src/.libs \
|
|
$(GAVD_ARCHIVE) \
|
|
$(foreach lib,$(MY_LIBS),-l$(lib))
|
|
|
|
# mkdir: Creates a directory, and all its parents, if it does not exist.
|
|
#
|
|
mkdir = [ ! -d $(1) ] && \
|
|
$(MKDIR) --parents $(1) || true
|
|
|
|
# remake: Gnu Make function which will create the build directory,
|
|
# then build the first argument by recursively invoking make.
|
|
# The recursive make is performed in the build directory.
|
|
#
|
|
# $(call remake,<label>,<subdirectory>,<makefile>,<target>)
|
|
#
|
|
# ex: @$(call remake,Building,gavd,Makefile,gavd)
|
|
# $(1) $(2) $(3) $(4)
|
|
#
|
|
# REL_DIR:
|
|
#
|
|
# Directory relative from the root of the source tree. REL_DIR is
|
|
# built up using the previous value plus the current target
|
|
# directory.
|
|
#
|
|
# ADHD_SOURCE_DIR:
|
|
#
|
|
# The directory containing the sources for the target directory
|
|
# being built. This is used by Makefiles to access files in the
|
|
# source directory. It has the same value as VPATH.
|
|
#
|
|
# THIS_BUILD_DIR:
|
|
#
|
|
# The build directory which is currently being built. This is the
|
|
# same 'pwd', and the directory in which Make is building.
|
|
#
|
|
# The build is performed in the build directory and VPATH is used to
|
|
# allow Make to find the source files in the source directory.
|
|
#
|
|
remake = \
|
|
+($(if $(REL_DIR), \
|
|
export REL_DIR=$${REL_DIR}/$(2), \
|
|
export REL_DIR=$(2)) && \
|
|
$(call mkdir,$(ADHD_BUILD_DIR)/$${REL_DIR}) && \
|
|
$(MESSAGE) "$(1) $${REL_DIR}"; \
|
|
$(MAKE) $(SILENT) \
|
|
-f $(ADHD_DIR)/$${REL_DIR}/$(3) \
|
|
-C $(ADHD_BUILD_DIR)/$${REL_DIR} \
|
|
VPATH=$(ADHD_DIR)/$${REL_DIR} \
|
|
ADHD_SOURCE_DIR=$(ADHD_DIR)/$${REL_DIR} \
|
|
THIS_BUILD_DIR=$(ADHD_BUILD_DIR)/$${REL_DIR} \
|
|
$(4))
|