diff options
Diffstat (limited to '')
| -rw-r--r-- | congo | 86 |
1 files changed, 0 insertions, 86 deletions
| @@ -1,86 +0,0 @@ | |||
| 1 | # | ||
| 2 | # Simple build.conf test file | ||
| 3 | # | ||
| 4 | # you can have as many actions as you'd like, the one that's run by default is | ||
| 5 | # called "default action", you need a default action. | ||
| 6 | # | ||
| 7 | # Actions are filled with a comma-seperated list of commands, like "check xxx" | ||
| 8 | # to check to see if a target needs to be rebuilt | ||
| 9 | # | ||
| 10 | default action: check congo, check congod | ||
| 11 | |||
| 12 | # | ||
| 13 | # This action will only build the server program | ||
| 14 | # | ||
| 15 | server action: check congod | ||
| 16 | |||
| 17 | # | ||
| 18 | # After that, it helps to define some targets, things that commands usually | ||
| 19 | # refer to and interact with. | ||
| 20 | # | ||
| 21 | |||
| 22 | # | ||
| 23 | # "create file" will do just what it says, create a file based on some | ||
| 24 | # information and a rule. | ||
| 25 | # | ||
| 26 | # "from files in" tells us that a list of directories follows, and the input | ||
| 27 | # list for the rule should be built from these files. | ||
| 28 | # | ||
| 29 | # "using rule" tells us which rule to use to actuall create the file | ||
| 30 | # | ||
| 31 | create file congod from files in src/congod, src/shared using rule exe | ||
| 32 | create file congo from files in src/congo, src/shared using rule exe | ||
| 33 | |||
| 34 | create files "modules/db{name}.so" from directories in src/congod/db ... | ||
| 35 | from files in "src/congod/db/{name}" using rule lib | ||
| 36 | |||
| 37 | # | ||
| 38 | # After all of that, some targets or list items may have their own additional | ||
| 39 | # dependancies, depending on the rule that built them. You can define these | ||
| 40 | # extra dependancies using "xxx requires yyy" which will force the system to | ||
| 41 | # attempt to create yyy before xxx. | ||
| 42 | # | ||
| 43 | congod requires libcongo.a | ||
| 44 | congo requires libcongo.a | ||
| 45 | |||
| 46 | # | ||
| 47 | # There are a number of variables that the rules can use, including any in the | ||
| 48 | # environment. Sometimes you want to modify these, to do that you can use "set" | ||
| 49 | # and the name of the variable, along with what to do to it. | ||
| 50 | # | ||
| 51 | # You can use '=' to set the value, destroying what was there, or '+=' to add | ||
| 52 | # the new text to the variable, this will assume that the text you provide is | ||
| 53 | # made up of space-delimited tokens, and will ensure spaces surround them when | ||
| 54 | # they are added. | ||
| 55 | # | ||
| 56 | set CXXFLAGS += "-Ilibbu++/src" | ||
| 57 | set LDFLAGS += "-Llibbu++ -lbu++" | ||
| 58 | |||
| 59 | # | ||
| 60 | # Sometimes individual targets or list items require special settings, this is | ||
| 61 | # easy since build maintians a seperate set of variables for any items that need | ||
| 62 | # special support. | ||
| 63 | # | ||
| 64 | # Currently you can only set, for an item, later you may be able to do more. | ||
| 65 | # | ||
| 66 | for congo set LDFLAGS += "-lreadline" | ||
| 67 | |||
| 68 | # | ||
| 69 | # Finally, no file is complete without some rules. Rules determine how to | ||
| 70 | # fulfill target checking based on some input data. Generally this is going to | ||
| 71 | # be creating an executable from a list of source files. | ||
| 72 | # | ||
| 73 | # | ||
| 74 | # First specify the rule name, then you can filter the input list, if desired, | ||
| 75 | # in two ways. You can use items that match a regular expression, and execute | ||
| 76 | # the rule once for the whole list collectively, or once for each element that | ||
| 77 | # made it through the filter. | ||
| 78 | # | ||
| 79 | # Within the perform, there are several things that could go there, for now, | ||
| 80 | # just command, which takes a string, you can use {} for variable substitution. | ||
| 81 | # | ||
| 82 | rule exe matches all /(.*)\.o/ perform command ... | ||
| 83 | "g++ {matches} {LDFLAGS} -o {target}" | ||
| 84 | |||
| 85 | rule cpp matches one /(.*)\.cpp/ produces {1}.o perform command ... | ||
| 86 | "g++ {CXXFLAGS} -o {target} {match}" | ||
