본문 바로가기

C 언어/임베디드 C

makefile 만들어보기

 

간단한 컴파일은 실행시켜 준다


make 명령어 추가


CC = gcc


all : main.o test.o

 @echo TEST C MAKE # echo 메시지를 출력한다

        @$(CC) -o emb main.o test.o


main.o : main.c

 @echo main.o를 만들었습니다

 @$(CC) -c main.c


test.o : test.c

 @$(CC) -c test.c

 @echo main.o를 만들었습니다


clean :

 @rm -rf main.o

 @rm -rf test.o

 @rm -rf emb


run : all

 @ls -al

 @./emb


추가된 명령어들을 보면

CC = gcc 변수를 선언한 경우입니다 실제 gcc문구들은 $(CC)로 바꾸어서 사용한다.

다르게 설명하면

CC = -g -c or CC = main.o test.o 와 같은 긴문장을 해결 할때 간편하게 작성하는 역할을 한다


@ 명령문을 보이지 않게 한다

linux)make all 하게되면

$(CC) -o emb main.o test.o 메시지를 출력하게 되는데 @을 걸어주면 메시지가 출력않는다


echo make 명령중 메시지를 출력하고 싶을때 사용


예를 들어 위에 linux)make main.o 를 실행시

아래에 main.o를 만들었습니다 라고 출력되며 echo앞에 @있어 echo는 출력 되지 않는다


# 주석처리 한다라는 뜻입니다 C언어에서 (// 와 /* */)주석처리 되는것과 같다


CC = gcc

all: main.o Hexaview.o
  $(CC) -o Hexaview main.o Hexaview.o

main.o: main.c
  $(CC) -c main.c
Hexaview.o: Hexaview.c
  $(CC) -c Hexaview.c

clean:
  @echo main.o Hexaview.o Hexaview eraser
  rm -rf main.o
  rm -rf Hexaview.o
  rm -rf Hexaview

run: all
  ls -al
  ./Hexaview




'C 언어 > 임베디드 C' 카테고리의 다른 글

지역변수  (0) 2011.04.25
함수의 정의  (0) 2011.04.25
두 함수에 문법적 오류는 없지만 실행 파일이 만들어지지 않는 경우  (0) 2011.04.20
구구단 출력하기  (0) 2011.04.19
함수의 호출과 실행  (0) 2011.04.19