[asterisk-dev] [Code Review] 3212: Makefile: fix so "make main" works without compiling deps (unless needed)

Matt Jordan reviewboard at asterisk.org
Thu Feb 13 09:55:27 CST 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/3212/#review10870
-----------------------------------------------------------


I'd say that we could consider this a 'bug' in the build system. We shouldn't be building things that don't need to be built.

What do you think about merging this in in 1.8+?

- Matt Jordan


On Feb. 12, 2014, 2:34 a.m., wdoekes wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/3212/
> -----------------------------------------------------------
> 
> (Updated Feb. 12, 2014, 2:34 a.m.)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Repository: Asterisk
> 
> 
> Description
> -------
> 
> When I want to test that my svn-merged code works, I look at the diff and I check that the compilation succeeds.
> 
> The quickest way is then to build only the subdirectory where the changed code resides.
> 
> E.g. when changing something in res_config_pgsql.so:
> 
>     make res
> 
> However, when something is changed in main, it will compile *all* the other dirs first. Making me wait.
> 
>     ifeq ($(findstring $(OSARCH), mingw32 cygwin ),)
>         # Non-windows:
>         # ensure that all module subdirectories are processed before 'main' during
>         # a parallel build, since if there are modules selected to be embedded the
>         # directories containing them must be completed before the main Asterisk
>         # binary can be built
>     main: $(filter-out main,$(MOD_SUBDIRS))
> 
> I doubt that more than 1% of the people uses embedded modules. Don't make the rest of us wait!
> 
> This change adds a second check for the $(MENUSELECT_EMBED) variable: if it is empty, we do not add the dependency.
> 
> 
> Diffs
> -----
> 
>   /trunk/Makefile 407969 
> 
> Diff: https://reviewboard.asterisk.org/r/3212/diff/
> 
> 
> Testing
> -------
> 
> Ran a bunch of make, make clean, make distclean, make main, with and without module embedding selected.
> 
> If any module is embedded, the dependency is enforced like before.
> If no module embedding is selected, main compiles directly.
> 
> 
> Thanks,
> 
> wdoekes
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20140213/4074fd84/attachment.html>


More information about the asterisk-dev mailing list