????1. make????
????????make??????????????????????Щ??????????
?????????????????????????????±???????????
???????????????????????????±??????а???????????????
???????????????????????????????????????????????±???make?????????????Makefile?????????????????????????Makefile????????????????????????????
????2. Makefile???
????Makefile?????????????????????????Makefile????????????
????TARGET...: DEPENDENCIES...
????COMMAND
????...
????TARGER??????????????????????????????????????????????????е????????clean??????α???
????DEPENDENCIES:??????????????????????????б????????????????????????
????COMMAND:??????make??е????????????shell??????????shell????е?????????????????е????????????TAB?????
???????DEPENDENCIES?????????????????μ????COMMAND???У?????Makefile??????????
????3. Makefile??????
????$ touch add.c add.h sub.c sub.h main.c
????????????5?????add.h ??sub.h?а???????????????add.c??sub.c?а????????????main.c???????????Makefile???????
????main:main.o add.o sub.o        ??????????main??????????main.o??add.o??sub.o???????????
????gcc -Wall -g main.o add.o sub.o -o main    ??????????????????????????е?????
????main.o:main.c
????gcc -Wall -g -c main.c -o main.o
????add.o:add.c add.h
????gcc -Wall -g -c add.c -o add.o
????sub.o:sub.c sub.h
????gcc -Wall -g -c sub.c -o sub.o
????????Makefile????????make????
????$ make
????gcc -Wall -g -c main.c -o main.o
????gcc -Wall -g -c add.c -o add.o
????gcc -Wall -g -c sub.c -o sub.o
????gcc -Wall -g main.o add.o sub.o -o main
????????????????make??????? ??????main?????? main.o add.o sub.o ????????????? ???? ??????.o????????????main??
?????????????????make????????
????$ make
????make: 'main' is up to date.
????make???????????????????????ж??????????б??????????????????????????????????????????????????????????
???????????????make????????????????main???????????????????
????$ make add.o   ??????????add.o?????
????Makefile????????????????????“Makefile”??"makefile"???????????????????????????????????????myMakefile????????????????
????make -f myMakefile   ??-f ???????????????"myMakefile"???makefile?????????
????4. α???
????TARGET...: DEPENDENCIES...
????COMMAND    ?????COMMAND???????TAB????????
????...
????????????TARGET??????????????????????????α??????α????Ч????????????????????? ??????????????????????????α???
????main:main.o add.o sub.o
????gcc -Wall -g main.o add.o sub.o -o main
????main.o:main.c
????gcc -Wall -g -c main.c -o main.o
????add.o:add.c add.h
????gcc -Wall -g -c add.c -o add.o
????sub.o:sub.c sub.h
????gcc -Wall -g -c sub.c -o sub.o
????clean :                                        ?????????α???
????rm -f $(OBJECTS) main
???????make?????α???
????$ make clean
????rm -f main.o add.o sub.o main
???????????make?????α???????????
????5. Makefile ?????????
???????????Makefile???????????Щ??????????????????????б???????????????????д??????Makefile??????????????????????
?????????????
????$@?????????????
????$<??????????????????
????$^?????????????????б?
????????Makefile?????????????д???
????main:main.o add.o sub.o
????gcc -Wall -g $^ -o $@      ??????? gcc -Wall -g main.o add.o sub.o -o main??
????main.o:main.c
????gcc -Wall -g -c $< -o $@
????add.o:add.c add.h
????gcc -Wall -g -c $< -o $@
????sub.o:sub.c sub.h
????gcc -Wall -g -c $< -o $@
???????make?????????Ч??????????????
????$ make
????gcc -Wall -g -c main.c -o main.o
????gcc -Wall -g -c add.c -o add.o
????gcc -Wall -g -c sub.c -o sub.o
????gcc -Wall -g main.o add.o sub.o -o main
????????????????????
????OBJECTS = main.o add .o sub.o ??OBJECTS???????????????
????main:$(OBJECTS)                        ????????????????????????????滻???滻?????$(??????)??
????gcc -Wall -g $^ -o $@
????main.o:main.c
????gcc -Wall -g -c $< -o $@
????add.o:add.c add.h
????gcc -Wall -g -c $< -o $@
????sub.o:sub.c sub.h
????gcc -Wall -g -c $< -o $@