Linux makefile???????
???????????? ???????[ 2015/5/26 15:05:46 ] ??????????????
?????????????configure.in???????Щ???壬??Щ??autoconf????????????????????????????????????????shell?????autoconf ?????????????????????????????configure????????configure??????????autoconf???У????????е?????У???????????????
?????????configure?????????????autoconf??????????????????????aclocal?????????????aclocal.m4??aclocal????configure.in?????????????????aclocal.m4?????aclocal?????perl ?????????????????“aclocal - create aclocal.m4 by scanning configure.ac”??
????autoconf??configure.in????о?????????????????????????????д???configure??autoconf???GNU m4????????????aclocal.m4??????configure?????
????m4????????????????????????????????????????????????????????????????????????????????m4?????Щ?????????????????????????????????????????????????????m4??????????????????????????????????????????
????4?????Makefile.am?????????$ vi Makefile.am ????????:
????AUTOMAKE_OPTIONS=foreign
????bin_PROGRAMS=helloworld
????helloworldhelloworld_SOURCES=helloworld.c
????automake???????д??Linux Makefile.am?????????Makefile.in??Makefile.am?ж??????????????automake???????????????磬??bin_PROGRAMS?????±???????????????ɡ?
????5??????automake????
????$ automake --add-missing
????configure.in: installing `./install-sh'
????configure.in: installing `./mkinstalldirs'
????configure.in: installing `./missing'
????Makefile.am: installing `./depcomp'
????automake?????Makefile.am????????Щ??????????????Linux Makefile.in??
????6?????configure????Linux Makefile
$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
configure: creating ./config.status
config.status: creating Makefile
config.status: executing depfiles commands
$ ls -l Makefile
-rw-rw-r-- 1 yutao yutao 15035 Oct 15 10:40 Makefile
?????????????????Makefile??????????????
????7?????Linux Makefile???????
????$ makeif gcc -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION="" -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DPACKAGE="helloworld" -DVERSION="1.0"
????-I. -I. -g -O2 -MT helloworld.o -MD -MP -MF ".deps/helloworld.Tpo"
????-c -o helloworld.o `test -f 'helloworld.c' || echo './'`helloworld.c;
????then mv -f ".deps/helloworld.Tpo" ".deps/helloworld.Po";
????else rm -f ".deps/helloworld.Tpo"; exit 1;
????figcc -g -O2 -o helloworld helloworld.o ????helloworld
????$ ./helloworld Hello?? Linux World!
????????helloworld???????????????????????????????????????????????????????helloworld???????????????????Щ??????make??????make clean??make install??make dist????????????????????Ч?????о???Σ???????д?????????Linux Makefile???????????????????
??????????????
??????????????????????????????Щ?????????
????1?? autoscan
????autoscan????????????????????configure.scan??????autoscan????????????????????????????ò???????????autoscan?????????????????autoscan???????????????е?????????????configure.scan?????
????2?? configure.scan
????configure.scan??????????????????????涼???Щ???塣????????????????configure.in
????3?? aclocal
????aclocal?????perl ???????aclocal????configure.in?????????????????aclocal.m4?????aclocal????????“aclocal - create aclocal.m4 by scanning configure.ac”??
????4?? autoconf
????autoconf??????????configure??????configure?????????????????????????????????????????????????????????????????????Linux Makefile?????????????????????????????????????????????
????configure.in????????????Щ????Щ????autoconf ????????????????????????????????????????shell?????configure.in????е????????й漲????????????????к??????????????AC_INIT???AC_OUTPUT??
??????configure.ini?У?#?????????????????????????????AC_INIT(FILE) ??????????????????????·????AM_INIT_AUTOMAKE(PACKAGE?? VERSION)
?????????????????????????????????????????????????汾???PACKAGE??????????????VERSION??汾??????????make dist?????????????????????????helloworld-1.0.tar.gz????????а????????ж????????????????汾???
????AC_PROG_CC???????????????C???????? AC_OUTPUT(FILE)?????????????????Makefile????????????????automake??????????????????????Щ?????????????aclocal ????????????????????aclocal?????????aclocal.m4?????
??????????configure.in??aclocal.m4 ?????????????????????autoconf??????configure??????
????5?? Makefile.am
????Linux Makefile.am??????????Makefile.in?????????????д??Makefile.am?ж??????Щ?????AUTOMAKE_OPTIONS ?????automake?????????automake?????????????????????GNU?????????????????????????AUTHORS??ChangeLog??NEWS?????????????????ó?foreign???automake?????????????????????顣
????bin_PROGRAMS????????????????????????????????????????????????????????????????????????????????? helloworld_SOURCES ????????????“helloworld”?????????????
??????????????????????????????????????????????????? helloworld.h??helloworld.c?????д??helloworld_SOURCES= helloworld.h helloworld.c?????????bin_PROGRAMS????????????????????????????????????????????filename_SOURCES??
????6?? automake
???????????automake --add-missing??????Makefile.in?????--add-missing???????“add missing standard files to package”????????automake?????????????????????????Щ???????????automake??????????Makefile.in????????GNU Makefile??????????????????????configure???shell ??????????????? Makefile ??????
????7?? Linux Makefile
?????????GNU Makefiel??????Makefile?У????????Щ??????????????????make????Makefile????????????????????????????????????make clean?????ε?make????????????object?????????“.o”???????????????????
????make install???????????????????????????У?????/usr/local/bin????make dist????????????????????distribution package?????????????????????????????????????tar.gz??????????????????????????????????????????????????????????“PACKAGE-VERSION.tar.gz”???????PACKAGE??VERSION??????????configure.in?ж????AM_INIT_AUTOMAKE(PACKAGE?? VERSION)??make distcheck????????????????????в????飬???????????????????????????????????????????????????configure???????????make????????????????????????????????????????????????
????helloworld-1.0.tar.gz is ready for distribution make distclean ????make clean?????????configure?????????????????????Makefile??
?????塢??????
???????????????????????????????????????????????GNU??????Makefile?????????????????????????д???????????????????Makefile???????ο??Щ????????????е?configure.in??Makefile.am????????磺?????????sqlite?????????cppunit.
???????????????????????漰???????????????????SPASVOС??(021-61079698-8054)?????????????????????????
??????
Linux??????DDR????????????Linux?????????????????豸??????????linux???в???????????м??????????????????????????Linux????Linux??DNS????????????γ???????????Linux?????????????Linux????(???)????????Linux ????????????????????????????????Windows???У?Linux???????Linux????????????????Linux iommu??vfio???????Linux????ε???TCP???????Linux?????????????СLinux?·???????????Linux???Jexus?й?Asp.Net Core??ó???Linux?????????Щ??
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11????????
?????????App Bug???????????????????????Jmeter?????????QC??????APP????????????????app?????е????????jenkins+testng+ant+webdriver??????????????JMeter????HTTP???????Selenium 2.0 WebDriver ??????