Makefile의 대상 이후 태그 변경

Makefile의 대상 이후 태그 변경

다음과 같은 makefile 줄을 보았습니다.

$(LAST_TARGET_DIR)/%: LFLAGS += -lpthread -lrt -Wl,-uevaluate

제가 이해한 바에 따르면, $(LAST_TARGET_DIR)/%일치하는 대상이 있으며 대상 뒤에는 해당 종속 항목이 와야 합니다. 여기서 링크 플래그가 변경되는 이유는 무엇입니까?

답변1

특정 변수에 대해 서로 다른 값을 사용할 수 있게 해주는 GNU make의 기능입니다.표적또는무늬.

예를 들어,

LFLAGS = -lm
$(LAST_TARGET_DIR)/%: LFLAGS += -lpthread

%.exe: %.o common.o
    $(CC) -o $@ common.o $(@:%.exe=%.o) $(LFLAGS)

모든 .exe파일이 와 연결 되지만 -lm디렉터리의 파일은 $(LAST_TARGET_DIR)과 연결됩니다 -lm -lpthreads.

관련 정보