Add explicit dependency from asmoffsets.s to errno.h
[barrelfish] / tools / asmoffsets / Hakefile
1 --------------------------------------------------------------------------
2 -- Copyright (c) 2007-2009, 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, Haldeneggsteig 4, CH-8092 Zurich. Attn: Systems Group.
8 --
9 -- Hakefile for tools/asmoffsets
10 --
11 --------------------------------------------------------------------------
12
13 concat [ let
14     kopts = kernelOptions arch
15     opts = kopts { -- Need this to exclude asmoffsets.h!
16                    optDependencies = [d | d <- optDependencies kopts,
17                                       d /= Dep InstallTree arch "/include/asmoffsets.h"]
18                  }
19    in
20      -- asmoffsets.s here is not the output it is the stem of the presumed
21      -- output for the dependency.
22      [ Rule (makecToAssembler opts { extraDependencies =
23                                         extraDependencies opts ++
24                                         [ Dep BuildTree arch
25                                               "/include/errors/errno.h" ] }
26                               "src" "asmoffsets.c" "asmoffsets.s"),
27        makeDependAssembler opts "src" "asmoffsets.c",
28        Rule [ Str "grep -E '^#(if|ifndef|ifdef|define|undef|endif)'",
29            In BuildTree arch (assemblerFilePath opts "asmoffsets.c"),
30            Str "| sed 's/\\$$//'",
31            Str "| sed -e 's_#\\([0-9]\\)_\\1_' >",
32            Out arch "/include/asmoffsets.h" ]
33      ] | arch <- allArchitectures]