Makefile을 통해 여러 방랑 상자를 병렬로 시작

Makefile을 통해 여러 방랑 상자를 병렬로 시작

평소 동시에 사용해야 하는 방랑 상자가 3개 있어서 모두 동시에 시작하기 위해 Makefile을 만들었습니다. 글쎄, 실제로 차례로.

Makefile은 기본적으로 다음과 같습니다.

up:
        cd box1 && vagrant up;
        cd box2 && vagrant up;
        cd box3 && vagrant up;

차례대로 시작하기 때문에 시간이 많이 걸립니다. 하지만 많은 시간이 기다리기만 하고 아무 일도 일어나지 않습니다. 그래서 필요한 시간을 줄이기 위해 병렬로 시작하고 싶습니다.

단순히 &뒤에 추가하는 것은 vagrant up작동하지 않습니다. $(), 또는 사이에 넣으면 ""작동하지 않습니다 ``.

이 상자들을 병렬로 시작하려면 어떻게 해야 합니까?

그건 그렇고, 나는 그것을 zsh지각으로 사용합니다.

답변1

이제 나는 이 질문에 스스로 대답할 수 있다. Makefile은 다음과 같아야 합니다.

.PHONY: up box1_up box2_up box3_up

up: box1_up box2_up box3_up

box1_up:
    cd box1 && vagrant up;

box2_up:
    cd box2 && vagrant up;

box3_up:
    cd box3 && vagrant up;

다음과 같이 호출하세요.make -j3 up

관련 정보