Supondo que os nomes dos arquivos originais são estáticos, e somente o resultado da operação de renomeação é imprevisível. Ao renomear arquivos, gere um arquivo adicional que contenha o mapeamento dos nomes dos arquivos originais para os novos nomes, por exemplo:
fun1.c=fun1_a.c
fun2.c=fun2_a.c
Supondo que esse arquivo de mapeamento gerado seja chamado de rename.mk
, é possível modificar o Makefile
da seguinte maneira:
include rename.mk
SRC= $(fun1.c) $(fun2.c)
%.o: $.c
$(CC) $(CFLAGS) -c $< -o $@
OBJ= $(SRC:.c=.o)
$(fun2.c:.c=.o): $(fun1.c:.c=.o)
Os nomes dos arquivos se tornaram os nomes das variáveis e são usados para acessar os novos nomes por meio do mapeamento especificado em rename.mk
.