--------------------------------------------------------------------------
-- Copyright (c) 2007-2012, 2016, 2019 ETH Zurich.
-- Copyright (c) 2014, HP Labs.
-- Copyright (c) 2015, Hewlett Packard Enterprise Development LP.
-- All rights reserved.
--
-- This file is distributed under the terms in the attached LICENSE file.
-- If you do not find this file, copies can be found by writing to:
-- ETH Zurich D-INFK, CAB F.78, Universitaetstr. 6, CH-8092 Zurich,
-- Attn: Systems Group.
--
-- Hakefile for lib/aos
--
--------------------------------------------------------------------------

[ build library { target = "aos",
                  architectures = [ "armv8" ],
                  cFiles = [ "arch/aarch64/debug.c",
                             "arch/aarch64/dispatch.c",
                             "arch/aarch64/sys_debug.c",
                             "arch/aarch64/syscalls.c",
                             "slot_alloc/single_slot_alloc.c",
                             "slot_alloc/slot_alloc.c",
                             "slot_alloc/range_slot_alloc.c",
                             "slot_alloc/twolevel_slot_alloc.c",
                             "aos_rpc.c",
                             "aos_rpc_ump.c",
                             "aos_rpc_lmp.c",
                             "aos_rpc_lmp_marshal.c",
                             "capabilities.c",
                             "coreset.c",
                             "coreboot.c",
                             "debug.c",
                             "deferred.c",
                             "dispatch.c",
                             "domain.c",
                             "event_mutex.c",
                             "event_queue.c",
                             "heap.c",
                             "init.c",
                             "inthandler.c",
                             "lmp_chan.c",
                             "lmp_endpoints.c",
                             "morecore.c",
                             "notificator.c",
                             "nameservice.c",
                             "paging.c",
                             "paging_region.c",
                             "ram_alloc.c",
                             "slab.c",
                             "sys_debug.c",
                             "networking.c",
                             "syscalls.c",
                             "systime.c",
                             "thread_once.c",
                             "thread_sync.c",
                             "threads.c",
                             "urpc.c",
                             "waitset.c" ],
                  assemblyFiles = [
                        "arch/aarch64/context.S",
                        "arch/aarch64/entry.S",
                        "arch/aarch64/cache.S"
                  ],
                  addIncludes =   [ "include", "include/arch/aarch64" ],
                  addLibraries = [ "cap_predicates", "hashtable", "rpc" ],
                  addCFlags = ["-DMORECORE_PAGESIZE=BASE_PAGE_SIZE"],
                  addGeneratedDependencies = [ "/include/asmoffsets.h" ]
                }
]
