Tôi có thư viện C++ được tạo bằng cách sử dụng Makefile. Cho đến gần đây, tất cả các nguồn là trong một thư mục duy nhất, và Makefile đã làm một cái gì đó như thế nàyNguồn từ thư mục con trong Makefile
SOURCES = $(wildcard *.cpp)
mà làm việc tốt.
Bây giờ tôi đã thêm một số nguồn nằm trong thư mục phụ, hãy nói subdir
. Tôi biết tôi có thể làm điều này
SOURCES = $(wildcard *.cpp) $(wildcard subdir/*.cpp)
nhưng tôi đang tìm kiếm một cách để tránh quy định cụ thể subdir
bằng tay, có nghĩa là, làm wildcard
nhìn vào các thư mục con, hoặc tạo ra một danh sách các thư mục con bằng cách nào đó và mở rộng nó với một số wildcard
chức năng. Tại thời điểm này, có một giải pháp không đệ quy (có nghĩa là, chỉ mở rộng cấp độ đầu tiên) sẽ là tốt.
Tôi chưa tìm thấy bất kỳ điều gì - phỏng đoán tốt nhất của tôi là sử dụng find -type d
để liệt kê các thư mục con, nhưng nó giống như một hack. Có cách nào tích hợp để thực hiện việc này không?
có thể trùng lặp của [Ký tự đại diện đệ quy trong GNU tạo ra?] (Http://stackoverflow.com/questions/2483182/recursive-wildcards-in-gnu-make) –
@Jeroen phải là cách khác vì câu hỏi này có một câu trả lời vượt trội (sử dụng '**'). – rightfold