9. (20 points) Read the following C source file foo.c. Write a Makefile to compi
ID: 3722494 • Letter: 9
Question
9. (20 points) Read the following C source file foo.c. Write a Makefile to compile, link and execute the code. You can assume you have source files: foo.c, fool.c, fool.h, foo2.c, foo2.h Your Makefile must be able to do the following tasks when typing the command make. 1) Always execute the executable program foo if no target is specified. 2) Build necessary obj files for the program foo. 3) If a source file is modified, the corresponding obj files int main(int arge, char* argv)I and/or the executable program will be recompiled and linked. 4) Be able to compile each individual C file to an object file as a target. #include ..fool.h" #include·foo2.h" int i, sum-0; for (i=0;iExplanation / Answer
CC = gcc
CFLAGS = -c -Wall # -wall for all warning
DEPS = foo1.h foo2.h
%.o: %.c $(DEPS)
$(CC) -c -o $@ $< $(CFLAGS)
run: all
./all
all: foo.o foo1.o foo2.o
$(CC) $(CFLAGS) -o all foo.o foo1.o foo2.o
foo: foo.c
$(CC) $(CFLAGS) foo.c
foo1: foo.c
$(CC) $(CFLAGS) foo1.c
foo: foo2.c
$(CC) $(CFLAGS) foo2.c
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.