Develop
2003.04.23 11:15

[c/c++] Makefile 사용하기.. ㅋㅋ

조회 수 7391 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
소스 코드를 모두 입력하면, 이 코드를 컴파일하고 링크한다.
수동으로 컴파일 한다는 것은 매우 어렵다.
유닉스와 MS도스/윈도우 모두 make 라 부르는 컴파일 과정의 세밀한 부분을 처리해 주는 유틸리티가 있다.
(마이크로소프트사의 비주얼C++는 이 유틸리티를 nmake라고 한다)

Makefile 에 컴파일에 대한 규칙이 있으며, 이것은 컴파일러 종속적이다.
다음은 컴파일러 별 Makefile 이다.

----------------------------------------------------------------------
make 유틸리티는 조금은 귀찮고 사용자가 당황할 수도 있는 규칙이 하나 있다.
    $(CC)    $(CFLAGS)    -o    calc    calc.c

위의 줄은 반드시 탭(tab)으로 시작해야 하며, 절대로 탭 대신에 8개의 공백을
사용해서는 안되고, 탭 앞에  공백이 있어도 작동하지 않는다.
이 줄은 반드시 탭으로 시작해야 한다.
----------------------------------------------------------------------


## 일반 유닉스

File: calc/Makefile.unx
#----------------------------#
# GNU C 컴파일러를 사용하는  #
# 일반 유닉스를 위한 Makefile  #
#----------------------------#
CC=gcc
CFLAGS=-g
#
# 컴파일러 플래그:
#    -g                        -- 디버깅 켬

calc: calc.c
    $(CC)    $(CFLAGS)    -o    calc    calc.c

clean:
    rm -rf calc



## FSF의 gcc 컴파일러를 사용하는 유닉스

File: calc/Makefile.gcc
#-----------------------------#
# GNU C 컴파일러를 사용하는    #
# 유닉스 시스템의 위한 Makefile #
#-----------------------------#
CC=gcc
CFLAGS=-g -D__USE_FIXED_PROTOTYPES__ -ansi
#
# 컴파일러 플래그:
#    -g                        -- 디버깅 켬
#    -Wall                    -- 모든 경고 활성화
#                                    (프로그램 안에서 모든 버그를 수정한 수에는 사용하지 않음)
#    -D__USE_FIXED_PROTOTYPES__
#                               -- 컴파일러가 수정된 헤더파일을 사용하도록 만듬
#    -ansi                    -- GNU 확장을 사용하지 않음. ANSI C를 사용

calc: calc.c
    $(CC)    $(CFLAGS)    -o    calc    calc.c

clean:
    rm -f calc



## 볼랜드 C++

File: calc/Makefile.bcc
#-----------------------------------------------#
# 볼랜드 사의 볼랜드 C++ 컴파일러를 위한 Makefile #
#-----------------------------------------------#

CC=bcc
CFLAGS=-N -v -w -ml
#
# 컴파일러 플래그:
#    -N                        -- 스택 오버플로우 체크
#    -v                         -- 디버깅 활성화
#    -w                        -- 모든 경고 활성화
#    -ml                       -- Large 모델

calc.exe: calc.c
    $(CC)    $(CFLAGS)    -ecalc    calc.c

clean:
    erase calc.exe



## 터보 C++

File: calc/Makefile.tcc
#---------------------------#
# 터보 C 컴파일러를 사용하는 #
# 도스 시스템의 Makefile        #
#---------------------------#
CC=tcc
CFLAGS=-v -w -ml

calc.exe: calc.c
    $(CC)    $(CFLAGS)    -ecalc    calc.c

clean:
    erase calc.exe



## 비주얼 C++

File: calc/Makefile.msc
#-----------------------------------------#
# 마이크로소프트사의 비주얼 C++ 컴파일러를 #
# 사용하는 도스 시스템을 위한 Makefile         #
#-----------------------------------------#
CC=c1
CFLAGS=/AL /Zi /W1
#
# 컴파일러 플래그:
#    -AL                       -- Compile for large model (Large 모델)
#    -Zi                        -- 디버깅 활성화
#    -W1                       -- 모든 경고 활성화

calc.exe: calc.c
    $(CC)    $(CFLAGS)    calc.c

clean:
    erase calc.exe

?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
981 Develop [ios] 앱에서 다른 앱 실행시키기 file hooni 2013.09.05 18633
980 System/OS [linux] CentOS 터미널 언어 설정(한글/영어) hooni 2013.12.22 18631
979 System/OS 해커스랩 깨기.. 후후.. ㅋㅋ file hooni 2013.04.23 18529
978 Develop [ios] iphone SetDeviceOrientation 화면 강제 회전 hooni 2013.11.20 18518
977 Develop [vc++] 게임 소스 등.. ㅋㅋ file hooni 2013.04.23 18408
976 System/OS NAT와 DHCP에 대한 간단한 설명 hooni 2013.04.23 18407
975 System/OS [windows] 인터넷 익스플로러(IE) 도구모음 표시줄에 아이콘 추가 file hooni 2013.04.23 18292
974 Develop [js] jQuery 관련 사이트 링크 모음 hooni 2013.04.23 18280
973 Develop [ios] NSString 간단한 정규식 사용법 hooni 2014.01.28 18269
972 System/OS [bios] 시스템 부팅 도중 발생하는 비프음 hooni 2003.04.23 18254
971 Develop [js] 동적(innerHTML)으로 자바스크립트 실행하기.. 2 file hooni 2013.04.23 18238
970 System/OS [windows] 종료, 재시작, 로그아웃 아이콘 만들기 hooni 2013.04.23 18209
969 Develop [python] 애니팡, 캔디팡 매크로 file hooni 2013.09.06 18138
968 System/OS [web] 웹서비스 취약점 자료.. (논문첨부) file hooni 2003.04.23 18063
967 PPT [doc] 인공지능 관련 자료(채팅로봇도 포함..) file hooni 2013.04.23 18048
966 System/OS [linux] 리눅스,유닉스 /proc/stat 파일 보는 법 hooni 2013.04.23 18031
Board Pagination Prev 1 ... 11 12 13 14 15 ... 74 Next
/ 74