aboutsummaryrefslogtreecommitdiff
path: root/build.conf
diff options
context:
space:
mode:
authorMike Buland <eichlan@xagasoft.com>2006-08-22 05:04:16 +0000
committerMike Buland <eichlan@xagasoft.com>2006-08-22 05:04:16 +0000
commitb78ea37a6f8d289b9adb2b5bc565716168a00060 (patch)
treea19fd9489e7c7170882c52edae5f532141bec2e8 /build.conf
parente95c31f841b67fc69d93ec650fe285d34f996a1e (diff)
downloadbuild-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.conf26
1 files changed, 14 insertions, 12 deletions
diff --git a/build.conf b/build.conf
index 2115fb0..47bbba5 100644
--- a/build.conf
+++ b/build.conf
@@ -1,38 +1,40 @@
1# build.conf for build, kind of whacky, eh?
2
1default action: check "build", check "cleanup" 3default 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
27rule "exe" 29rule "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
32rule "cpp": 34rule "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