2010年9月5日 星期日

Makefile-把多個程式連結在一起的寫法

執行make的時候總會去找一個叫做Makefile的東西。
========
Makefile範例
====
CC = gcc
CFLAGS =
INCLUDE_PATH = .
SRCS = red.c blue.c
OBJS = $(SRCS:.c=.o)
PROGRAM = exe
all:
<TAB>make $(PROGRAM)
$(PROGRAM):$(OBJS)
<TAB>$(CC) $(OBJS) -o $@
%.o: %.c
<TAB>$(CC) $(CFLAGS) -I$(INCLUDE_PATH) -c $< -o $@
clean:
<TAB>rm -rf *.o
<TAB>rm -rf $(PROGRAM)
========
在執行make時會有這樣子的輸出:
make exe

make[1]: Entering directory `/usr/src/local/test/fp'
gcc -I. -c red.c -o red.o
gcc -I. -c blue.c -o blue.o
gcc red.o blue.o -o exe
make[1]: Leaving directory `/usr/src/local/test/fp'
 
在執行make clean時會有這樣子的輸出:
rm -rf *.o
rm -rf exe

沒有留言:

張貼留言