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 작성법

```bash
make -p
```

```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