Удалить временные файлы после компиляции с Makefile
В настоящее время я использую следующий Makefile для компиляции моего C-проекта.
RM = rm -f
CFLAGS += -Wextra -Wall -Werror
CFLAGS += -I.
NAME = a.out
SRCS = main.c
OBJS = $(SRCS:.c=.o)
all: $(NAME)
$(NAME): $(OBJS)
gcc $(OBJS) -o $(NAME) $(LDFLAGS)
clean:
$(RM) $(OBJS)
fclean: clean
$(RM) $(NAME)
re: fclean all
Я хотел бы добавить что-то в мою команду clean, которая может удалять временные файлы, то есть файлы, заканчивающиеся на ~
, Я должен сделать это без использования *~
,
1 ответ
Решение
TMP = $(SRCS:.c=.c~)
clean:
$(RM) -f $(OBJS)
$(RM) -f $(TMP)
или как сказал @ Бармар
clean:
-$(RM) $(OBJS)
-$(RM) $(TMP)
лучше избежать варианта в RM = rm -f
==> RM = rm