Vì vậy, để biên dịch tệp thực thi của tôi, tôi cần phải thiết lập đúng vị trí thư viện. Vấn đề là, thiết lập xuất phát từ một loạt các kịch bản làm biến env xuất và những thứ cần được thiết lập có thể thay đổi (ngoài tầm kiểm soát của tôi) vì vậy tôi cần sử dụng các tập lệnh đó thay vì sao chép chức năng của chúng. Để biên dịch trong dòng lệnh thông thường, tôi cần phải làm điều gì đó như:Làm thế nào để xử lý thiết lập môi trường trong makefile?
setup library1
setup library2
source some_other_setup_script.bash
g++ blah.c
# setup is a executable on my system that run some scripts
Làm cách nào để viết một makefile hoàn thành? Theo như tôi đã thử, biến env xuất không mang theo (ví dụ: "VAR xuất khẩu = ghi nhớ; echo $ VAR" sẽ không hoạt động)
Tôi cũng nhận ra rằng tôi nên sử dụng $$ VAR để làm cho sẽ không nghĩ rằng tôi đang trích dẫn một macro ... – polyglot
Nó không thực sự có nghĩa là. GNU chỉ đơn giản là chạy một shell mới cho mỗi dòng trong comand. (Tôi nghi ngờ ông kết hợp hai lệnh với; ngắn gọn) http://www.gnu.org/software/make/manual/make.html#Execution "Khi đến lúc thực hiện các lệnh để cập nhật một mục tiêu, chúng được thực hiện bằng cách gọi một subshell mới cho mỗi dòng lệnh. " –