본문 바로가기
IT/Unix

make 모든 파일을 컴파일 하는 예제

by Spring Up!! 2017. 6. 1.
반응형

make 는 빌드 자동화 툴이다. 

make 는 GNUmakefile, makefile, Makefile 라는 이름의 파일을 찾고,

Makefile 에 기술한 내용을 바탕으로 실행파일이나 라이브러리를 소스코드로 부터 만들어낸다.


  • “$@” - 현재 target 파일
  • “$^” - 현재 타겟의 종속 입력 리스트
  • $(shell echo *.cpp) // 모든 파일명을 가져온다
  • $(basename $i).o // basename 은 . 앞의 파일명을 가져온다
  • $(foreach i, arr, var) // arr 의 각 항목 i에 대해 var 를 산출한다
  • make 의 인자로 전달된 TARGET들은 MAKECMDGOALS 변수에 저장된다


※ 다음은 디렉토리 안의 모든 파일에 대해 컴파일 하는 소스이다

CC  =   g++

CFLAGS = -Wall -fPIC


.PHONY: all

all: $(foreach i,$(shell echo *.c),$(basename $i).o)


%.o:    %.c

    $(CC) $(CFLAGS) -c $^ -o $@


반응형

'IT > Unix' 카테고리의 다른 글

dbus 로 서비스 실행하기  (1) 2023.12.27
git cimmit 간의 변경 파일 리스트 뽑기  (0) 2023.03.07
unix 파일 내용 지우기  (0) 2017.09.08
특정 포트로 SSH 접속  (0) 2017.05.24
유용한 vi 명령어  (0) 2017.05.08
Unix 기본 명령어  (0) 2017.05.06

댓글