리눅스 파일 설치과정 / Makefile 작성 / 윈도우에서 make하기. nmake
1) source code
2) ./configure [옵션] (생략)
옵션에 따라 Makefile 생성
이 때 configure 파일은 source code 제작자가 마음대로 만든 shell script이기 때문에 옵션 설명을 읽어봐야함.
3) make
Makefile에 나와있는 source code간의 관계, 필요한 컴파일러 등을 참고해서
컴파일한다.
4) make install
적당한 디렉토리로 파일을 이동시키거나, make 결과인 설치파일을 실행한다.
빌드 스크립트 자동으로 만들어주는 패키지들.
```bash
apt-get install autoconf, automake, libtool, autoscan
```
Makefile 작성법
```make
target: dependencies
command
e.g.,
sum.o: sum.h sum.cpp
g++ -c -o sum.o sum.cpp
main.o: sum.h main.cpp
g++ -c -o main.o main.cpp
sum_test: sum.o main.o
g++ -o sum_test main.o sum.o
clean:
rm -f *.o
```
`` Makefile``의 공백은 모두 tab 문자여야 함!!! vim에서 자동으로 스페이스로 변환해서 들어가는 경우가 있는데, 다음 에러가 발생한다.
```bash
Makefile:4: *** missing separator. Stop.
이럴 때는 ``c :set noexpandtab``
자주 쓰는 Makefile
```make
CC := g++
# CFLAGS := -g
OBJECTS := $(patsubst %cpp,%o,$(wildcard src/*.cpp)) $(patsubst %c,%o,$(wildcard src/*.c))
HEADERS := $(wildcard src/*.h)
LDLIBS := -lnetfilter_queue
TARGET := nfq_test
$(TARGET): $(OBJECTS)
$(CC) -o $(TARGET) $(OBJECTS) $(LDLIBS)
%.o: %.cpp $(HEADERS)
$(CC) $(CFLAGS) -c -o $@ $<
.PHONY: clean new
clean:
rm -f $(OBJECTS) $(TARGET)
new:
$(MAKE) clean
$(MAKE)
```
윈도우에서 make하기. => nmake
VS 2017용 x64 네이티브 도구 명령 프롬프트
x86 Native Tools Command Prompt for VS 2017
를 실행하고, 프롬프트 뜨면 Makefile 있는 곳으로 경로 이동해서 `` nmake`` 치면 된다.
x86으로 빌드할거냐, x64으로 빌드할거냐 신경써야 함.
'OS > LINUX & UNIX' 카테고리의 다른 글
xinetd / micro-inetd (0) | 2016.09.26 |
---|---|
Shell shock (0) | 2016.08.15 |
[LINUX & UNIX] Conf file Path, 설정, log (0) | 2016.08.10 |
r 계열 명령어 (0) | 2016.08.09 |
[LINUX & UNIX] Command (0) | 2016.08.08 |