1、STRING-n%sn,string);return0;/interfaceofthisprogrammain(intargc,char*argv)str_read1024;PleaseINPUTsomethingendbyENTERn);scanf(%s,str_read);str(str_read3、生成configure.ac configure.ac是automake的输入文件,所以必须先生成该文件。执行命令:rootlocalhoststr#lssrcautoscanautom4te:configure.ac:nosuchfileordirectoryautoscan:/usr/bi
2、n/autom4tefailedwithexitstatus:1autoscan.logconfigure.scancpconfigure.ac修改#-*-Autoconf-*-Processtoproduceaconfigurescript.AC_PREREQ(2.59)AC_INIT(FULL-PACKAGE-NAME,VERSION,BUG-REPORT-ADDRESS)AC_CONFIG_SRCDIR(include/str.h)AC_CONFIG_HEADER(config.h)Checksforprograms.AC_PROG_CClibraries.headerfiles.typ
3、edefs,structures,andcompilercharacteristics.libraryfunctions.AC_OUTPUT修改 为 AC_INIT(str,0.0.1,bugsounos.org)FULL-PACKAGE-NAME为程序名称,VERSION为当前版本,BUG-REPORT-ADDRESS为bug汇报地址 添加color=redAM_INIT_AUTOMAKE/color添加color=redAC_CONFIG_FILES(Makefile)/color #AC_INIT(FULL-PACKAGE-NAME,AC_INIT(str,0.0.1,AM_INIT_A
4、UTOMAKEAC_CONFIG_FILES(Makefile)4、执行aclocal aclocal/usr/share/aclocal/libfame.m4:6:warning:underquoteddefinitionAM_PATH_LIBFAMEruninfo(automake)Extendingaclocalsee5、制作Makefile.am catMakefile.am#Makefile.ambin_PROGRAMS=strstr_SOURCESinclude/str.hsrc/str.cstr_CPPFLAGS-Iinclude/6、autoheader autoheader7
5、、automake必须文件:*install-shmissingINSTALLNEWSREADMEAUTHORSChangeLogCOPYINGdepcomp其中可以通过automake-a选项自动生成,所以这里只需要建立如下文件 touchNEWSREADMEAUTHORS8、执行automake -ainstalling./install-sh./missingMakefile.am:./INSTALL./COPYING./compile./depcomp9、autoconf autoconfaclocal.m4config.h.inMakefile.amChangeLogCOPYINGI
6、NSTALLMakefile.inautom4te.cachecompileinstall-shmissing10、执行测试:执行./configure ./configure-prefix=/ucheckingBSD-compatibleinstall./usr/bin/install-cwhetherbuildenvironmentissane.yesgawk.gawksets$(MAKE).gcc.gccCdefaultoutputname.a.outtheworks.wearecrosscompiling.nosuffixexecutables.objectfiles.ousingGN
7、Ucompiler.gccaccepts-g.optionacceptANSIC.noneneededstyleusedmake.GNUdependencygcc3configure:creating./config.statusconfig.status:Makefileconfig.hconfig.hunchangedexecutingdepfilescommands执行make makeall-ammake1:Enteringdirectory/data/devel/c/strif-DHAVE_CONFIG_H-I.include/-g-O2-MTstr-str.o-MD-MP-MF.d
8、eps/str-str.Tpo-c-otest-fsrc/str.c|echo./src/str.c;thenmv.deps/str-str.Po;elserm1;fistrstr-str.oLeavinginstall installtest-z/u/bin-p-str/u/bin/strNothingbedoneinstall-data-am.11、测试程序:/u/bin/strENTERabcksdhfklsdklfdjlkfd-PRINTSTRING-abcksdhfklsdklfdjlkfd结束语:这只是一个小例子,如果要把这个用得很好需要不断的磨练。呵呵,见笑了。 添加测试包:di
9、st-gzip!-dstr-0.0.1find-typed-perm-200-execchmodu+w&-frstr-0.0.1;str-0.0.1-777a+rwx;-444-links1a+r-400/bin/sh/data/devel/c/str/install-sh-m-Rtardir=str-0.0.1/data/devel/c/str/missing-runtarchof-$tardir|GZIP=-bestgzipstr-0.0.1.tar.gz添加一个支持子目录、静态库、自定义configure选项的包 支持子目录Makefile.am选项SUBDIR#Automakeinte
10、rfaceSUBDIRS支持静态库Makefile.am EXTRA_DIST用于添加除源码外的文件到dist包 interfacehellohello_SOURCEShello.clib/sbase.hhello_CPPFLAGSlibhello_LDFLAGS-staticlib/libsbase.aconfigure.ac AC_INIT(hello,SounOS)#AM声明AC_CONFIG_SRCDIR(src/hello.c)AC_HEADER_STDCAC_CHECK_HEADERS(stdint.hstdlib.hsys/socket.h)AC_C_CONSTAC_TYPE_SIZE_TAC_TYPE_UINT32_TAC_TYPE_UINT64_T#用于自定义configure选项,见acinclude.amAC_CHECK_EXTRA_OPTIONSAC_CONFIG_FILES(Makefilesrc/Makefile)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1