全部博文(354)
分类: C/C++
2010-07-09 14:54:16
# 任务二的makefile
hello: hello.o func.o
gcc hello.o func.o -o hello
hello.o: hello.c
gcc -c hello.c -o hello.o
func.o: func.c func.h
gcc -c func.c -o func.o
#使用潜规则的makefile一下子简化了相当多。make就是make,专业滴。
PROC = hello
CC = gcc
OBJECTS = hello.o func.o
$(PROC): $(OBJECTS)
或
PROC = hello
CC = gcc
OBJECTS = func.o
$(PROC): $(OBJECTS)
gcc -c -o hello.o hello.c我们分析 make的理解过程
gcc -c -o func.o func.c
gcc hello.o func.o -o hello
名称 |
说明 |
缺省 |
CC |
C编译器 |
cc |
CFLAGS |
C参数 |
|
CXX |
C++编译器 |
g++ |
CXXFLAGS |
C++参数 |
|
CPP |
C预处理,输出处理结果 |
$(CC) -E |
CPPFLAGS |
预处理参数 |
|
AR |
ar |
|
ARFLAGS |
AR参数 |
|
LDFLAGS |
链接参数 |
|
条件 |
处理过程 |
%.o <- %.c |
$(CC) -c $(CPPFLAGS) $(CFLAGS) |
%.o <- %.C,%.cpp,%.cc |
$(CXX) -c $(CPPFLAGS) $(CXXFLAGS) |
无扩展名 <- 需求的对象 |
$(CC) $(LDFLAGS) $(LOADLIBES) $(LDLIBS) |