On 18.10.2013 11:32, janI wrote:
Hi.

due to the discussion in thread "Mentor a new build system", I have made a
proposal for a central Makefile located in main.
Hi Jan,

it is great that you are going to improve this part of the build system. But I think that we need more details about how the proposed build system works. Without them I can not really evaluate the proposal.

Some remarks regarding the missing options:

--from <module>
This is one of the more important options and one that I use frequently (also in the form --all:<module>). Note that if you are in <moduleA> and call 'make --from <moduleB>' then all modules are built
   a) which <moduleA> depends on
   b) but not those that <moduleB> depends on
   c) Both <moduleA> and <moduleB> are built.

--prepare
Also one option that is important for our every day work. Use case: You make changes in <module> and are not sure if these changes are compatible/incompatible. To be on the safe side you discard the output of all depending modules. To save time you keep the output of all other modules.

Often used together with '--from' like 'make --prepare --from svx' to prepare a build after making changes in svx.

--since <module>
A variant of '--from'. The only difference is that <module> itself is not built.

If your proposed approach is similar to what my script produces then it is not too difficult to support --from/--since. I made some experiments in this direction but was to lazy to finish them.

--job
--pre_job
--post_job
  These are sometimes handy to run a non-standard command for all modules.

- I have not used the rest of the unsupported options and would not miss them. Others may have other sets of options that are important to them.


Some general remarks:

- Why keep one makefile per module? Why not put all the inter-module dependencies into one file (like my script does)? - Why not use the oportunity to move (a part of) the build environment out of the way to, say, build/ ?

- How are dependencies between modules handled (just the manual dependencies from prj/build.lst or also the file dependencies introduced by gmake). - How is the output of the individual calls to dmake or GNU make handled/made accessible. Ie. if there is a build error, how can I look up the corresponding build output?

- Are the gmake makefiles included (run in the same process) or is GNU make started for them it its own process?


Regards,
Andre


It has been roughly tested it, thanks to a clever utility from andre.

As discussed build.pl contains a lot of options, which need to be
considered in a makefile.

My suggestion is on
http://wiki.openoffice.org/wiki/Build_System_Analysis:build.pl_versus_makefile

Please feel free to edit/comment on the page. I have reduced to options a
lot, and some of them might be in use.

thanks in advance for your comments.



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org
For additional commands, e-mail: dev-h...@openoffice.apache.org

Reply via email to