??????????????????Makefile??????д?淶????????????е???y??н???
??????????????? https://github.com/AnSwErYWJ/DogFood/blob/master/Makefile
???????
????Make???????????????????????makefile?????????????????????????????????????????makefile ??????????????????б?д???????????????α?????????????????????????????????????????????????????
????make?????????????
????-k????????????????????У?????????????????????????
????-n?????????е???裬????????С?
????-f ??????make?????????????makefile?????????????????makefile???????????????????Makefile???????????Makefile??
??????
????makefile??????????????????????ɡ??????????????????????????????????????????????????????????ɡ?
???????????
?????????????????????ó??????????????????????????
????a.out: main.o
????main.o: main.c main.h
??????????????????????????a.out:??????main.o?????main.o??????main.c??main.h??????????main.c??main.h?????????????????±???????????
????????????δ???????????????????????all??
????all: a.out b.out
??????????δ??????all?????make?????????makefile????????????
????????
????????????????????????
????????????????б?????????tab?????
??????????????????????
????a.out: main.o
????gcc main.o
????main.o: main.c main.h
????gcc -c main.c
????make??????????ж??????????????????????????????????????????????????????????α?????make???????makefile??????????????????????????????????
???????
????makefile??????????#?????????е??????
??????
????makefile?????????????????????make????????????ж??壬?????????????????壬?ò??????
????#????
????SRC = example.c
????OBJS = example.o
????CC = gcc
????CFALGS = -o
????#??????
????test: sqlite3.o $(OBJS)
????$(CC) $(CFALGS) test sqlite3.o $(OBJS) -ldl -lpthread
???????ú?
????$?????????????????????б??б?????????????μ????
????$@?????????????
????$??????????????????
????$*??????????????????????????????
????-???make???????
????@????????????????????????????
???????
?????????????????д??Makefile
SRC = example.c
OBJS = example.o
CC = gcc
test: sqlite3.o $(OBJS)
$(CC) -o test sqlite3.o $(OBJS) -ldl -lpthread
sqlite3.o: sqlite3.c sqlite3.h
$(CC) -c sqlite3.c -o sqlite3.o
example1.o: $(SRC) sqlite3.h
$(CC) -c $(SRC) -o example1.o
clean:
-rm -f *.o test