我正在尝试从 Linux Make 文件中提取目标文件。这里有些例子:
英特尔 E1000E:
e1000e-objs := 82571.o ich8lan.o 80003es2lan.o \
mac.o manage.o nvm.o phy.o \
param.o ethtool.o netdev.o ptp.o
切尔西T3:
cxgb3-objs := cxgb3_main.o ael1002.o vsc8211.o t3_hw.o mc5.o \
xgmac.o sge.o l2t.o cxgb3_offload.o aq100x.o
创锐讯 ALX:
alx-objs := main.o ethtool.o hw.o
考虑到多行是可选的并且可能多于两行,我如何制作一个返回 := 之后的内容的正则表达式?请注意,反斜杠是 Makefile 内容的一部分。
我只知道如何手动指定新行的数量,例如:
$obj_files_no_ext = "e1000";
my @filestmp = ($Makefile_contents =~ m/$obj_files_no_ext-objs\s*[\+\:]= (.*)\\\s*\n(.*)/g);