Integrate sockeye with hake
[barrelfish] / usr / skb / Hakefile
1 --------------------------------------------------------------------------
2 -- Copyright (c) 2007-2010, 2013, 2016 ETH Zurich.
3 -- All rights reserved.
4 --
5 -- This file is distributed under the terms in the attached LICENSE file.
6 -- If you do not find this file, copies can be found by writing to:
7 -- ETH Zurich D-INFK, Universitaetsstrasse 6, CH-8092 Zurich. Attn: Systems Group.
8 --
9 -- Hakefile for /usr/skb
10 --
11 --------------------------------------------------------------------------
12
13 let ramfs_files = find inDir "programs" ".pl" ++
14                   find inDir ("programs" </> "platforms") ".pl"
15     sockeyeFiles = [ "omap4460" ]
16     ramdisk = "/skb_ramfs.cpio.gz"
17     args arch = application {
18                         target = "skb",
19                                 cFiles = [ "skb_main.c", "skb_service.c", "queue.c",
20                                    "octopus/code_generator.c",
21                                    "octopus/predicates.c", "octopus/skb_query.c", 
22                                    "octopus/skiplist.c", "octopus/fnv.c", "octopus/bitfield.c" ],
23                         -- some include files cause problems...
24                         omitCFlags = [ "-Wshadow", "-Wstrict-prototypes" ],
25                         -- force optimisations on, without them we blow the stack
26                         addCFlags = [ "-O2" ],
27                         flounderBindings = [ "skb", "octopus" ],
28                         addIncludes = [ "/usr/eclipseclp/Kernel/src"],
29                         addLibraries = libDeps [ "eclipse", "shm", "dummies",
30                                                  "icsolver", "vfs_ramfs",
31                                                  "posixcompat", "hashtable", "pcre", 
32                                                  "octopus_server", "octopus_parser", "skb",
33                                                  "bench", "dmalloc", "lwip", "gmp" ],
34                        architectures = [ arch ]
35                 }
36 in
37   [ Rules [build (args arch) | arch <- [ "x86_64", "x86_32", "armv8", "armv7" ]],
38     Rule ( [ Str "bash",
39              In SrcTree "src" "skripts/mkcpio",
40              NoDep SrcTree "src" "", Out "root" ramdisk]
41              ++ [ In SrcTree "src" f | f <- ramfs_files ]
42              ++ [ In BuildTree "" (sockeyeFactFilePath f) | f <- sockeyeFiles ] )
43   ]