C언어

makefile (script language)

twoweeks-within 2024. 11. 7. 18:37

기본틀

명령어: 의존파일들   
    gcc 옵션 실행파일명 소스파일들

>>

test : main.o sum.o
     gcc -o test main.o sum.o

매크로 : 명령어, 파일들 조차 간편하게 

 

EXE = 파일명
OBJS = .o 파일들 
$@ : 현재 타겟
$^ : 의존성 파일들
-f : 파일이 없어도 안전하게 작동하게 해줌
의존파일들이 없으면 > 명령어로 따로 쳐줘야함 ex) make clen

CROSS= 

CC = $(CROSS)gcc : (gcc 로 선언)

CFLAGS = -I./include -g  // 디렉토리 지정 , -g : 디버그정보
DEFINES= -DDEBUG  //define 설정
CFLAGS = -./include $(DEFINES)   // 현 디렉토리내 include 에 define 
LDFLAGS = -lpthread  //라이브러리 플래그 // 플래그라는 라이브러리가 추가됨
strip 명령어 용량이 줄어듬
// ls -l 파일명 #으로 크기확인 가능 

%.o : %.c
        $(CC) $(CFLAGS) -c $< -o $@
//모든 .o file > .c 파일로부터 생략하기


$< , %^ 차이
$< : 개별 소스파일 (첫번 째 의존성 파일)
$^ : 모든 의존성파일( 링크단계, 여러파일 묵을때)
% : 패턴에서 사용되는 와일드카드( 단수) : %.c  
C_SRC = $(wildcard *.c)
// *.c로 된 파일들이 싹 포함(복수) > C_SRC 로 초기화
OBJ = $(C_SRC :.c =.o)

// 띄어쓰기 주의.. .c > .o 로 바꾼뒤 OBJ 로 초기

'C언어' 카테고리의 다른 글

정리 - 2 -  (0) 2024.11.11
각종 정리 -1  (2) 2024.11.08
[c] 채팅프로그램  (0) 2024.11.07
[c] 헤더파일, 문자열입력  (0) 2024.11.07