What is the meaning of the following makefile variables:
$@,
$<,
$^,
CFLAGS,
LDFLAGS,
LDLIBS.
Hint: GNU make manual:
automatic variables,
implicit variables,
implicit rules.
What will the following makefile print (after running command
make) and why,
CFLAGS = -Wall -Ofast -std=c1x C = F all: echo CFLAGS echo $CFLAGS echo $(C)FLAGS echo $(CFLAGS)
Suppose you have your whole C-program in one file main.c.
Which of the following makefiles will compile and link the
program into the executable file main?
all: main
main: main.c
main: main.o
all: main main: main.o main.o: main.c
all: main main.o: main.c main: main.o
main.o: main.c all: main main: main.o
main: main.c cc main.c -o main
main: main.c $(CC) $(CFLAGS) $(LDFLAGS) $^ $(LDLIBS) -o $@
all: main main: main.o cc main.o -o main main.o: main.c cc -c main.c -o main.o