[sr-dev] Makefile troubles

Timo Reimann timo.reimann at 1und1.de
Wed Jul 21 11:10:46 CEST 2010


Daniel-Constantin Mierla wrote:
> 
> 
> On 7/21/10 10:53 AM, Timo Reimann wrote:
>> Daniel-Constantin Mierla wrote:
>>   
>>>
>>> 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.
>>    
> 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).

One last questions: What's the difference between skip_modules and
exclude_modules?



More information about the sr-dev mailing list