1# Copyright 2017 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)/allocator.cpp \
15    $(LOCAL_DIR)/bcache.cpp \
16    $(LOCAL_DIR)/fsck.cpp \
17    $(LOCAL_DIR)/inode-manager.cpp \
18    $(LOCAL_DIR)/minfs.cpp \
19    $(LOCAL_DIR)/superblock.cpp \
20    $(LOCAL_DIR)/vnode.cpp \
21    $(LOCAL_DIR)/writeback.cpp \
22
23# minfs implementation
24MODULE_SRCS := \
25    $(COMMON_SRCS)
26
27MODULE_STATIC_LIBS := \
28    system/ulib/async \
29    system/ulib/async.cpp \
30    system/ulib/async-loop \
31    system/ulib/async-loop.cpp \
32    system/ulib/bitmap \
33    system/ulib/block-client \
34    system/ulib/fbl \
35    system/ulib/fs \
36    system/ulib/fzl \
37    system/ulib/sync \
38    system/ulib/trace \
39    system/ulib/zircon-internal \
40    system/ulib/zx \
41    system/ulib/zxcpp \
42
43MODULE_LIBS := \
44    system/ulib/async.default \
45    system/ulib/c \
46    system/ulib/fdio \
47    system/ulib/trace-engine \
48    system/ulib/zircon \
49
50MODULE_FIDL_LIBS := \
51    system/fidl/fuchsia-io \
52    system/fidl/fuchsia-minfs \
53
54include make/module.mk
55
56MODULE_HOST_SRCS := \
57    $(COMMON_SRCS) \
58    $(LOCAL_DIR)/host.cpp \
59    system/ulib/bitmap/raw-bitmap.cpp \
60
61MODULE_HOST_COMPILEFLAGS := \
62    -Werror-implicit-function-declaration \
63    -Wstrict-prototypes -Wwrite-strings \
64    -Isystem/ulib/bitmap/include \
65    -Isystem/ulib/fbl/include \
66    -Isystem/ulib/fdio/include \
67    -Isystem/ulib/fs/include \
68    -Isystem/ulib/fzl/include \
69    -Isystem/ulib/zxcpp/include \
70
71# host minfs lib
72
73MODULE := $(LOCAL_DIR).hostlib
74
75MODULE_TYPE := hostlib
76
77MODULE_SRCS := $(MODULE_HOST_SRCS)
78
79MODULE_COMPILEFLAGS := $(MODULE_HOST_COMPILEFLAGS)
80
81MODULE_HEADER_DEPS += system/ulib/zircon-internal
82
83MODULE_HOST_LIBS := \
84    system/ulib/fbl.hostlib \
85    system/ulib/fs.hostlib \
86
87include make/module.mk
88