diff options
author | Mike Buland <eichlan@xagasoft.com> | 2006-08-22 05:04:16 +0000 |
---|---|---|
committer | Mike Buland <eichlan@xagasoft.com> | 2006-08-22 05:04:16 +0000 |
commit | b78ea37a6f8d289b9adb2b5bc565716168a00060 (patch) | |
tree | a19fd9489e7c7170882c52edae5f532141bec2e8 /build.conf | |
parent | e95c31f841b67fc69d93ec650fe285d34f996a1e (diff) | |
download | build-b78ea37a6f8d289b9adb2b5bc565716168a00060.tar.gz build-b78ea37a6f8d289b9adb2b5bc565716168a00060.tar.bz2 build-b78ea37a6f8d289b9adb2b5bc565716168a00060.tar.xz build-b78ea37a6f8d289b9adb2b5bc565716168a00060.zip |
The basic outline for all of the initial functions and rules has been set. The
parser and scanner are using the new system so they actually match functions
and whatnot and pass that data to the parser, it's very cool.
Diffstat (limited to '')
-rw-r--r-- | build.conf | 26 |
1 files changed, 14 insertions, 12 deletions
@@ -1,38 +1,40 @@ | |||
1 | # build.conf for build, kind of whacky, eh? | ||
2 | |||
1 | default action: check "build", check "cleanup" | 3 | default action: check "build", check "cleanup" |
2 | 4 | ||
3 | ["build", "cleanup"]: | 5 | ["build", "cleanup"]: |
4 | rule "exe", | 6 | rule "exe", |
5 | target file, | 7 | target file, |
6 | set "CXXFLAGS" = "-lBob", | 8 | set "CXXFLAGS" = "-lBob", |
7 | input [files("src/{target}" ), files("src/shared")] | 9 | input [filesIn("src/{target}"), filesIn("src/shared")] |
8 | 10 | ||
9 | [directoryName("src/tests")] filter /src\/tests/(.*)/tests\/{re:1}/: | 11 | [directoriesIn("src/tests")] filter regexp("src/tests/(.*)", "tests/{re:1}"): |
10 | rule "exe", | 12 | rule "exe", |
11 | target prefix "tests/", | 13 | target prefix "tests/", |
12 | target file, | 14 | target file, |
13 | input files("src/tests/{target}") | 15 | input filesIn("src/tests/{target}") |
14 | 16 | ||
15 | [directories("src/tests"), aoeua]: | 17 | [directoriesIn("src/tests"), "aoeua"]: |
16 | rule "exe", | 18 | rule "exe", |
17 | target file, | 19 | target file, |
18 | input files("src/{target}") | 20 | input filesIn("src/{target}") |
19 | 21 | ||
20 | "build": | 22 | "build": |
21 | input [files("src"), "boy.cpp"] filter /.*\.cpp$/, | 23 | input [filesIn("src"), "boy.cpp"] filter regexp(".*\\.cpp$"), |
22 | input filter /.*\.cpp$/, | 24 | input filter regexp(".*\\.cpp$"), |
23 | requires ["bob.cpp", "libbuild.a", "libbu++/libbu++.a"] | 25 | requires ["bob.cpp", "libbuild.a", "libbu++/libbu++.a"] |
24 | 26 | ||
25 | "bob.cpp": set "aoeu" = "food", requires "bob.bastard" | 27 | "bob.cpp": set "aoeu" = "food", requires "bob.bastard" |
26 | 28 | ||
27 | rule "exe" | 29 | rule "exe": |
28 | matches /(.*)\.o$/, | 30 | matches regexp("(.*)\\.o$"), |
29 | input filter toSpaces(), | 31 | input filter toString(), |
30 | perform command("stuff") | 32 | perform command("stuff") |
31 | 33 | ||
32 | rule "cpp": | 34 | rule "cpp": |
33 | matches /(.*)\.cpp$/, | 35 | matches regexp("(.*)\\.cpp$"), |
34 | produces "{re:1}.o", | 36 | produces "{re:1}.o", |
35 | requires commandToList( make, "g++ -M {match}"), | 37 | requires commandToList("make", "g++ -M {match}"), |
36 | perform command("stuff") | 38 | perform command("stuff") |
37 | 39 | ||
38 | 40 | ||