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 7# devmgr - core userspace services process 8# 9MODULE := $(LOCAL_DIR) 10 11MODULE_NAME := devmgr 12MODULE_TYPE := userapp 13MODULE_GROUP := core 14 15MODULE_SRCS += \ 16 $(LOCAL_DIR)/devmgr/main.cpp \ 17 $(LOCAL_DIR)/devmgr/binding.cpp \ 18 $(LOCAL_DIR)/devmgr/coordinator.cpp \ 19 $(LOCAL_DIR)/devmgr/devfs.cpp \ 20 $(LOCAL_DIR)/devmgr/drivers.cpp \ 21 $(LOCAL_DIR)/devmgr/fidl.cpp \ 22 $(LOCAL_DIR)/shared/env.cpp \ 23 $(LOCAL_DIR)/shared/fdio.cpp \ 24 25# userboot supports loading via the dynamic linker, so libc (system/ulib/c) 26# can be linked dynamically. But it doesn't support any means to look 27# up other shared libraries, so everything else must be linked statically. 28 29MODULE_FIDL_LIBS := \ 30 system/fidl/fuchsia-device-manager \ 31 system/fidl/fuchsia-io \ 32 system/fidl/fuchsia-mem \ 33 34# ddk is needed only for ddk/device.h 35MODULE_HEADER_DEPS := \ 36 system/ulib/ddk \ 37 system/ulib/bootsvc-protocol \ 38 system/ulib/devmgr-launcher \ 39 system/ulib/zircon-internal \ 40 41MODULE_STATIC_LIBS := \ 42 system/ulib/fidl \ 43 system/ulib/bootdata \ 44 system/ulib/loader-service \ 45 system/ulib/async \ 46 system/ulib/async.cpp \ 47 system/ulib/async-loop \ 48 system/ulib/async-loop.cpp \ 49 system/ulib/sync \ 50 third_party/ulib/lz4 \ 51 system/ulib/driver-info \ 52 system/ulib/memfs \ 53 system/ulib/fs \ 54 system/ulib/fbl \ 55 system/ulib/fit \ 56 system/ulib/zx \ 57 system/ulib/zxcpp \ 58 59MODULE_LIBS := \ 60 system/ulib/async.default \ 61 system/ulib/launchpad \ 62 system/ulib/fdio \ 63 system/ulib/zircon \ 64 system/ulib/c 65 66include make/module.mk 67 68 69# fshost - container for filesystems 70 71MODULE := $(LOCAL_DIR).fshost 72 73MODULE_NAME := fshost 74MODULE_TYPE := userapp 75MODULE_GROUP := core 76 77MODULE_SRCS := \ 78 $(LOCAL_DIR)/fshost/block-watcher.cpp \ 79 $(LOCAL_DIR)/fshost/main.cpp \ 80 $(LOCAL_DIR)/fshost/vfs-rpc.cpp \ 81 $(LOCAL_DIR)/shared/env.cpp \ 82 $(LOCAL_DIR)/shared/fdio.cpp \ 83 84MODULE_STATIC_LIBS := \ 85 system/ulib/memfs.cpp \ 86 system/ulib/memfs \ 87 system/ulib/fs \ 88 system/ulib/loader-service \ 89 system/ulib/async.cpp \ 90 system/ulib/async \ 91 system/ulib/async-loop.cpp \ 92 system/ulib/async-loop \ 93 system/ulib/bootdata \ 94 system/ulib/bootfs \ 95 system/ulib/fbl \ 96 system/ulib/gpt \ 97 system/ulib/sync \ 98 system/ulib/trace \ 99 system/ulib/zx \ 100 system/ulib/zxcpp \ 101 third_party/ulib/cksum \ 102 third_party/ulib/lz4 \ 103 104MODULE_LIBS := \ 105 system/ulib/async.default \ 106 system/ulib/launchpad \ 107 system/ulib/fdio \ 108 system/ulib/fs-management \ 109 system/ulib/trace-engine \ 110 system/ulib/zircon \ 111 system/ulib/c 112 113MODULE_FIDL_LIBS := \ 114 system/fidl/fuchsia-io \ 115 116include make/module.mk 117 118 119# devhost - container for drivers 120# 121# This is just a main() that calls device_host_main() which 122# is provided by libdriver, where all the other devhost-*.c 123# files get built. 124# 125MODULE := $(LOCAL_DIR).host 126 127# The ASanified devhost is installed as devhost.asan so that 128# devmgr can use the ASanified host for ASanified driver modules. 129# TODO(mcgrathr): One day, both devhost and devhost.asan can both go 130# into the same system image, independent of whether devmgr is ASanified. 131ifeq ($(call TOBOOL,$(USE_ASAN)),true) 132DEVHOST_SUFFIX := .asan 133else 134DEVHOST_SUFFIX := 135endif 136 137MODULE_NAME := devhost$(DEVHOST_SUFFIX) 138 139MODULE_TYPE := userapp 140MODULE_GROUP := core 141 142MODULE_SRCS := \ 143 $(LOCAL_DIR)/devhost/main.cpp 144 145MODULE_LIBS := \ 146 system/ulib/driver \ 147 system/ulib/fdio \ 148 system/ulib/c \ 149 150include make/module.mk 151 152 153# dmctl - bridge between dm command and devmgr 154 155MODULE := $(LOCAL_DIR).dmctl 156 157MODULE_TYPE := driver 158 159MODULE_NAME := dmctl 160 161MODULE_SRCS := \ 162 $(LOCAL_DIR)/dmctl/dmctl.cpp \ 163 164MODULE_STATIC_LIBS := \ 165 system/ulib/ddk \ 166 system/ulib/ddktl \ 167 system/ulib/fbl \ 168 system/ulib/fidl \ 169 system/ulib/zx \ 170 system/ulib/zxcpp \ 171 172MODULE_LIBS := system/ulib/driver system/ulib/zircon system/ulib/c 173 174MODULE_FIDL_LIBS := \ 175 system/fidl/fuchsia-device-manager \ 176 177include make/module.mk 178