EXE = test
CC = gcc
SRC = $(wildcard *.c)
OBJ = $(SRC:.c=.o)
INCLUDES = -I/usr/include/glib-2.0/ -I/lib/glib-2.0/include/
LIBS = -L/lib/ -lglib-2.0
CFLAGS = -g -O2 -Wall $(INCLUDES)
all: $(EXE)
$(EXE): $(OBJ)
$(CC) $(OBJ) $(LIBS) -o $@
clean:
@rm $(EXE) $(OBJ) -f
说明:
(1)第一行test是最终生成的可执行文件的名称,cygwin在windows下会生成test.exe
(2)第二行gcc是指定使用的编译器
(3)第六行是指定头文件路径
(4)第八行是链接时用到的库
(5)该makefile不支持子目录,即所有的源文件需和该makefile放在同一级目录内
(6)编译命令是“make”,clean命令是“make clean”