compile não invoca .bashrc porque a compilação usa um shell interativo e bash invoca .bashrc quando invocado como um interativo shell não-login .
Felizmente, bash tem um mecanismo para inicializar shells não interativos através da variável de ambiente BASH_ENV :
When Bash is started non-interactively, to run a shell script, for example, it looks for the variable
BASH_ENVin the environment, expands its value if it appears there, and uses the expanded value as the name of a file to read and execute. Bash behaves as if the following command were executed:
if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fibut the value of the
PATHvariable is not used to search for the file name.
Portanto, se você definir a variável de ambiente BASH_ENV como $HOME/.bashrc , ela deverá invocar seu .bashrc no sub-shell compile .
Configurar variáveis de ambiente para aplicativos do OS X Mavericks parece ser uma aventura em si. Eu finalmente recorri a colocá-lo no meu arquivo .emacs , por exemplo:
(setenv "BASH_ENV" "$HOME/.bashrc")