makefile

First Post:

Last Update:

Word Count:
227

Read Time:
1 min

makefile

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CC = gcc
CFLAGS = -Iinclude
TARGET = Hello

$(TARGET):lib/main.o lib/CC.o lib/BB.o
$(CC) -o Hello $<
main.o:%o:%c
$(CC) -c -o lib/main.o $< $(CFLAGS)
BB.o:src/%o:%c
$(CC) -c -o lib/BB.o $< $(CFLAGS)
CC.o:src/%o:%c
$(CC) -c -o lib/CC.o src/CC.c $(CFLAGS)
clear:
rm -f Hello lib/main.o lib/BB.o lib/CC.o

make2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
cacu:add_int.o add_float.o sub_int.o sub_float.o main.o
gcc -o cacu add/add_int.o add/add_float.o sub/sub_int.o sub/sub_float.o main.o
main.o:main.c add/add.h
gcc -c -o main.o main.c -Iadd -Isub
add_int.o:add/add_int.c
gcc -c -o add/add_int.o add/add_int.c
add_float.o:add/add_float.c
gcc -c -o add/add_float.o add/add_float.c
sub_int.o:sub/sub_int.c sub/sub.h
gcc -c -o sub/sub_int.o sub/sub_int.c
sub_float.o:sub/sub_float.c
gcc -c -o sub/sub_float.o sub/sub_float.c
clean:
rm -f cacu add/add_int.o add/add_float.o sub/sub_int.o sub/sub_float.o main.o

make3

1
2
3
4
5
6
7
8
9
10
11
12
13
14
VPATH = .:add:sub:
CC = gcc
OBJS = add_int.o add_float.o sub_int.o sub_float.o main.o
OBJSDIR=objs
CFLAGS= -Isub -Iadd -O2
TARGET= cacu
RM = rm -f
$(TARGET):$(OBJS)
$(CC) -o $(TARGET) $(OBJS)
$(OBJS):%.o:%.c
$(CC) -c $(CFLAGS) $^ -o $@
clean:
$(RM) $(OBJS) $(TARGET)

打赏点小钱
支付宝 | Alipay
微信 | WeChat