1
2Flounder:
3
4 - Interface files are in /if/<foo>.if
5 - Header files go into /include/if/<foo>_types.h
6 - Server stub is ./<foo>_server_stub_<suffix>.c
7 - Client stub is ./<foo>_client_stub_<suffix>.c
8
9Out of tree builds:
10
11 - There are n trees...
12 
13 - Current "source" tree (which may be small, just the app being
14   built).
15 
16 - Current "build" tree, which is where the output files go.
17
18 - Current "install" tree, which is where we look for include files
19   and libraries.   This might be a subset of a full core OS build
20   tree. 
21
22 - Include paths, etc. must therefore specify if they refer to the
23   build tree or the install tree, and we must copy all include files
24   from the source tree to the build tree. 
25
26 - Dependencies must now specify "tree", "arch", and "path". 
27
28 - Tokens are currently:
29
30data RuleToken = In String String       -- Input to the computation
31               | Out String String      -- Output of the computation
32               | Dep String String      -- Extra (implicit) dependency
33               | NoDep String String    -- File that's not a dependency
34               | PreDep String String   -- One-time dependency
35               | Target String String   -- Target that's not involved
36               | Str String             -- String with trailing " "
37               | NStr String             -- Just a string
38               | NL                     -- New line
39
40This becomes:
41
42data TreeRef = SourceTree | BuildTree | InstallTree
43
44data RuleToken = In     TreeRef String String -- Input to the computation
45               | Dep    TreeRef String String -- Extra (implicit) dependency
46               | NoDep  TreeRef String String -- File that's not a dependency
47               | PreDep TreeRef String String -- One-time dependency
48               | Out    String String   -- Always Build
49               | Target String String   -- Always Build
50               | Str String             -- String with trailing " "
51               | NStr String             -- Just a string
52               | NL                     -- New line
53
54-----------
55Later: 
56
57data Arch = ARM | Beehive | X86_32 | X86_64 
58