请教一个makefile的问题

kpman 2005-11-11 09:13:46
makefile 内容如下:

include ../../pub/source/rules.mk
BIN_OWN=../bin/
OBJ_OWN=../objs/
OBJ_PUB=../../pub/objs/
INC_PUB=../../pub/source/
LIB_PUB=../../pub/lib/


ALL=$(OBJ_OWN)process.o \
$(OBJ_OWN)monthly.o \
$(OBJ_OWN)writelog.o \
$(OBJ_OWN)new_compare.o

process : process.o
$(GCC) $(CFLAGS) $(ALL) -L$(LIB_PUB) $(LINKLIB) -o $(BIN_OWN)$@
process.o : process.c
$(GCC) $(CFLAGS) -I. -c process.c -o $(OBJ_OWN)$@
monthly.o : monthly.c
$(GCC) $(CFLAGS) -I. -c monthly.c -o $(OBJ_OWN)$@
writelog.o : writelog.c
$(GCC) $(CFLAGS) -I. -c writelog.c -o $(OBJ_OWN)$@
new_compare.o : new_compare.c
$(GCC) $(CFLAGS) -I. -c new_compare.c -o $(OBJ_OWN)$@


但是实际编译时只执行:
process : process.o
$(GCC) $(CFLAGS) $(ALL) -L$(LIB_PUB) $(LINKLIB) -o $(BIN_OWN)$@

其它的却没有执行 为什么呢?
...全文
158 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyy790601 2005-11-11
  • 打赏
  • 举报
回复
修改下Makefile,如下:


include ../../pub/source/rules.mk
BIN_OWN=../bin/
OBJ_OWN=../objs/
OBJ_PUB=../../pub/objs/
INC_PUB=../../pub/source/
LIB_PUB=../../pub/lib/


ALL=$(OBJ_OWN)process.o \
$(OBJ_OWN)monthly.o \
$(OBJ_OWN)writelog.o \
$(OBJ_OWN)new_compare.o

process : $(ALL)
$(GCC) $(CFLAGS) $(ALL) -L$(LIB_PUB) $(LINKLIB) -o $(BIN_OWN)$@
process.o : process.c
$(GCC) $(CFLAGS) -I. -c process.c -o $(OBJ_OWN)$@
monthly.o : monthly.c
$(GCC) $(CFLAGS) -I. -c monthly.c -o $(OBJ_OWN)$@
writelog.o : writelog.c
$(GCC) $(CFLAGS) -I. -c writelog.c -o $(OBJ_OWN)$@
new_compare.o : new_compare.c
$(GCC) $(CFLAGS) -I. -c new_compare.c -o $(OBJ_OWN)$@

clean:
rm -rf *.o process


编译时:make clean;make
analyser2003 2005-11-11
  • 打赏
  • 举报
回复
楼上各位早啊
wjy_knife 2005-11-11
  • 打赏
  • 举报
回复
makefile 默认只make第一个,也就是process,但是它只依赖于一个process.o,于是make就去查找与process.o相关的规则,就会继续执行process.o : process.c...,而不会去管别的。如果要编译其他的.o文件,要把它们加到依赖文件上去吧
huangyang88 2005-11-11
  • 打赏
  • 举报
回复
process : process.o

23,223

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧