티스토리 뷰
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .SUFFIXES : .c .o OBJECTS = main.o test1.o test2.o test3.o SRCS = main.c test1.c test2.c test3.c CC = gcc CFLAGS = -w -c -mpreferred-stack-boundary=2 TARGET = test $(TARGET) : $(OBJECTS) @echo "------------------------------------" @echo [Complie] Make Test $(CC) -o $(TARGET) $(OBJECTS) @echo [OK] Make Test @echo "------------------------------------" rm -rf $(OBJECTS) clean : rm -rf $(OBJECTS) $(TARGET) new : @$(MAKE) -s clean @$(MAKE) -s main.o : define.h main.c test1.o : define.h test1.c test2.o : define.h test2.c test3.o : define.h test3.o | cs |
.SUBFIXES : 확장자
OBJECTS : 오브젝트 파일
SRCS : 소스 파일
CC : 컴파일러
CFLAGS : 컴파일러 옵션
TARGET : 최종적으로 생성되는 파일명
$(TARGET) : $(OBJECTS) => 컴파일할 내용이 들어가 있음
clean : 파일 정리
new : 파일을 새로 작성할 때 할 내용
.o : 오브젝트 파일 컴파일 시 어떻게 컴파일 할건지
자세한 내용은 생략... 적당히 파일 이름만 바꿔써도 잘 돌아감
사용방법
1 2 3 | $ vim MakeFile ............... // MakeFile 내용 작성 $ make | cs |
※ make랑 make install이랑 좀 다른거임, 구글에 검색하면 잘 설명되어 있음
에러 해결 방법
모르는 에러가 하나씩 발생할 때 마다 정리...
missing separator 에러
1 2 | $ make Makefile:7: *** missing separator. Stop. | cs |
7번째 줄에 Tab(\t)이 제대로 되지 않아 에러가 발생한 것이다. 7번째 줄에 Tab을 넣어주면 해결된다.
※ Tab을 했는데도 에러가 발생하는 경우 : vim 설정으로 Tab 간격을 4로 설정하여 Tab을 한 번한 경우, 위 에러가 발생하더라. 이런 경우는 그냥 Tab을 한 번 더 넣어서 본래 기본 Tab 간격처럼 맞춰주면 된다.
'Programming > C' 카테고리의 다른 글
C++ 파일 내용 정규식 매칭 (0) | 2017.09.06 |
---|---|
C++ 깔끔한 패턴 및 코딩 연습 백업 (0) | 2017.08.30 |
List Control 사용하기 (0) | 2016.11.07 |
단일 환형 연결리스트 구현 (0) | 2016.11.04 |
error LNK2001 오류 해결 방법 (0) | 2016.10.31 |
댓글