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)/bootfs.cpp \ 17 $(LOCAL_DIR)/devhost-shared.cpp \ 18 $(LOCAL_DIR)/devmgr.cpp \ 19 $(LOCAL_DIR)/devmgr-binding.cpp \ 20 $(LOCAL_DIR)/devmgr-coordinator.cpp \ 21 $(LOCAL_DIR)/devmgr-devfs.cpp \ 22 $(LOCAL_DIR)/devmgr-drivers.cpp \ 23 $(LOCAL_DIR)/devmgr-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 29# We can avoid the fuchsia.crash dependency if crashsvc connects directly to the 30# analyzer. 31MODULE_FIDL_LIBS := \ 32 system/fidl/fuchsia-crash \ 33 system/fidl/fuchsia-io \ 34 system/fidl/fuchsia-mem \ 35 36# ddk is needed only for ddk/device.h 37MODULE_HEADER_DEPS := \ 38 system/ulib/ddk \ 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-loop \ 47 system/ulib/sync \ 48 third_party/ulib/lz4 \ 49 system/ulib/port \ 50 system/ulib/driver-info \ 51 system/ulib/memfs \ 52 system/ulib/fs \ 53 system/ulib/fbl \ 54 system/ulib/zx \ 55 system/ulib/zxcpp \ 56 57MODULE_LIBS := \ 58 system/ulib/async.default \ 59 system/ulib/launchpad \ 60 system/ulib/fdio \ 61 system/ulib/zircon \ 62 system/ulib/c 63 64include make/module.mk 65 66 67# fshost - container for filesystems 68 69MODULE := $(LOCAL_DIR).fshost 70 71MODULE_NAME := fshost 72MODULE_TYPE := userapp 73MODULE_GROUP := core 74 75MODULE_SRCS := \ 76 $(LOCAL_DIR)/bootfs.cpp \ 77 $(LOCAL_DIR)/block-watcher.cpp \ 78 $(LOCAL_DIR)/devmgr-fdio.cpp \ 79 $(LOCAL_DIR)/fshost.cpp \ 80 $(LOCAL_DIR)/vfs-rpc.cpp 81 82MODULE_STATIC_LIBS := \ 83 system/ulib/memfs.cpp \ 84 system/ulib/memfs \ 85 system/ulib/fs \ 86 system/ulib/loader-service \ 87 system/ulib/async.cpp \ 88 system/ulib/async \ 89 system/ulib/async-loop.cpp \ 90 system/ulib/async-loop \ 91 system/ulib/bootdata \ 92 system/ulib/fbl \ 93 system/ulib/gpt \ 94 system/ulib/sync \ 95 system/ulib/trace \ 96 system/ulib/zx \ 97 system/ulib/zxcpp \ 98 third_party/ulib/cksum \ 99 third_party/ulib/lz4 \ 100 101MODULE_LIBS := \ 102 system/ulib/async.default \ 103 system/ulib/launchpad \ 104 system/ulib/fdio \ 105 system/ulib/fs-management \ 106 system/ulib/trace-engine \ 107 system/ulib/zircon \ 108 system/ulib/c 109 110MODULE_FIDL_LIBS := \ 111 system/fidl/fuchsia-io \ 112 113include make/module.mk 114 115 116# devhost - container for drivers 117# 118# This is just a main() that calls device_host_main() which 119# is provided by libdriver, where all the other devhost-*.c 120# files get built. 121# 122MODULE := $(LOCAL_DIR).host 123 124# The ASanified devhost is installed as devhost.asan so that 125# devmgr can use the ASanified host for ASanified driver modules. 126# TODO(mcgrathr): One day, both devhost and devhost.asan can both go 127# into the same system image, independent of whether devmgr is ASanified. 128ifeq ($(call TOBOOL,$(USE_ASAN)),true) 129DEVHOST_SUFFIX := .asan 130else 131DEVHOST_SUFFIX := 132endif 133 134MODULE_NAME := devhost$(DEVHOST_SUFFIX) 135 136MODULE_TYPE := userapp 137MODULE_GROUP := core 138 139MODULE_SRCS := \ 140 $(LOCAL_DIR)/devhost-main.cpp 141 142MODULE_LIBS := system/ulib/driver system/ulib/fdio system/ulib/c 143 144include make/module.mk 145 146 147# dmctl - bridge between dm command and devmgr 148 149MODULE := $(LOCAL_DIR).dmctl 150 151MODULE_TYPE := driver 152 153MODULE_NAME := dmctl 154 155MODULE_SRCS := \ 156 $(LOCAL_DIR)/dmctl.cpp \ 157 $(LOCAL_DIR)/devhost-shared.cpp \ 158 159MODULE_STATIC_LIBS := system/ulib/ddk system/ulib/port 160 161MODULE_LIBS := system/ulib/driver system/ulib/zircon system/ulib/c 162 163include make/module.mk 164