Makefile 사용법

1. 컴파일을 위한 스크립트 파일 작성

다음은 C 파일과 Pro*c 파일을 컴파일하기 위해 예제로 작성된 스크립트 파일이다.

#!/bin/ksh
# program compile
#


#main

        Param=$1
        case "$Param" in
                c)                      export COMP_TARGET=$2
                                        make -f Makefile.c;;
               pc)                      export COMP_TARGET=$2
                                        make -f Makefile.pc all;;
            clean)                      make -f Makefile.pc clean;;
                *)                      echo "Usage: $0 argument";;
        esac

2. Makefile 작성

다음은 C 파일을 컴파일하기 위해 예제로 작성된 Makefile이다.

<Makefile.c>

# Server makefile
TARGET  = $(COMP_TARGET)
APOBJS  = $(TARGET).o
LIBS    = -laps
OBJS    = $(APOBJS) $(SDLOBJ) $(SVCTOBJ)
SVCTOBJ = $(TARGET)_svctab.o
CFLAGS  = -O -I$(WEBTOBDIR)
APPDIR  = $(WEBTOBDIR)/ap
SVCTDIR = $(WEBTOBDIR)/svct
LIBDIR  = $(WEBTOBDIR)/lib
.SUFFIXES : .c
.c.o:
        $(CC) $(CFLAGS) -c $<
$(TARGET): $(OBJS)
        $(CC) $(CFLAGS) -L$(LIBDIR) -o $(TARGET) $(OBJS) $(LIBS)
rm -f $(OBJS)
$(APOBJS): $(TARGET).c
        $(CC) $(CFLAGS) -c $(TARGET).c
$(SVCTOBJ):
        touch $(SVCTDIR)/$(TARGET)_svctab.c
        $(CC) $(CFLAGS) -c $(SVCTDIR)/$(TARGET)_svctab.c
clean:
        -rm -f *.o core $(TARGET)

Makefile을 컴파일하는 방법은 다음과 같다.

$compile c “확장자를 제외한 C 파일의 이름”