Посмотрите на следующий make-файл (который не работает) ...
export CC = gcc
export CFLAGS = -W -Wall -fPIC -m32
USER = $(DB_USER)
export USER
PASS = $(DB_PASS)
export PASS
SUBDIRS = libs dbserver
.PHONY: subdirs $(SUBDIRS)
subdirs: $(SUBDIRS)
$(SUBDIRS):
$(MAKE) -C $@
Переменные DB_USER
и DB_PASS
определены в отдельном внешнем файле, conf.sh
, например:
export DB_USER=<username>
export DB_PASS=<password>
Затем они требуются в make-файлах внутри SUBDIRS
.
Если я запускаю . conf.sh
в командной строке, а затем вызываю make, тогда USER
и PASS
присваиваются правильные значения, и компиляция выполняется отлично. Но я хочу вызвать conf.sh
внутри make-файла, чтобы эти переменные могли быть установлены. Как я могу сделать это?