Удалить временные файлы после компиляции с 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

доктор

Другие вопросы по тегам