23,127
社区成员
发帖
与我相关
我的任务
分享
CC = gcc
CFLAGS = -Wall -Werror -ansi
OBJECTS = main.o calc.o
.PHONY: all
all: libmath.a main
libmath.a:
cd math; \
make; \
cd ..
main: $(OBJECTS) libmath.a
$(CC) $(OBJECTS) -o $@ -Lmath -lmath
%.o: %.c
$(CC) $(CFLAGS) -c $^ -o $@
.PHONY: clean
clean:
rm -f $(OBJECTS) main; \
cd math; \
make clean; \
cd ..
CC = gcc
AR = ar
CFLAGS = -Wall -Werror -ansi
ARFLAGS = -r
.PHONY: all
all: libmath.a
libmath.a: math.o
$(AR) $(ARFLAGS) $@ math.o
ranlib $@
math.o: math.c
$(CC) $(CFLAGS) -c $< -o $@
.PHONY: clean
clean:
rm -f libmath.a math.o
main:main.o calc.o math.o
gcc -o foo main.o calc.o math.o
main.o:main.c
gcc -c main.c
calc.o:calc.c calc.h math.h
gcc -c calc.c
math.o:math.c math.h
gcc -c math.c
VPATH=.:math
main:main.o calc.o math.o
gcc -o$@ main.o calc.o math.o
math.o:math.h
calc.o:calc.h
.SUFFIXES:.c .o
.c.o:
gcc -c -Imath $<