[英]makefile, working fine but running commands even with no changes
我有以下make文件。 問題是,即使兩個.cpp文件中沒有任何更改,它仍會在提示符下運行所有命令。 其他一切工作正常。
all: hello1
hello1: make func
gcc hellomake.o hellofunc.o -o hello -I.
make: hellomake.c
gcc -c hellomake.c
func: hellofunc.c
gcc -c hellofunc.c
clean:
rm -rf *o hello
run:
./hello
這是一個可以修改的示例Makefile(尤其是CFLAGS部分),並且不會重新鏈接
NAME = xxx
SRCS = xxx.c
OBJS = $(SRCS:.c=.o)
CC = gcc
RM = rm -rf
CFLAGS += -W -Wall -Wextra
CFLAGS += -O2
CFLAGS += -ansi -pedantic
CFLAGS += -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE
all: $(NAME)
$(NAME): $(OBJS)
$(CC) $(OBJS) -o $(NAME)
clean:
$(RM) $(OBJS)
fclean: clean
$(RM) $(NAME)
re: fclean all
.PHONY: all clean fclean re
.PHONY允許區分最終的文件名和規則名
您需要按如下所述將目標中的.c替換為.o
make: hellomake.o
gcc -c hellomake.c
func: hellofunc.o
gcc -c hellofunc.c
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.