2017-04-12 1 views
-1

다음 터미널 명령은 컴파일 및 리눅스C 코드를 Arm 어셈블리 코드와 링크시키는 Makefile을 작성하려면 어떻게해야합니까?

rm *.o 
gcc -c printS.c -o printS.o 
as lab8.S -o lab8.o 
gcc lab8.o printS.o -o lab8test 

내가 메이크 파일을 작성한 적이없는 나는 이런 식으로 뭔가가 하나의 가치가 그림에 내가 .c와 .S 파일을 링크합니다. 어떤 도움을 주셔서 감사합니다.

+0

이 질문보기 http://stackoverflow.com/questions/4827618/compiling-c-file-with-assembler-file-dependencies#4827835 –

답변

1

모든 파일을 만들 때와 같은 방법입니다. 거기에는 수많은 예제와 웹 페이지가있을 것이라고 확신합니다.

ideally_the_result : dependencies 
<tab>the commands 
<tab>the commands 
<tab>the commands 
그래서

printS.o : printS.c 
    gcc -c printS.c -o printS.o 

그리고 당신이 사용하고있는 각 명령에 대한 규칙을합니다. 난 당신이 즉

을 (청소하게) 정리를 커버하는 메이크업도

clean : 
    rm -f *.o 
    rm -f lab8test 

의 명령 줄 옵션을 해달라고 경우는 기본이되도록 먼저 마지막 1 점을 추가하는 듯 추천 그냥 작동하는 슈퍼 간단한 방법. 거기에서 당신은 모든 종류의 프로그램을 만들 수 있습니다. (프로그램 특정, gnu make 대 다른 것) 특수 문자는 복잡한 규칙을 만드는 것을 의미합니다.

+0

이것은 매우 유용합니다. 거기에 예제가 있지만 어셈블리 파일을 연결할 때 다르게 작동하는지 확실하지 않습니다. –

+2

makefile을 컴파일 링이나 링크와 아무 관련이 없다고 생각하면 프로그램 실행에 사용되는 스크립트 언어 일뿐입니다. 프로그램은 무엇이든 될 수 있으며, 툴체인과 관련되어서는 안됩니다. 프로그램에서 FFT를 수행하는 오디오 파일을 구문 분석하고 gnuplot 형식의 데이터 파일을 만든 다음 다른 규칙에서 데이터 파일을 가져 와서 gnuplot을 호출하여 png를 생성 할 수 있습니다. –

관련 문제