+--On 22 avril 2016 11:54:21 +0800 Julian Elischer <[email protected]> wrote: | 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 bsd.autotools.mk 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 | /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 :-)
If you want to change things on a port by port basis, you can:
1) use poudriere to build you a jail with a patch you provide, and build
ports with poudriere testport or poudriere bulk.
2) on each port's directory, you create a Makefile.local and put your
things in it.
3) in /etc/make.conf you use some kind of construct like:
.if ${.CURDIR:M*editors/vim}
FOO=bar
.endif
--
Mathieu Arnold
pgpPHWdTeKCQo.pgp
Description: PGP signature
