Я хочу построить свои флаги компоновщика LDFLAGS
из списка библиотек с их полными путями. Вот где / почему я застрял. (Названия библиотек в стиле Linux, но, думаю, это не должно иметь значения, как решить эту проблему.)
FULL_LIBS = \
./path1/libone.a \
../../path2/libtwo.a
# etc.
LIB_DIRS = $(dir $(FULL_LIBS))
LIB_NAMES = $(basename $(notdir $(FULL_LIBS)))
LIB_NAMES_TRIMMED = # zzz trim leading "lib" somehow??? This is what I don't know how to do, or at least the best way
LDFLAGS += \
$(addprefix -L, $(LIB_DIRS)) \
$(addprefix -l, $(LIB_NAMES_TRIMMED))
Желаемый результат, если он неочевиден, должен быть похож на
LDFLAGS += -L./path1 -L../../path2 -lone -ltwo
Не уверен, что я НЕОБХОДИМ регулярные выражения (или sed
/ awk
/ grep
), поэтому я пока удержу этот тег ( regex ).