compiling ports with --sysroot= and -isystem

Julian Elischer julian at
Fri Apr 22 03:54:33 UTC 2016

On 22/04/2016 11:18 AM, olli hauer wrote:
> On 2016-04-22 04:04, Julian Elischer wrote:
>> How can I add entries (like the above) to a port compile?
>> I want to ADD things to CFLAGS.
>> If I add 'CFLAGS=...' to the build (for example, of lsof)  it actually replaces all the CFLAGS already there.
>> lsof (as the example) uses configure, so I would need to feed the added stuff into configure. Is there a standard way to do this?
>> In the environment I'm using, I'm building for a machine that is not the build machine, but an appliance.
>> It has a small number of differences in the include file contents, so I want it to compile using a different set of includes than those in /usr/include.
>> On the other hand I'm building a bunch of tools that do have t orun on the build machine and they need to use the regular /usr/include so I don't really want to replace them..
>> Julian
>> p.s. usual "please reply directly" comment applies.. I'm on this list but get it in digest form..
> Use the '+=' notation, e.g.
> # Makefile
> ...
> CFLAGS+=	"--sysroot=...."
> ...

sorry I wasn't clear..

I want to add something to the make command, not edit Makefiles.

I could add something to or some similar Makefile 
include. but really I want to do it on a case by case basis.
there is an averall Makefile (using gmake)  that effectively does:
cd /usr/ports/$(PORT_DIR); $(BMAKE) $(ARGS) install clean

(except it does a lot of them)

I want to know what to add to $(ARGS) to make it use the correct 
include files.  my current "work-around" is to do:

mv /usr/include /usr/include.hold; ln -s $(STAGING_DIR)/usr/include 
cd /usr/ports/$(PORT_DIR); $(BMAKE) $(ARGS) install clean
rm /usr/include; mv /usr/include.hold /usr/include

this is *NOT* a clean solution :-)

More information about the freebsd-ports mailing list