1# Copyright 2016 The Fuchsia Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5LOCAL_DIR := $(GET_LOCAL_DIR) 6 7LOCAL_DEVMGR_ROOT := system/core/devmgr 8LOCAL_DEVHOST_SRCS := $(LOCAL_DEVMGR_ROOT)/devhost 9 10MODULE := $(LOCAL_DIR) 11 12MODULE_NAME := driver 13 14MODULE_TYPE := userlib 15 16MODULE_EXPORT := so 17MODULE_SO_NAME := driver 18 19MODULE_COMPILEFLAGS := -fvisibility=hidden 20 21MODULE_SRCS := \ 22 $(LOCAL_DEVHOST_SRCS)/devhost.cpp \ 23 $(LOCAL_DEVHOST_SRCS)/api.cpp \ 24 $(LOCAL_DEVHOST_SRCS)/core.cpp \ 25 $(LOCAL_DEVHOST_SRCS)/rpc-server.cpp \ 26 $(LOCAL_DEVHOST_SRCS)/zx-device.cpp \ 27 $(LOCAL_DEVMGR_ROOT)/shared/env.cpp \ 28 29ifeq ($(call TOBOOL,$(ENABLE_DRIVER_TRACING)),true) 30MODULE_SRCS += \ 31 $(LOCAL_DEVHOST_SRCS)/tracing.cpp 32MODULE_HEADER_DEPS := \ 33 system/ulib/trace-provider 34endif 35 36MODULE_FIDL_LIBS := \ 37 system/fidl/fuchsia-device-manager \ 38 system/fidl/fuchsia-io \ 39 40MODULE_STATIC_LIBS := \ 41 system/ulib/async \ 42 system/ulib/async.cpp \ 43 system/ulib/async.default \ 44 system/ulib/async-loop \ 45 system/ulib/async-loop.cpp \ 46 system/ulib/ddk \ 47 system/ulib/fbl \ 48 system/ulib/fidl \ 49 system/ulib/fs \ 50 system/ulib/sync \ 51 system/ulib/port \ 52 system/ulib/zx \ 53 system/ulib/zxcpp \ 54 system/ulib/zxio \ 55 56# There are pieces of the trace engine that are always present. 57# They don't provide tracing support, but the tracing API provides 58# them even if #define NTRACE. 59MODULE_STATIC_LIBS += \ 60 system/ulib/trace-engine.driver 61 62ifeq ($(call TOBOOL,$(ENABLE_DRIVER_TRACING)),true) 63 64MODULE_STATIC_LIBS += \ 65 system/ulib/trace.driver \ 66 system/ulib/trace-provider 67 68# Since the tracing support is brought in via an archive, we need explicit 69# references to ensure everything is present. 70MODULE_EXTRA_OBJS := system/ulib/trace-engine/ddk-exports.ld 71 72else 73 74# Some symbols still need to be present even if tracing is disabled. 75# See the linker script for details. 76MODULE_EXTRA_OBJS := system/ulib/trace-engine/ddk-disabled-exports.ld 77 78endif 79 80MODULE_LIBS := system/ulib/fdio system/ulib/zircon system/ulib/c 81 82include make/module.mk 83