Cómo vincular explícitamente la ruta de la biblioteca a través de un a

Cómo vincular explícitamente la ruta de la biblioteca a través de un archivo MAKE

Instalé una biblioteca en tiempo real libre de brew install libre en mi macOS. Se encuentra en el directorio /usr/local/Cellar/libre/0.5.7. Estoy tratando de agregar explícitamente esta ruta en Makefile, así que declaro RT_LIBS_PATH=-L/usr/local/Cellar/libre/0.5.7. Todo el archivo MAKE se ve así:

TARGET = run
LIBS = -O2 -lm
CC = gcc-7
CFLAGS = -fopenmp
RT_LIBS_PATH=-L/usr/local/Cellar/libre/0.5.7/lib


.PHONY: default all clean

all: $(TARGET)

OBJECTS = $(patsubst %.c, %.o, $(wildcard *.c))
HEADERS = $(wildcard *.h)

%.o: %.c $(HEADERS)
    @$(CC) $(CFLAGS) $(RT_LIBS_PATH) -c $< -o $@

.PRECIOUS: $(TARGET) $(OBJECTS)

$(TARGET): $(OBJECTS)
    @$(CC) $(OBJECTS) $(CFLAGS) $(LIBS)  -o $@

clean:
    -rm -f *.o
    -rm -f $(TARGET)

Sin embargo, parece que el archivo MAKE no reconoce el libre, así que asumo que uso RT_LIBS_PATH=-L/usr/local/Cellar/libre/0.5.7/lib de manera incorrecta. Amablemente, ¿hay algo mal de esta manera?

Mostrar la mejor respuesta

Debe especificar la ruta de la biblioteca cuando está creando .o, debe especificarla cuando vincule todos los objs al ejecutable

$(TARGET): $(OBJECTS)
    @$(CC) $(OBJECTS) $(CFLAGS) $(RT_LIBS_PATH) $(LIBS)  -o $@