У меня проблемы с моим make-файлом. Я хочу иметь "главную" цель, которая автоматически обрабатывает различные каталоги и копирует их в указанное c местоположение. Но почему-то условие ifneq с подстановочным знаком не работает должным образом, давая мне всегда один и тот же результат, независимо от того, выполняется условие или нет.
Я пытаюсь:
# Basically the same thing for all targets
% :
ifeq ($(wildcard $(TOP)/flow/$@),)
$(error Directory $(TOP)/flow/$@ not found. Aborting. Debug: $(wildcard $(TOP)/flow/$@))
else
$(error Directory $(TOP)/flow/$@ found!. Debug: $(wildcard $(TOP)/flow/$@))
endif
As Например, в $ (TOP) / flow существует каталог core , но не pwr . Цель Make действует так, как будто они оба существуют.
➜ work ✗ make core
Makefile:20: *** Directory TOPFOLDER/flow/core found!. Debug: TOPFOLDER/flow/core. Stop.
➜ work ✗ make pwr
Makefile:20: *** Directory TOPFOLDER/flow/pwr found!. Debug: . Stop.
Почему это так? Здесь не видно, что я делаю не так.
Спасибо за помощь!