当前位置: 技术问答>linux和unix
这个makefile文件是怎么用的?
来源: 互联网 发布时间:2015-10-13
本文导语: SHELL=/bin/sh MV=mv CP=cp RM=rm -f CC=$(CC_SW) -D$(sys) all : send_cfg.o send_init.o send send_cfg.o : send_cfg.c send_cfg.h $(CC) -g -c send_cfg.c -D$(CPU_SW) send_init.o : send_init.c send_init.h send_cfg.h $(CC) -g -c proxy_init.c -D$(OPERATION_SYSTEM...
SHELL=/bin/sh
MV=mv
CP=cp
RM=rm -f
CC=$(CC_SW) -D$(sys)
all : send_cfg.o send_init.o send
send_cfg.o : send_cfg.c send_cfg.h
$(CC) -g -c send_cfg.c -D$(CPU_SW)
send_init.o : send_init.c send_init.h send_cfg.h
$(CC) -g -c proxy_init.c -D$(OPERATION_SYSTEM)
send : send_init.o send_cfg.o
@case "${OPERATION_SYSTEM}" in
SUN_SVR4_OPSYS) SYSLIBS=" -lsocket -lxnet" ;;
SCO_UNIX_OPSYS) SYSLIBS=" -lsocket" ;;
axposf_OPSYS) SYSLIBS=" " ;;
NEC_OPSYS) SYSLIBS=" -lsocket -lnsl" ;;
IBM_AIX_OPSYS) SYSLIBS=" -lm" ;;
HP_UNIX_OPSYS) SYSLIBS=" " ;;
*) SYSLIBS=" -lsocket" ;;
esac ;
$(CC) -g -o send ./send_cfg.o ./send_init.o $${SYSLIBS} -D$(OPERATION_SYSTEM) -D$(CPU_SW)
$(MV) send $../bin/
文件是makefile.mk就是不知道里面的这些变量有什么作用,在linux下编译make -f makefile.mk,但是通不过
MV=mv
CP=cp
RM=rm -f
CC=$(CC_SW) -D$(sys)
all : send_cfg.o send_init.o send
send_cfg.o : send_cfg.c send_cfg.h
$(CC) -g -c send_cfg.c -D$(CPU_SW)
send_init.o : send_init.c send_init.h send_cfg.h
$(CC) -g -c proxy_init.c -D$(OPERATION_SYSTEM)
send : send_init.o send_cfg.o
@case "${OPERATION_SYSTEM}" in
SUN_SVR4_OPSYS) SYSLIBS=" -lsocket -lxnet" ;;
SCO_UNIX_OPSYS) SYSLIBS=" -lsocket" ;;
axposf_OPSYS) SYSLIBS=" " ;;
NEC_OPSYS) SYSLIBS=" -lsocket -lnsl" ;;
IBM_AIX_OPSYS) SYSLIBS=" -lm" ;;
HP_UNIX_OPSYS) SYSLIBS=" " ;;
*) SYSLIBS=" -lsocket" ;;
esac ;
$(CC) -g -o send ./send_cfg.o ./send_init.o $${SYSLIBS} -D$(OPERATION_SYSTEM) -D$(CPU_SW)
$(MV) send $../bin/
文件是makefile.mk就是不知道里面的这些变量有什么作用,在linux下编译make -f makefile.mk,但是通不过
|
大约就是在各种平台下编译send
send依赖于send_init.o send_cfg.o
然后把send移到../bin
send依赖于send_init.o send_cfg.o
然后把send移到../bin
|
"在linux下编译make -f makefile.mk,但是通不过"你可以把提示信息帖出来啊。
好象你的定义不全吧,
CC=$(CC_SW) -D$(sys)这一行,里$(CC_SW)、$(sys)中的CC_SW、sys怎么没见定义呢?
好象你的定义不全吧,
CC=$(CC_SW) -D$(sys)这一行,里$(CC_SW)、$(sys)中的CC_SW、sys怎么没见定义呢?
|
你可以直接把CC=$(CC_SW) -D$(sys)改为CC=g++ -D跟你定义的宏