Em mới tiếp xúc với makefile gặp case này mong các bác hỗ trợ. Em có cây thư mục kiểu này.
~/project tree
.
├── ma
│ └── tests
│ └── Makefile
├── Makefile
└── script.sh
Em đang trong thư mục ~/project
có file bash script script.sh
, em cần chạy script này và file script này có chứa đoạn mã
# trong script.sh
make test_1 test_2
Makefile của em trong ~/project
lại chứa đoạn mã kiểu
.PHONY test_1
test_1:
$(MAKE) -C ma/tests $@
.PHONY test_2
test_2:
$(MAKE) -C ma/tests $@
Và Makefile của em trong ~/project/ma.tests
lại chứa đoạn mã kiểu
.PHONY: test_1
test_1:
sh script_1.sh
.PHONY: test_2
test_2:
sh script_2.sh
Em có một số thắc mắc sau:
- Có phải khi em chạy
script.sh
nó sẽ chạy Makefile bên ngoài rồi truy cập Makefile bên trong đúng không? -
.PHONY
để làm gì ạ? -
$(MAKE)
là gì ạ và khi gọi$(MAKE) -C ma/tests $@
nó sẽ làm gì
Em cám ơn mn.