如何使用单个变量打印依赖项列表?

时间:2019-04-30 16:10:29

标签: makefile

我创建了一个带有变量列表的make文件。我已经添加了所有文件列表,并将其分配给该make文件中的变量。

add_action( 'wp', 'url_change' );

function url_change() {
    list($uri, $qs) = explode('?', $_SERVER['REQUEST_URI']);
    global $wp;   
    if(strpos($uri , "dogs") == false) {

    }
    else{
        wp_redirect( $uri . "/foobar/" ,302,'WordPress' );
    }

}

文件列表超过10000个。当我尝试使用以下规则打印此变量时,它没有打印所有文件列表。

ROLS= \
$(wildcard *.c)

如何在单个变量中打印“ c”文件的整个列表。 我正在使用Windows 7 64位系统来运行此Makefile。

2 个答案:

答案 0 :(得分:0)

Windows对将接受的命令行的完整大小有限制。 make对此无能为力,这是操作系统的硬限制。

如果您只想实际打印内容,则可以使用make的内部info函数,这样它就不会尝试调用Windows命令:

all:
        $(info $(ROLS))

如果您要对那些需要调用命令的文件进行其他操作,那当然无济于事。

答案 1 :(得分:0)

基于评论中的其他信息:

ROLS= $(wildcard *.c)

target: $(ROLS)
   build-target

或者如果多次使用ROLS,使用伪造目标可以达到一定的效率

ROLS= $(wildcard *.c)

.PHONY: all-rols
all-rols: $(ROLS)

target1: all-rols
     build-target1

target2: all-rols
     build-target2

target3: all-rols
     build-target3