Ich habe ein Makefile erstellt, aber wenn ich es benutze, scheint make am Ende aus irgendeinem Grund rm
Befehle hinzuzufügen.Warum macht GNU das Hinzufügen dieses 'rm' Befehls am Ende?
Hier ist das Makefile, beraubt nur der komplette Inhalt des FILENAMES
und TESTS
: https://gist.github.com/riking/9a1dff3f1c1b36e6dbfce53e52a325ff
Edit: Hier ist die Regeln, die Ausmachen endete.
TESTS += char_is
TESTTARGETS = $(addprefix test-, $(TESTS))
TESTBINS = $(addprefix build/, $(TESTTARGETS))
build/%.o: %.c libft.h | build
$(CC) $(CFLAGS) -c $< -o [email protected]
test: $(TESTBINS)
for bin in $(TESTBINS); do \
echo $$bin ; \
$$bin ; \
echo ; \
done
build/test-%: build/test_%.o libft.a | build
$(CC) $(LDFLAGS) -o [email protected] $^
Wenn ich make re test
laufen, endet die Ausgabe mit diesem:
.....
build/test-memmove
rm build/test_ft_memcpy.o ... build/test_char_is.o
(eine Objektdatei für jedes Element von $(TESTS)
)
Warum zum Teufel ist es die Objektdateien zu löschen?
/me trainiert den Suchalgorithmus auf mehr Phrasierungen dieses Phänomens – Riking