STRUCTURE


VARIABLES

%% It would be nice to be able to include makefile in a way that
   variables are restored.

@% I definitely need some naming convention for "global" variables.
   Since I include potentially unknown makefiles (like library
   dependecies) I cannot predict what they do. This is another
   argument for variable framing.
   
   Some ideas:
   
    - Variables that start and end with '%' are considered global
      and system. Subsystems may define such vars if there is
      a real need. (Currently defined names should be documented
      here. Each subsystem should document names that it defines.)
      Subsystem should prefix each such var with its name (e.g. cxx_).
   
    - Variables that contain '-' are considered 'functions' and not
      framed. Generally subsystems should define those. The names
      should be chosen carefully in order not to cause name clashes.
      (Each subsystem should document names that it defines).
      Subsystem should prefix each such function with its name 
      (e.g. cxx-).
      
    - Variables that appear in %frame_exclude% are not framed. General 
      rule is to add only special one-word functions (usually defined
      by base subsystem) that are used often and thus having one-word
      terse name is very important; for example 'include' or 'import'
   

%% After the inclusion of dependency makefiles I cannot use src_base 
   becasue it was reset by the included file. So I am forced to use 
   src_root now which will hurt especially sore when I include from 
   sub-directories.



DEPENDENCIES : STRUCTURE

@@ It would be nice to be able to chose dependency type project-wise 
   and on a by-makefile basis. This could be tricky, however.

@@ Missing headers assumed generated with some inflexible logic (cur dir).
   This can also vary among compilers (which is not something I would worry
   too much as long as g++ works). Can I make it more reliable? Maybe capture
   this (or essential) dependecies in a Makefile?

@@ Can I specify dependencies in CORBA projects manually. Do I want to do 
   that?

@@ Don't include dependecies when cleaning (configuring?).



MISC

@@ If I have generated idl files in src directory then build in some other 
   directory will fail or will use wrong headers.

%% .NOT_DEFAULT: target in make?

%@ configuration targets should not be parallel. try make -j 4 Maybe I can
   detect that those files do not exist and disable parallelism for this
   run. See .MUTEX bug (#3656).

@@ relative paths and pattern matching does not work very well together
