blob: feed13c81f4c73abdb5b52bcb511910e175758b1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
@@ It would be nice if configuration happens only when it is
required. For example if I need to build something that
uses CORBA then only in this case happens configuration of
CORBA facilities.
@@ 'configure' should depend on 'clean'
@@ What if I change something in config file (let's say archive to shared)
and then say make - things will break.
@@ It would be nice if I could keep build/ outside of the project. This
is going to be very useful when multiple projects share the same
build system.
@@ it would be nice to have a project_base which will be
$(root)/example/project. However, in normal most cases project will be
the same as root, right? Look at CCF. Some comments:
Saying -I$(root) would be exactly what I need if its value would be
.../example/project. This, according to the concept of clusters, could
be achived if I make .../example/project a cluster (which is quite
natural thing to do). It would also be a good example of a cluster.
@@ Right now I have one global implicit rule for the project. In most
cases this is probably enough. But what if I want to use different
rules for different sub-projects (config clusters). For example two
parts of the same project could use different compilers or ORB or...
Probably the generic approach would be to provide sub-dir specific
rules.
@@ concept of configuration clusters (no more src_root).
@@ Can I get rid of src_root and out_root (i.e. can they be /)?
@@ It would be nice if I could configure the same sub-system
(like CORBA) for dirrefent parts of the project differenty.
@@ Do I really need those configuration clusters? Is the structure
of CCF right? Or am I just trying to hide problems of wrong
structuring? Isn't it overcomplication? Even if not shouldn't
I postpone this until I gain more experience?
---------------------
@@ Each project includes (in its root directory) copy of the build system.
@@ The build system is configuration cluster.
@@ Configuration cluster sets src/out_root.
@@ Configuration cluster can inherit configuration from its parent.
@@ Configuration cluster can override inherited values.
@@ sub-projects in configuration cluster should not refer to anything
outside of this cluster.
|