>>>>>> 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.
welcome. The new makefile system is 'new' :-) for me as well, but
looks more powerful. Another thing that I like is grouping modules:
make every-module group_include=kpresence
will build all K presence modules. The pre-defined groups follow closely debian packaging
- see Makefile.
Also, when you need to add a new module in compile list, you edit modules.lst, not
touching Makefile means only that extra module will be compiled, not a full recompilation
of everything (core+modules).