기본틀
명령어: 의존파일들
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 |