网站开发技术是什么,网站建设要程序员吗,宿州房产网,基于jsp的网站建设论文背景#xff1a;
一个工程中的源文件不计数#xff0c;其按类型、功能、模块分别放在若干个目录中#xff0c;makefile定义了一系列的 规则来指定#xff0c;哪些文件需要先编译#xff0c;哪些文件需要后编译#xff0c;哪些文件需要重新编译#xff0c;甚至于进行更复…背景
一个工程中的源文件不计数其按类型、功能、模块分别放在若干个目录中makefile定义了一系列的 规则来指定哪些文件需要先编译哪些文件需要后编译哪些文件需要重新编译甚至于进行更复杂 的功能操作makefile带来的好处就是——“自动化编译”一旦写好只需要一个make命令整个工程完全自动编译极大的提高了软件开发的效率。make是一个命令工具是一个解释makefile中指令的命令工具一般来说大多数的IDE都有这个命令比如Delphi的makeVisual C的nmakeLinux下GNU的make。可见makefile都成为了一 种在工程方面的编译方法。make是一条命令makefile是一个文件两个搭配使用完成项目自动化构建
使用方法
创建makefile文件使用vim 在makefile文件中进行编辑
工作原理
make会在当前目录下找名字叫“Makefile”或“makefile”的文件。如果找到它会找文件中的第一个目标文件target在上面的例子中他会找到mytest这个文件 并把这个文件作为最终的目标文件进行执行。同时在执行的过程中make会检测这个目标文件是否有必要进行执行就比如执行的目标文件是clean文件的依赖方法是清除某一个指定的文件当这个文件清除后再次使用make进行执行时make会发出提示因为他找不到要删除的文件了。同理对于其他文件来说make会查看该文件的可执行文件和源文件的更新时间如果源文件的时间更新则进行make而可执行文件的时间更新则不执行make多次执行命令而不想要make的提示则需要 输入 .PHONY目标文件 即可进行重复的执行目标文件下的依赖方法因为make 是默认执行makefile中的第一个目标文件若想要执行其他的目标文件则需要 make 目标文件名 即可。
内置符号
表示目标文件^表示依赖文件列表$表示取出的意思就如下图所示$ 表示 code.exe$^ 表示code.c
特殊的工作原理 这里make虽然是从上扫描到下的但是make找到目标文件后发现里面的依赖文件不存在就不会指向它的依赖方法然后就会往下查找下面的目标文件直到找到存在的依赖文件然后实现又因为在该makeflie中 有了.i就有了.s有了等等就和递归值返回一样其他的依赖关系依次实现使得上面的依赖关系都展开了
换种说法就是如果make寻找的目标文件中的依赖文件不存在就会入栈直到有了这个依赖文件就会出栈同样如果是乱序make也有可能会进行入栈和递归这类操作 不过必须要把最重要的最后一步的文件放在开头。 makefile支持变量定义
左侧是变量名右侧是变量的内容也就说变量的值同时可以用变量名代替替换的内容
可以在依赖方法前加上就可以在使用make时不显示依赖方法