donde se instala mi biblioteca en este archivo MAKE. cómo cambiar la ubicación de los encabezados instalados y los archivos .so.0

entonces tengo un Makefile simple

# SPDX-License-Identifier: (GPL-2.0)
CC := gcc

all: common_params.o common_user_bpf_xdp.o common_libbpf.o

CFLAGS := -g -Wall

LIBBPF_DIR = ../libbpf/src/
CFLAGS += -I$(LIBBPF_DIR)/build/usr/include/  -I../headers
# TODO: Do we need to make libbpf from this make file too?

common_params.o: common_params.c common_params.h
    $(CC) $(CFLAGS) -c -o [email protected] $<

common_user_bpf_xdp.o: common_user_bpf_xdp.c common_user_bpf_xdp.h
    $(CC) $(CFLAGS) -c -o [email protected] $<

common_libbpf.o: common_libbpf.c common_libbpf.h
    $(CC) $(CFLAGS) -c -o [email protected] $<

.PHONY: clean

clean:
    rm -f *.o

Entonces, ¿qué es CFLAGS? parece que es simplemente algo global. ciertamente algún tipo de variable de entorno relacionada con Make

SO Asumo que cuando ejecuto el comando make, mi libbpf se instala en el directorio /home/fawad/bpf/xdp/libbpf/Makefile se dirige a la ubicación real de libbpf.

Así que asumo que cuando ejecuto el programa, mi sistema busca encabezados libbpf en el directorio /home/fawad/bpf/xdp/libbpf/src/build/usr/include/

Entonces, ¿lo estoy haciendo bien? Pero si quiero especificar la ubicación de mi archivo libbpf .so, ¿hay algo que pueda hacer como cambiar este Makefile de alguna manera? Se puede especificar -L /usr/lib/x86-64/usr/para que las bibliotecas compartidas se instalen con este makefile. /usr/lib/x86-64/usr, o necesito cambiar los archivos MAKE individuales del archivo MAKE fuente de las bibliotecas

Answer