makefile问题记录

195 阅读1分钟

checking build system type... Invalid configuration make': machine make-unknown' not recognized

手动执行./configure没有问题,makefile中执行./configure有上面这个提示,原因:语法问题,末层没有分号 ; 以及一行换多行的斜杠 \

另外makefile多行的这种,尽量不要注释#加斜杠\

此处: 有一些较早的linux系统上不支持rm /home/xx/myfile.txt -rf 这种写法,尽量使用兼容性更高的写法rm -rf /home/xx/myfile.txt

检测peer版本大于等于6.0以上的方法:(事先已经检测使用的较古老的系统上perl都是5.0起,如果老系统5.0之前,则按照下面方式,再多拷贝几行判断)

PERL_VER_INFO:=$(shell ls /usr/bin/perl5.0.* 2> /dev/null )
ifeq ($(PERL_VER_INFO),)
PERL_VER_INFO:=$(shell ls /usr/bin/perl5.1.* 2> /dev/null )
endif
ifeq ($(PERL_VER_INFO),)
PERL_VER_INFO:=$(shell ls /usr/bin/perl5.2.* 2> /dev/null )
endif
ifeq ($(PERL_VER_INFO),)
PERL_VER_INFO:=$(shell ls /usr/bin/perl5.3.* 2> /dev/null )
endif
ifeq ($(PERL_VER_INFO),)
PERL_VER_INFO:=$(shell ls /usr/bin/perl5.4.* 2> /dev/null )
endif
ifeq ($(PERL_VER_INFO),)
PERL_VER_INFO:=$(shell ls /usr/bin/perl5.5.* 2> /dev/null )
endif
ifeq ($(PERL_VER_INFO),)
PERL_VER_INFO:=$(shell ls /usr/bin/perl5.6.* 2> /dev/null )
endif
ifeq ($(PERL_VER_INFO),)
PERL_VER_INFO:=$(shell ls /usr/bin/perl5.7.* 2> /dev/null )
endif
ifeq ($(PERL_VER_INFO),)
PERL_VER_INFO:=$(shell ls /usr/bin/perl5.8.* 2> /dev/null )
endif
ifeq ($(PERL_VER_INFO),)
PERL_VER_INFO:=$(shell ls /usr/bin/perl5.9.* 2> /dev/null )
endif
ifneq ($(PERL_VER_INFO),)
IS_OLD_PERL:=yes
endif