Tente:
export LD_LIBRARY_PATH := /usr/local/lib:$(LD_LIBRARY_PATH)
install:
#Do Install actions
Veja a Seção 5.3 do Manual do Make para obter uma explicação da suposição correta de Bruce sobre subshells, que nos leva a esta resposta no StackOverflow , que afirma que todos os comandos devem ser executados como um forro único.
Atualizar
Como o one liner não funcionou, use o seguinte, como exemplo (estou incluindo os arquivos abaixo para que o makefile final funcione):
Filelist :
hellomacke.c
#include
int main() {
// call a function in another file
myPrintHelloMake();
return(0);
}
hellofunc.c
#include
#include
void myPrintHelloMake(void) {
printf("Hello makefiles!\n");
return;
}
hellomake.h
/*
example include file
*/
void myPrintHelloMake(void);
End Filelist
Makefile
IDIR =../include
CC=gcc
CFLAGS=-I$(IDIR)
ODIR=obj
LDIR =../lib
LIBS=-lm
_DEPS = hellomake.h
DEPS = $(patsubst %,$(IDIR)/%,$(_DEPS))
_OBJ = hellomake.o hellofunc.o
OBJ = $(patsubst %,$(ODIR)/%,$(_OBJ))
$(ODIR)/%.o: %.c $(DEPS)
$(CC) -c -o $@ $< $(CFLAGS)
hellomake: $(OBJ)
gcc -o $@ $^ $(CFLAGS) $(LIBS)
.PHONY: clean
clean:
rm -f $(ODIR)/*.o *~ core $(INCDIR)/*~
O makefile acima usa Macros e Expansão de Cadeia para configurar adequadamente os diretórios include e libraries, sem a necessidade do comando export
. No seu caso, passar /usr/local/libs
para LDIR
e, em seguida, compilar deve começar.
Referências
Colby College, Maine, Departamento de Ciência da Computação - Tutorial Makefile
O Processador de Macro M4 - Colar Substituição