我想为openwrt编译一个软件包,应该怎么办

我想为openwrt编译一个软件包,应该怎么办,第1张

下面是Makefile中一些约定俗成的目标名称及其含义:

all

编译整个软件包,但不重建任何文档。一般此目标作为默认的终极目标。此目标一般对所有源程序的编译和连接使用"-g"选项,以使最终的可执行程序中包含调试信息。可使用 strip 程序去掉这些调试符号。

clean

清除当前目录下在 make 过程中产生的文件。它不能删除软件包的配置文件,也不能删除 build 时创建的那些文件。

distclean

类似于"clean",但增加删除当前目录下的的配置文件、build 过程产生的文件。

info

产生必要的 Info 文档。

check 或 test

完成所有的自检功能。在执行检查之前,应确保所有程序已经被创建(但可以尚未安装)。为了进行测试,需要实现在程序没有安装的情况下被执行的测试命令。

install

完成程序的编译并将最终的可执行程序、库文件等拷贝到指定的目录。此种安装一般不对可执行程序进行 strip *** 作。

install-strip

和"install"类似,但是会对复制到安装目录下的可执行文件进行 strip *** 作。

uninstall

删除所有由"install"安装的文件。

installcheck

执行安装检查。在执行安装检查之前,需要确保所有程序已经被创建并且被安装。

installdirs

创建安装目录及其子目录。它不能更改软件的编译目录,而仅仅是创建程序的安装目录。

下面是 Makefile 中一些约定俗成的变量名称及其含义:

这些约定俗成的变量分为三类。第一类代表可执行程序的名字,例如 CC 代表编译器这个可执行程序;第二类代表程序使用的参数(多个参数使用空格分开),例如 CFLAGS 代表编译器执行时使用的参数(一种怪异的做法是直接在 CC 中包含参数);第三类代表安装目录,例如 prefix 等等,含义简单,下面只列出它们的默认值。

AR 函数库打包程序,可创建静态库.a文档。默认是"ar"。

AS 汇编程序。默认是"as"。

CC C编译程序。默认是"cc"。

CXX C++编译程序。默认是"g++"。

CPP C/C++预处理器。默认是"$(CC) -E"。

FC Fortran编译器。默认是"f77"。

PC Pascal语言编译器。默认是"pc"。

YACC Yacc文法分析器。默认是"yacc"。

ARFLAGS 函数库打包程序的命令行参数。默认值是"rv"。

ASFLAGS 汇编程序的命令行参数。

CFLAGS C编译程序的命令行参数。

CXXFLAGS C++编译程序的命令行参数。

CPPFLAGS C/C++预处理器的命令行参数。

FFLAGS Fortran编译器的命令行参数。

PFLAGS Pascal编译器的命令行参数。

YFLAGS Yacc文法分析器的命令行参数。

LDFLAGS 链接器的命令行参数。

prefix /usr/local

exec_prefix $(prefix)

bindir $(exec_prefix)/bin

sbindir $(exec_prefix)/sbin

libexecdir $(exec_prefix)/libexec

datadir $(prefix)/share

sysconfdir $(prefix)/etc

sharedstatedir $(prefix)/com

localstatedir $(prefix)/var

libdir $(exec_prefix)/lib

infodir $(prefix)/info

includedir $(prefix)/include

oldincludedir $(prefix)/include

mandir $(prefix)/man

srcdir 需要编译的源文件所在的目录,无默认值

1:python这种靠缩进的语言的文法其实是上下文有关的,EBNF是表达不出来的,我不知道yacc是不是有什么丧心病狂的扩展来给你做这个。

2:每一行前面的tab的数量你不要看成一堆tab,要把他的数量本身看成一个整体,也就是说再作语法分析的时候其实是:

[0]def fuck

[1]if true:

[2]fuck

[1]else:

[2]shit

[0]def shit

..

而不是原始的:

def fuck

if true:

fuck

else:

shit

def shit

..

3:根据python的标准,一个缩进要用多少个tab多少个space是可以在注释里面改的,也就是说你parse到一个地方,看到了那个注释,这个量就变了,后面呵呵呵。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11762695.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存