building a port with very long list of build options

Chris Rees utisoft at gmail.com
Fri Apr 22 07:43:59 UTC 2011


On 22 April 2011 08:08, Carl <k0802647 at telus.net> wrote:
> On 2011-04-21 8:52 PM, Polytropon wrote:
>>
>> This has been possible and common in the past. For example,
>> the many options for the mplayer and mencoder ports could
>> be specified in a file, so changing of a port's file was
>> not needed. I'm not fully sure this option is still present,
>> but at least on v7 it worked.
>>
>> Create a file Makefile.local in the port's directory and
>> specify all your options as desired. This file will be
>> sourced when you issue a "make" command and will override
>> settings of the regular Makefile (e. g. if you want
>> different CFLAGS for _this_ port). The file is to be in
>> the known syntax, NAME=value.
>
> Does that solution allow for locating Makefile.local outside the ports tree
> so as not to contaminate builds for other targets using the same ports tree?
>
> On 2011-04-21 9:11 PM, Mehmet Erol Sanliturk wrote:
>>
>> If you read the make manual page , you will see the following option :
>>
>>               ...
>>
>>      *-f* *makefile*
>>             Specify a makefile to read instead of the default one.
>>
>>              ...
>>
>>  which is used as
>>
>> make -f your_own_make_file_name
>>
>> This form will override the Makefile present in the current directory
>> and will use the specified make file with name your_own_make_file_name .
>
> Yes, I did see that, but I interpreted that to mean my make file *replaces*
> the original, in which case I would need to populate my make file not only
> with the list of build options I want but also a copy of everything in the
> original make file. If I'm correct, that doesn't seem to me to be a good
> idea from a maintenance perspective. I was hoping for something like the -f
> option that somehow inserted rather than replaced.
>

Or, at the bottom of your Makefile defining variables (including
BATCH= yes to skip the OPTIONS dialog), stick the line:

.include "Makefile"

and use make -f _my_Makefile

Chris


More information about the freebsd-questions mailing list