Започнах да анализирам TI X-Loader, включително неговите makefiles. Намерих следните редове в горния makefile:
TOPDIR := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)
и
ifeq (include/config.mk,$(wildcard include/config.mk))
...
Относно първия ред: знам, че "$PWD" означава стойността на PWD (работната директория)
Моят въпрос:
защо двойният знак за долар в този специален случай?
Относно втория ред: Опитвам се да разбера какво се сравнява и защо. Вече изредих ръчното обяснение за заместващи символи на GNU MAKE. Все нещо ми липсва.
Моите въпроси:
за какво е "$(заместващият знак"?
Кои config.mk файлове точно се сравняват един с друг?
Защо се сравняват? (този въпрос е повече за структурата на makefile)
Благодаря за помощта предварително.
Мартин
$$
се използва за препратка към променлива на shell,$
за препратка към променлива make. 3. Редътwildcard
изглежда излишен. - person devnull   schedule 13.01.2014