gpt4 book ai didi

linux - 在 makefile 上运行 make run 2 次

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:03:31 25 4
gpt4 key购买 nike

我正在运行两个可执行的 makefile,我遇到了这个问题:每次我执行 make run(heuristica 或 otimo)时,它都会运行 otimo,然后运行我说过要运行的 exe(如果我选择 otimo,那么它会运行 2 次)。我正在使用 Linux (Kubuntu 12.10)。我想单独使用 make run,如果我选择运行一个,我不想运行另一个或类似的东西。有人可以帮我吗?Makel文件代码:

# Lista dos objetos:
OBJS = main.o grafo.o circulo.o arquivos.o Lista.o

# Nome dos executáveis:
MAIN1 = tp2h
MAIN2 = tp2o

# Argumentos para execução dos programas:
ARGS = input.txt output.txt
ARGS2 = input.txt output.txt

# Especifica o compilador:
CC = gcc

# Especifica as opções do compilador:
CFLAGS = -Wall -pg -g3

# Compilação dos programas:
all: $(MAIN1) $(MAIN2)

$(MAIN1): $(OBJS)
@$(CC) $(CFLAGS) $(OBJS) -lm -o $(MAIN1)
$(MAIN2): $(OBJS)
@$(CC) $(CFLAGS) $(OBJS) -lm -o $(MAIN2)
%.o: %.c %.h
@$(CC) $(CFLAGS) $< -c

# Execução dos programas:

run heuristica:
./$(MAIN1) $(ARGS)
run otimo:
./$(MAIN2) $(ARGS2)

# Remoção dos objetos pré-compilados:
clean:
rm *.o

感谢您的帮助!

最佳答案

问题是这些是您正在使用的多个单词“目标”。 Makefile 目标应该是一个单词。要更正,您可以从目标中“运行”。或者您可以使用下划线代替空格。

示例 1:

# Execução dos programas:

heuristica:
./$(MAIN1) $(ARGS)
otimo:
./$(MAIN2) $(ARGS2)

示例 2:

# Execução dos programas:

run_heuristica:
./$(MAIN1) $(ARGS)
run_otimo:
./$(MAIN2) $(ARGS2)

关于linux - 在 makefile 上运行 make run 2 次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16679029/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com