- #万能Makefile for gtk+2.0
- #Author Kimi Zhang
- CFLAGS += `pkg-config --cflags gtk+-2.0`
- LIB += `pkg-config --libs gtk+-2.0`
- #目标exe文件名
- TARGET=./a
- #源代码的路径,如果有多个用空格分隔。我把源码全部放到Makefile的目录下了
- SRC_DIRS=.
- #源代码(.cc文件)
- SRC=$(foreach TMP_SRC_DIRS, $(SRC_DIRS), $(wildcard $(TMP_SRC_DIRS)/*.c))
- #obj(.o文件)
- OBJS=$(patsubst %.c,%.o,$(SRC))
- #编译选项
- CFLAGS += -Wall -g
- #编译器和连接器
- CC=gcc
- LINK=gcc
- .SECONDARY:%.o $(OBJS)
- %.o:%.c
- $(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@
- all:$(TARGET)
- $(TARGET): $(OBJS)
- $(LINK) $(OBJS) -o $(TARGET) $(LIB)
- clean:
- -rm -f $(OBJS) $(TARGET)
- #供测试用,显示要编译的源代码文件
- display:
- @echo $(SRC_DIRS)
- @echo $(SRC)
- @echo $(OBJS)
注意:
报遗漏**分割符的错误原因是shell命令前不能有空格,只能为Tab键,否则make命令无法解析