On 7/21/10 10:46 AM, Timo Reimann wrote:
Daniel-Constantin Mierla wrote:
>>>>> Friends, I feel like an idiot. I've been trying to compile
>>>>> Kamailio
>>>>> 3.0.2 with presence for hours. I have edited make files, read the
>>>>> INSTALL and tried many things... I just can't get it.
>>>>>
>>>>> I think something is wrong in the build system and the
>>>>> documentation.
>>>>> I will fight a bit more to get some more detailed information for
>>>>> you
>>>>> to work with, but it worries me that I can't figure this out by
>>>>> myself. Something propably needs to change to make Kamailio more
>>>>> "oej-compatible" ;-)
>>>>>
>>>>>
>>>>>
>>>>>
>>>> Frankly, I feel similar about 3.0's build system. When I build
>>>> sr the
>>>> other day I too had the impression that docs and Makefiles don't
>>>> match
>>>> up nicely. IMHO, Kamailio 1.5's way of building was more intuitive.
>>>>
>>>>
>>>>
>>>>
>>> maybe the confusions come now from multiple directories storing the
>>> modules, in some cases you would need to use the name of the
>>> directory
>>>
>>> One of the features of the new makefile system is the ability to
>>> remember settings by two generated config files:
>>> - config.mak
>>> - modules.lst
>>>
>>> In this way is not needed to give all command line parameters to
>>> make
>>> and make install everytime.
>>>
>>>
>>>
>> Ah ok, good to know.
>>
>> So is there still a way to disregard those two files for a specific
>> Make
>> run and use parameters given on the command-line only? Or do you
>> always
>> have to edit config.mak and modules.lst?
>>
>>
>>
>>
> these files are auto-generated. If you run 'make cfg', e.g.,:
>
> make PREFIX=/usr/local/kamailio FLAVOUR=kamailio
> include_modules="db_mysql presence presence_xml" cfg
>
> will create the config.mak and modules.lst with appropriate variable
> set.
>
> If you do not run 'make cfg', is automatically run by simple 'make'
> command, without any extra parameters.
>
>
Let's assume that I usually build a set of modules given in
modules.lst.
Now, say I want to run another build where some modules missing in the
config file should be build, and let's also assume that I explicitly
want to ignore a bunch of modules which are included in modules.lst.
The
build deviations should affect a single build run only but not any
subsequent builds.
Would I need to change the config file(s) for that special build (and
later revert them), or could I do it by means of giving Make parameters
that override cfg settings?
as said, these files are auto-generated. In the 1.x, you had to do:
make PARAMETERS all; make PARAMETERS install
now you can do:
make PARAMETERS cfg; make all; make install
You can overwrite in some cases, for example:
make modules modules=modules_k/pdt
will compile only the pdt module from K.
Gotcha. Thanks for clearing things up.