Написание рецептов внутри блока ifeq в Makefiles - PullRequest
0 голосов
/ 14 июля 2020

Я относительно новичок в Makefiles. У меня есть следующий (упрощенный) код как часть моего Makefile. Я хочу sh знать, можно ли объявить цель и рецепт внутри оператора else. Допустимо ли это писать рецепт внутри блока ifeq. Если нет, подскажите, как его улучшить.

CUR_PI_VERSION:= abc
CUR_GIT_VERSION:= cde

LAST_PI_VERSION:= bbc
LAST_GIT_VERSION:= cde

$(info $$CUR_GIT_VERSION is [${CUR_GIT_VERSION}])
$(info $$CUR_PI_VERSION is [${CUR_PI_VERSION}])

$(info $$LAST_GIT_VERSION is [${LAST_GIT_VERSION}])
$(info $$LAST_PI_VERSION is [${LAST_PI_VERSION}])

ABC_AG := ./abc_ag.py
ABC_KG := ./abc_kg.vhd
ABC_OC := ./abc_ef.txt

ifeq ($(CUR_PI_VERSION)@$(CUR_GIT_VERSION),$(LAST_PI_VERSION)@$(LAST_GIT_VERSION))
|   #echo "Everything matched, so don't need the make top"
else
# is this valid !!!  
.PHONY: $(ABC_KG)
$(ABC_AG) $(ABC_KG) $(ABC_OC):
    printf "\t TEST \n"
endif


clean: clean_fpi
clean_fpi:
    @rm -f $(ABC_KG); \
|   rm -f $(ABC_OC); \
|   rm -f $(ABC_AG);

Спасибо. Любые отзывы приветствуются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...