[sr-dev] Makefile troubles

Daniel-Constantin Mierla miconda at gmail.com
Wed Jul 21 10:50:43 CEST 2010



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.

Cheers,
Daniel

-- 
Daniel-Constantin Mierla
http://www.asipto.com/




More information about the sr-dev mailing list