본문 바로가기
개발하자

[Linux] Makefile 간단한 예제

by 밈밈무 2021. 11. 29.

[Makefile 예제] : make 명령어 하나만 치면 자동으로 컴파일이 된다.

1)Home directory에 make_example 디렉토리를 생성하고 해당 디렉토리로 이동한다.

2)vi editor로 Makefile 파일을 생성한다. 🍏tab에 유의하여 만들 것
-------------------------------------------------------------
all : mytest 🍏all : 최종 실행될 파일을 기술

mytest: main.o add.o 🍏mytest를 만들려면 아래와 같은 명령어 형식을 사용해야 함
gcc -o mytest main.o add.o

main.o: add.h main.c 🍏main.o 는 add.h와 main.c가 수정이 되면 다시 만들어져야 함

add.o: add.h add.c 🍏add.o는 add.h와 add.c가 수정이 되면 다시 만들어져야 함
-------------------------------------------------------------

3) main.c 를 생성한다.
-------------------------------------------------------------
#include <stdio.h>
#include "add.h"

void main(int argc, char* argv[])
{
        int result = 0;

        if (argc < 2) {
                printf("Usage : ./mytest <1st num> <2nd num>\n");
                return;
        }

        result = add(atoi(argv[1]), atoi(argv[2]));

        printf("Reuslt : %s + %s = %d\n", argv[1], argv[2], result);

        return;
}

-------------------------------------------------------------

4) add.h 를 생성한다.
-------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>

extern int add(int , int);
-------------------------------------------------------------

5) add.c 를 생성한다.
-------------------------------------------------------------
#include "add.h"

int add(int a, int b)
{
        int result;

        result = a + b;

        return result;
}
-------------------------------------------------------------


6) 명령어 프람프트에서 아래 Command를 실행한다.

student50@linux01:~/make_example$ make

7) mytest을 아래와 같이 실행해본다.

student50@linux01:~/make_example$ ./mytest 1 2