ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 20140520 (make, makefile 실습)
    부산IT학원/스마트컨트롤러 2014. 5. 20. 14:10

    64일차








    ----------------------

    make, makefile

    ----------------------




    --- makefile


    ATMega128 makefile 처럼 흉내 내보기.


    소스


             : 변수

             : 라벨

             : 화면에 출력 안함



          CC=gcc

          CFLAGS=--save-temps -DNUM=50

          TARGET=main

          MSG_BEGIN=---------- begin ----------

          MSG_END=----------- end -----------

         

          run: rebuild

              @echo

              @./$(TARGET)

         

          rebuild: clean build

         

          build: begin smart end

         

          smart:

              $(CC) $(CFLAGS) -o $(TARGET) $(TARGET).c

         

          begin:

              @echo

              @echo $(MSG_BEGIN)

              @echo

              @echo

         

          end:

              @echo

              @echo

              @echo $(MSG_END)

              @echo

         

          clean:

              rm -rf $(TARGET)

              rm -rf $(TARGET).i

              rm -rf $(TARGET).o

              rm -rf $(TARGET).s

         





    명령 줄에서 make 만 쳤을 시 처음 나오는 라벨이 실행되므로

    run이 먼저 실행된다.


    먼저 소스파일만 있을 경우



    make.


    빨강줄이 가리키는 파일들이 생긴걸 볼 수 있다.






    make clean



    컴파일된 파일들이 삭제되는 것을 볼 수 있다.





    makefile을 이용하면 컴파일시 여러 옵션, 파일 삭제등등

    좀더 쉽고 편하게 컴파일을 할 수 있다.











    --- 라벨 오른쪽에 라벨이 아니면?


    run: main.exe

    @.\main.exe

    @rm -f main.exe


    라벨 다음에 라벨이 오지 않으면 그 이름에 해당하는 파일이 있는지 확인하고

    없으면 라벨을 실행시키지 않고 그 파일이 존재하면 아래 코드를 실행한다.



    예제)









    '부산IT학원 > 스마트컨트롤러' 카테고리의 다른 글

    20140522 (ATMeaga2560 외부 LED, LCD)  (0) 2014.05.22
    20140521 (ATMega2560)  (0) 2014.05.21
    20140519 (make, makefile)  (0) 2014.05.19
    20140516 (초음파 모듈)  (0) 2014.05.16
    20140515 (초음파 모듈)  (0) 2014.05.15
Designed by Tistory.