cross compile 중에 host 실행파일을 생성하는 방법.
Top directory │ ├ first_directory ─ configure.in, Makefile.in, src1.c header1.h │ ├ build_directory ─ Makefile, build_script.sh, configure, src2.c header2.h │ ├ build_help_directory ─ configure, Makefile.in, src3.c header3.h │ └ other_directory ─ configure.in, Makefile.in, src4.c header4.h
first_directory, build_directory, other_directory는 cross compile로 빌드하고
build_help_directory는 host 실행파일로 빌드하여 build_directory로 갖고 와서 build_directory를 cross compile 할 때 필요합니다.
최상위에서 ./configure (매개변수 생략) 실행하도록 하면
각각의 하위 디렉토리(build_help_directory 제외)에 있는 configure 파일과 Makefile 의
CC=, AR= 등등에 최상위에서 설정한 cross compiler 정보가 설정되고
위와 같이 하기 위해
build_directory의 Makefile에서 build_script.sh 셸스크립트 파일을 실행시켜서
build_help_directory를 host 실행파일로 빌드하게 하였습니다.
위와 같이 build_help_directory으로 이동하여 host에서 실행할 수 있는 실행파일을 만들고 싶은데
Makefile에서 실행시킨 스크립트 파일에서 build_help_directory를 ./configure와 make를 실행하면
host compiler 정보가 아닌 cross compiler 정보가 설정되어 빌드됩니다.
cross compiler 정보가 아닌 host compiler 정보로 설정되도록 할 수 있을까요?
생각해보면 환경변수에 cross compiler 정보를 넣고 make 할 거 같은데
other_directory도 있어서 환경변수를 아예 바꿔버리면 안되고
바꾸고 다시 복구하고 하려면 쉽지 않을 것 같긴 하네요.
cross compile 할 때 host 실행파일이 필요한 경우가 많이 있을 거 같은데
어떤 식으로 하는지 모르겠네요.
https://kldp.org/node/73181
https://kldp.org/node/73181
세벌 https://sebuls.blogspot.kr/
댓글 달기