리눅스 일반 메이크 파일 작성

일반적으로 프로젝트 파일이 많은 경우 gcc 도구를 사용하여 컴파일 명령을 직접 입력하는 것이 더 번거롭기 때문에 makefile을 작성하는 이점이 있습니다. 매번 컴파일하려면 make 만 입력하면됩니다.

다음은 범용 버전입니다. 현재 디렉토리에있는 파일 수에 관계없이 makefile을 수정하지 않고 직접 주 실행 프로그램을 생성하기 만하면됩니다.

다음은 makefile입니다.


# 크로스 컴파일 도구 체인 # CC = arm-linux-gnueabihf-gcc
CC = gcc

# 링크 라이브러리
CFLAGS = -lm -lpthread


#c 파일 가져 오기 SrcFiles = $ (와일드 카드 * .c)


# 대체 함수를 사용하여 .o 파일 얻기 OBJS = $ (patsubst % .c, %. o, $ (SrcFiles))

모두 : 메인
메인 : $ (OBJS)
$ (CC) -o $ @ $ ^ $ (CFLAGS)

% .o : %. c
$ (CC) -c $ <$ (CFLAGS)

.PHONY : 모두
깨끗하게 정리 :
rm -rf $ (OBJS)
rm -rf main

여기에 보충

와일드 카드 함수는
대체 함수가있는 지정된 파일 patsubst 함수 를 가져 오는 것 입니다.
$ (Files), File 변수의 값을받습니다.
$ @ 대상 파일
$ ^ 모든 종속
$ <첫번째 종속
$? 첫번째 종속 변경

추천

출처blog.csdn.net/u010835747/article/details/108407047