Я пытаюсь назначить вывод этой команды (то есть в моем Makefile) в Makefile HEADER вар, как в этой следующей строке кода:Присвоить значение переменной makefile команде bash?
HEADER = $(shell for file in `find . -name *.h`;do echo $file; done)
Проблема заключается в том, что если я печатаю ЗАГОЛОВКА в моем Makefile с помощью:
print:
@echo $(HEADER)
Я получаю
ile ile ile ile ile ile ile ile ile ile ile ile ile ile ile ile ile ile ile ile ile ile ile ile ile ile ile ile ile ile ile ile ile ile ile ile ile ile ile ile ile
и если я запускаю эту команду непосредственно в консоли, и непосредственно там, где мой Makefile является:
myaccount$ for file in `find . -name *.h`;do echo $file; done
./engine/helper/crypto/tomcrypt/headers/._tomcrypt_pk.h
./engine/helper/crypto/tomcrypt/headers/tomcrypt.h
./engine/helper/crypto/tomcrypt/headers/tomcrypt_argchk.h
./engine/helper/crypto/tomcrypt/headers/tomcrypt_cfg.h
./engine/helper/crypto/tomcrypt/headers/tomcrypt_cipher.h
./engine/helper/crypto/tomcrypt/headers/tomcrypt_custom.h
./engine/helper/crypto/tomcrypt/headers/tomcrypt_hash.h
./engine/helper/crypto/tomcrypt/headers/tomcrypt_mac.h
....
Таким образом, я получаю все файлы заголовков. Я делаю это, чтобы вручную не указывать все мои файлы .h в моем make-файле.
Любые идеи?
Очень хороший ответ :), я делаю это так, потому что в моем цикле for я фактически выполняю более сложные вещи, поэтому я просто разместил здесь небольшой фрагмент. Большое спасибо @ e.James. – Goles