Can someone add to the PH a version of the advice below? It might need to be fleshed out a bit to provide more context.

Kris

Variable assignments with != are bad! Try as hard as you can to avoid using them -- especially in Mk/*! Every time something processes your makefile it will spawn a command, even if it is not relevant for the operation being performed. If you need to run shell commands, try to isolate them within a makefile target. You can avoid code duplication by assigning the *shell commands* (not their output) to a variable and inserting it into your code block.

e.g. instead of

--
VARIABLE!=    do some shell stuff; do some other stuff

target:
    echo ${VARIABLE}
--

do this (or similar):

--
VARIABLE_CMDS=    do some shell stuff; do some other stuff

target:
    echo $$(${VARIABLE_CMDS})
--

This defers the command execution to the point where the target runs, so in the case when the target is *not* run (e.g. during INDEX builds or other recursive port traversals), then you avoid wasting one or more process executions.


_______________________________________________
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to