Makefile 에서 foreach 문...

freezm7의 이미지

안녕하세요.


SUB_SYSTEMS = GUI data

all :
    $(foreach SS, $(SUB_SYSTEMS), $(MAKE) -C $(SS))

라고 했더니,

make -C GUI make -C data

이렇게 한줄의 명령이 되어 버려서 소용이 없네요.

이것을,

make -C GUI
make -C data

이렇게 두줄로 나누는 법을 모르겠습니다.

Windows 환경이구요, gnu make 3.74 입니다.

sangwoo의 이미지

freezm7 wrote:
안녕하세요.


SUB_SYSTEMS = GUI data

all :
    $(foreach SS, $(SUB_SYSTEMS), $(MAKE) -C $(SS))

라고 했더니,

make -C GUI make -C data

이렇게 한줄의 명령이 되어 버려서 소용이 없네요.

이것을,

make -C GUI
make -C data

이렇게 두줄로 나누는 법을 모르겠습니다.

Windows 환경이구요, gnu make 3.74 입니다.

$(MAKE) -C $(SS); 처럼 세미콜론을 붙여 주면 되지 않을까요?
(윈도우 환경이라.. 될지 안될지 잘 모르겠군요.)

----
Let's shut up and code.

freezm7의 이미지

윈도에선 ; 로 한행에 여러 명령을 넣을 수 없더군요.

즐겁게 살아 볼까나~*

freezm7의 이미지

foreach ... 문 대신,

윈도우의 스크립트 언어를 쓰면 되네요.


for %d in ($(SUB_SYSTEMS)) do $(MAKE) -C %d

윈도우에도 쉘 스크립트 기능이 있긴 있네요.
리눅스 쉘을 따라가기야 할까만은...

즐겁게 살아 볼까나~*