Makefile %.o: %.cpp pattern
2022. 9. 29. 16:48ㆍProgramming
- 목차
반응형
SRC = a/a.cpp b/b.cpp c/c.cpp
BASE_DIR=./src
OBJ = $(patsubst %.cpp, $.o, $(SRC))
OBJS = $(addprefix $(BASE_DIR)/, $(OBJ))
%.o: %.cpp
g++ -std=c++17 -O0 -o $@ -c $^ -I /opt/homebrew/alib/include
target: $(OBJS)
g++ -std=c++17 -O0 -o $@ -c $^ -lpthread
위 example에서는 target에 의존을 $(OBJS)로 선언했습니다.
$(OBJS)는 object file들의 list임을 알 수 있습니다.
- ./src/a/a.o ./src/b/b.o ./src/c/c.o
각 object file들의 build를 수행하는 패턴이 "%.o: %.cpp" 입니다.
모든 object 파일들은 위 패턴으로 흘러가서 .o 파일을 생성하기 위해 빌드를 수행하게 됩니다.
반응형
'Programming' 카테고리의 다른 글
오픈소스 라이센스 (0) | 2022.12.13 |
---|---|
cmake 옵션(option) 사용 (0) | 2022.09.27 |
build shared lib on macOS (0) | 2022.09.27 |
맥에서 boost 설치 및 위치 확인 (0) | 2022.09.22 |
gtest 사용 (0) | 2022.09.21 |