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
7MODULE := $(LOCAL_DIR)
8
9MODULE_TYPE := userlib
10
11MODULE_COMPILEFLAGS += -fvisibility=hidden
12
13COMMON_SRCS := \
14    $(LOCAL_DIR)/block-txn.cpp \
15    $(LOCAL_DIR)/vfs.cpp \
16    $(LOCAL_DIR)/vnode.cpp \
17
18MODULE_SRCS += \
19    $(COMMON_SRCS) \
20    $(LOCAL_DIR)/connection.cpp \
21    $(LOCAL_DIR)/fvm.cpp \
22    $(LOCAL_DIR)/lazy-dir.cpp \
23    $(LOCAL_DIR)/managed-vfs.cpp \
24    $(LOCAL_DIR)/mount.cpp \
25    $(LOCAL_DIR)/pseudo-dir.cpp \
26    $(LOCAL_DIR)/pseudo-file.cpp \
27    $(LOCAL_DIR)/remote-dir.cpp \
28    $(LOCAL_DIR)/service.cpp \
29    $(LOCAL_DIR)/synchronous-vfs.cpp \
30    $(LOCAL_DIR)/unmount.cpp \
31    $(LOCAL_DIR)/vmo-file.cpp \
32    $(LOCAL_DIR)/watcher.cpp \
33
34MODULE_FIDL_LIBS := \
35    system/fidl/fuchsia-io
36
37MODULE_STATIC_LIBS := \
38    system/ulib/async \
39    system/ulib/async.cpp \
40    system/ulib/fbl \
41    system/ulib/fit \
42    system/ulib/sync \
43    system/ulib/trace \
44    system/ulib/zx \
45    system/ulib/zxcpp \
46
47MODULE_LIBS := \
48    system/ulib/c \
49    system/ulib/fdio \
50    system/ulib/fidl \
51    system/ulib/trace-engine \
52    system/ulib/zircon \
53
54MODULE_PACKAGE := src
55
56include make/module.mk
57
58# host fs lib
59
60MODULE_HOST_SRCS := \
61    $(COMMON_SRCS)
62
63MODULE_HOST_COMPILEFLAGS := \
64    -Werror-implicit-function-declaration \
65    -Wstrict-prototypes -Wwrite-strings \
66    -Isystem/ulib/fbl/include \
67    -Isystem/ulib/fdio/include \
68    -Isystem/ulib/zxcpp/include \
69
70MODULE := $(LOCAL_DIR).hostlib
71
72MODULE_TYPE := hostlib
73
74MODULE_SRCS := $(MODULE_HOST_SRCS)
75
76MODULE_COMPILEFLAGS := $(MODULE_HOST_COMPILEFLAGS)
77
78MODULE_HEADER_DEPS += system/ulib/zircon-internal
79
80MODULE_HOST_LIBS := \
81    system/ulib/fbl.hostlib \
82
83include make/module.mk
84