当前位置: 技术问答>linux和unix
这个makefile有什么错误
来源: 互联网 发布时间:2016-11-20
本文导语: rt, 运行 make之后,只产生了semcreat,也就是make只运行了第一条编译就结束了。 [pro@rhel5 ~/lnxpro/posixsemo 03:42:04]$l total 44 -rwxr-x--- 1 pro pro 401 Apr 11 03:36 makefile -rwxr-x--- 1 pro pro 1011 Apr 11 02:57 semcreate.c -rwxr-x--...
rt,
运行 make之后,只产生了semcreat,也就是make只运行了第一条编译就结束了。
[pro@rhel5 ~/lnxpro/posixsemo 03:42:04]$l
total 44
-rwxr-x--- 1 pro pro 401 Apr 11 03:36 makefile
-rwxr-x--- 1 pro pro 1011 Apr 11 02:57 semcreate.c
-rwxr-x--- 1 pro pro 456 Apr 11 03:07 semgetvalue.c
-rwxr-x--- 1 pro pro 476 Apr 11 03:09 sempost.c
-rwxrwxr-x 1 pro pro 5239 Apr 11 03:17 semunlink
-rwxr-x--- 1 pro pro 255 Apr 11 02:54 semunlink.c
-rwxr-x--- 1 pro pro 606 Apr 11 03:07 semwait.c
-rwxr-x--- 1 pro pro 5521 Apr 10 09:53 t
-rwxr-x--- 1 pro pro 585 Apr 10 09:53 t.c
[pro@rhel5 ~/lnxpro/posixsemo 03:42:04]$make
gcc -Wall semcreate.c -o semcreate -lrt
[pro@rhel5 ~/lnxpro/posixsemo 03:42:08]$l
total 52
-rwxr-x--- 1 pro pro 401 Apr 11 03:36 makefile
-rwxrwxr-x 1 pro pro 6719 Apr 11 03:42 semcreate
-rwxr-x--- 1 pro pro 1011 Apr 11 02:57 semcreate.c
-rwxr-x--- 1 pro pro 456 Apr 11 03:07 semgetvalue.c
-rwxr-x--- 1 pro pro 476 Apr 11 03:09 sempost.c
-rwxrwxr-x 1 pro pro 5239 Apr 11 03:17 semunlink
-rwxr-x--- 1 pro pro 255 Apr 11 02:54 semunlink.c
-rwxr-x--- 1 pro pro 606 Apr 11 03:07 semwait.c
-rwxr-x--- 1 pro pro 5521 Apr 10 09:53 t
-rwxr-x--- 1 pro pro 585 Apr 10 09:53 t.c
[pro@rhel5 ~/lnxpro/posixsemo 03:42:09]$
谢谢.
运行 make之后,只产生了semcreat,也就是make只运行了第一条编译就结束了。
[pro@rhel5 ~/lnxpro/posixsemo 03:42:04]$l
total 44
-rwxr-x--- 1 pro pro 401 Apr 11 03:36 makefile
-rwxr-x--- 1 pro pro 1011 Apr 11 02:57 semcreate.c
-rwxr-x--- 1 pro pro 456 Apr 11 03:07 semgetvalue.c
-rwxr-x--- 1 pro pro 476 Apr 11 03:09 sempost.c
-rwxrwxr-x 1 pro pro 5239 Apr 11 03:17 semunlink
-rwxr-x--- 1 pro pro 255 Apr 11 02:54 semunlink.c
-rwxr-x--- 1 pro pro 606 Apr 11 03:07 semwait.c
-rwxr-x--- 1 pro pro 5521 Apr 10 09:53 t
-rwxr-x--- 1 pro pro 585 Apr 10 09:53 t.c
[pro@rhel5 ~/lnxpro/posixsemo 03:42:04]$make
gcc -Wall semcreate.c -o semcreate -lrt
[pro@rhel5 ~/lnxpro/posixsemo 03:42:08]$l
total 52
-rwxr-x--- 1 pro pro 401 Apr 11 03:36 makefile
-rwxrwxr-x 1 pro pro 6719 Apr 11 03:42 semcreate
-rwxr-x--- 1 pro pro 1011 Apr 11 02:57 semcreate.c
-rwxr-x--- 1 pro pro 456 Apr 11 03:07 semgetvalue.c
-rwxr-x--- 1 pro pro 476 Apr 11 03:09 sempost.c
-rwxrwxr-x 1 pro pro 5239 Apr 11 03:17 semunlink
-rwxr-x--- 1 pro pro 255 Apr 11 02:54 semunlink.c
-rwxr-x--- 1 pro pro 606 Apr 11 03:07 semwait.c
-rwxr-x--- 1 pro pro 5521 Apr 10 09:53 t
-rwxr-x--- 1 pro pro 585 Apr 10 09:53 t.c
[pro@rhel5 ~/lnxpro/posixsemo 03:42:09]$
semcreate:semcreate.c ../LinuxComm.h
gcc -Wall semcreate.c -o semcreate -lrt
semunlink:semunlink.c ../LinuxComm.h
gcc -Wall semunlink.c -o semunlink -lrt
semgetvalue:semgetvalue.c ../LinuxComm.h
gcc -Wall semgetvalue.c -o semgetvalue -lrt
semwait:semwait.c ../LinuxComm.h
gcc -Wall semwait.c -o semwait -lrt
sempost:sempost.c ../LinuxComm.h
gcc -Wall sempost.c -o sempost -lrt
谢谢.
|
第一个目标是默认目标,所以这个目标必然会执行
你的第一个目标不依赖于其它目标,因此其它目标不会执行
修改方法可以参考楼上
你的第一个目标不依赖于其它目标,因此其它目标不会执行
修改方法可以参考楼上
|
makefile 写的不对
TARGET=semcreate ...
all:$(TARGET)
TARGET=semcreate ...
all:$(TARGET)
|
就make了第一个目标
要编译全部在makefile开头加上
all:semcreate semunlink semgetvalue semwait sempost
要编译全部在makefile开头加上
all:semcreate semunlink semgetvalue semwait sempost