Tôi muốn viết một Makefile sẽ chạy thử nghiệm. Kiểm tra nằm trong thư mục './tests' và các tệp thi hành được kiểm tra nằm trong thư mục './bin'.
Khi tôi chạy thử nghiệm, họ không thấy tệp exec, dưới dạng thư mục ./bin không nằm trong $ PATH.
Khi tôi làm một cái gì đó như thế này:
EXPORT PATH=bin:$PATH
make test
mọi thứ hoạt động. Tuy nhiên tôi cần phải thay đổi $ PATH trong Makefile.
đơn giản nội dung Makefile:
test all:
PATH=bin:${PATH}
@echo $(PATH)
x
It in con đường một cách chính xác, tuy nhiên nó không tìm thấy tập tin x.
Khi tôi làm điều này bằng tay:
$ export PATH=bin:$PATH
$ x
tất cả mọi thứ là OK rồi.
Làm cách nào để thay đổi $ PATH trong Makefile?
Bạn có thể không chỉ gọi các kiểm tra từ thư mục thực thi như '../ test/test_to_run'? Xin lỗi nếu tôi đã hiểu sai câu hỏi. – Chris
Tôi muốn tệp này hiển thị cho các bài kiểm tra bình thường. Tôi không muốn chơi với các thư mục, vì tôi tái cấu trúc nó sẽ là một cơn ác mộng. –
Cách duy nhất bạn có thể tiến gần đến điều này là để makefile viết ra một kịch bản lệnh shell chứa biến đó và sau đó có nguồn gốc của trình bao cha với tập lệnh '.'. Điều này có lẽ là không thực tế. –