# Copyright 2016 The Fuchsia Authors
# Copyright (c) 2008-2015 Travis Geiselbrecht
#
# Use of this source code is governed by a MIT-style
# license that can be found in the LICENSE file or at
# https://opensource.org/licenses/MIT

LOCAL_DIR := $(GET_LOCAL_DIR)

MODULE := $(LOCAL_DIR)

MODULE_SRCS += \
    $(LOCAL_DIR)/alloc_checker_tests.cpp \
    $(LOCAL_DIR)/benchmarks.cpp \
    $(LOCAL_DIR)/brwlock_tests.cpp \
    $(LOCAL_DIR)/cache_tests.cpp \
    $(LOCAL_DIR)/clock_tests.cpp \
    $(LOCAL_DIR)/fibo.cpp \
    $(LOCAL_DIR)/lock_dep_tests.cpp \
    $(LOCAL_DIR)/mem_tests.cpp \
    $(LOCAL_DIR)/mp_hotplug_tests.cpp \
    $(LOCAL_DIR)/preempt_disable_tests.cpp \
    $(LOCAL_DIR)/printf_tests.cpp \
    $(LOCAL_DIR)/resource_tests.cpp \
    $(LOCAL_DIR)/sleep_tests.cpp \
    $(LOCAL_DIR)/string_tests.cpp \
    $(LOCAL_DIR)/sync_ipi_tests.cpp \
    $(LOCAL_DIR)/tests.cpp \
    $(LOCAL_DIR)/thread_tests.cpp \
    $(LOCAL_DIR)/timer_tests.cpp \
    $(LOCAL_DIR)/uart_tests.cpp \

MODULE_DEPS += \
    kernel/lib/crypto \
    kernel/lib/header_tests \
    kernel/lib/fbl \
    kernel/lib/unittest \

MODULE_COMPILEFLAGS += -fno-builtin

include make/module.mk
