Το παρακάτω Makefile χτίζει το project main (αρχεία main.c, primes.c,
primes.h):
main: main.o primes.o
gcc -o main main.o primes.o
main.o: main.c primes.h
gcc -Wall -Wextra -Werror -pedantic -std=c99 -c main.c
primes.o: primes.c primes.h
gcc -Wall -Wextra -Werror -pedantic -c primes.c
Λειτουργεί; Ναι. Είναι καλό; Όχι.
CC, CFLAGS), ώστε κάποιος που χρησιμοποιεί clang να
αλλάζει μία μόνο γραμμή.Ελέγξτε ότι μετά από touch main.c το make ξαναφτιάχνει μόνο το main.o και
το main.
Τα $@, $^ και $< είναι το target, όλα τα prerequisites και το πρώτο
prerequisite. Τα built-in rules χρησιμοποιούν τα macros CC και CFLAGS· ένα rule
χωρίς recipe απλώς προσθέτει prerequisites. Το -std=c99 μόνο για το main.o
χρειάζεται ανάθεση μέσα σε rule.
Αριθμός στον οδηγό: Α26.5
(στο κεφάλαιο) ·
Μόνιμο αναγνωριστικό: slides-lecmake-short-makefile ·
Σύνδεσμος: https://progintro.github.io/study/questions/slides/slides-lecmake-short-makefile.html ·
Markdown (GitHub)