Я пытаюсь консолидировать некоторую информацию сборки, используя общий make файл. Моя проблема в том, что я хочу использовать этот makefile из разных уровней подкаталога, что делает непредсказуемым значение рабочего каталога (pwd
). Например:
# Makefile.common
TOP := $(shell pwd)
COMPONENT_DIR := $(TOP)/component
COMPONENT_INC := $(COMPONENT_DIR)/include
COMPONENT_LIB := $(COMPONENT_DIR)/libcomponent.a
Если я включаю Makefile.common
из подкаталога, так же, каталог $(TOP)
неверен, и все остальное следует примеру:
# other_component/Makefile
include ../Makefile.common
# $(COMPONENT_LIB) is incorrectly other_component/component
Какой лучший способ получить Makefile.common
использовать свой собственный путь к каталогу вместо более изменчивого pwd
?