×

make

make的中文意思是什么?linux makefile 判断文件存在与否

admin admin 发表于2022-05-02 20:13:08 浏览120 评论0

抢沙发发表评论

make的中文意思是什么

make的中文意思:使得;进行;布置;整理;制造;构成等。

make的用法:

一、动词:

1、make的基本意思是“做,制造”,即“使甲物变为乙物”“使某物变为某种状态”。引申可指 “开始,试图”,“行进,趋向”,“被做成,被制成”,“增长起来”, “走(到),以(某种速度)行进,赶上”,“吃”,“说明,讲述”。-make

2、make可用作不及物动词,也可用作及物动词。用作及物动词时可接名词、代词作宾语,用作不及物动词时主动形式常含有被动意义。

3、make作“作出某种动作”解时,常与某些名词连用,其意思常常近似于与该名词相对应的动词,用来表示行动,可接介词短语,也可接动词不定式。

4、make可接双宾语,意思是“给什么做什么,为什么提供或准备什么”,其间接宾语可以转换为介词for的宾语。

5、make还可接由名词、形容词、动词不定式、过去分词或介词短语充当补足语的复合宾语。当名词作宾语补足语时,通常含有“把某种优良品质或地位等赋予对方或自身”的意思,宾语补足语一般含褒义。

当形容词作宾语补足语时,形容词有时可以提至宾语之前; 当动词不定式作宾语补足语时,一般不带to,但在被动结构中to不可省去,在某些谚语中make后的动词不定式是可以带to的; 某些表示“感觉,认识”的动词如understand, know, feel等作宾语补足语时常用过去分词,宾语用反身代词。-make

 make后接的复合宾语中,常以it来代替较长的动词不定式短语或从句,即采用形式宾语结构,此时的意思是“使什么成为什么”,“使得”,“估计,认为,算出”等。

6、make偶尔还可用作系动词,意思是“达到某种状态”,表语多为certain, free, light, sure, little, much等形容词或as if从句。

7、make可用于被动结构。

二、名词

1、make用作名词时基本意思是“制造的方法,样式”,引申可指“体格,品质”。

2、make后常接介词of,一般接单数名词形式。

参考资料来源:百度百科-make

linux makefile 判断文件存在与否

makefile判断文件存在如下的两种方法:1. 调用shell的函数进行判断exist = $(shell if [ -f $(FILE) ]; then echo “exist“; else echo “notexist“; fi;)ifeq (exist, “exist“)#do something hereendif当然,这个方法很土,但是能够工作!! 2. 使用makefile的函数进行判断ifeq ($(FILE), $(wildcard $(FILE)))#do something hereendif $(wildcard $(FILE))的意思是当前路径下的文件名匹配FILE的文件展开。假设当前路径下存在a.c 和 b.c,那么执行src=$(wildcard *.c)src的值就为a.c b.c;如果不使用通配符,比如src=$(wildcard c.c);那么就是要展开当前路径下,文件名为c.c的文件,因为当前路径下文件不存在,因此src为空字符串。

如何使用CMAKE生成makefile文件

  CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性。只是 CMake 的组态档取名为 CmakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 linux 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。  在 linux 平台下使用 CMake 生成 Makefile 并编译的流程如下:  编写 CmakeLists.txt。  执行命令 “cmake PATH” 或者 “ccmake PATH” 生成 Makefile ( PATH 是 CMakeLists.txt 所在的目录 )。  使用 make 命令进行编译  工程实例:  一. 编写各层CMakeLists.txt  主目录的主程序main.cpp  #include “hello.h“  extern Hello hello;  int main()  {  hello.Print();  return 0;  }  主目录的CMakeLists.txt  # to the root binary directory of the project as ${MAIN_BINARY_DIR}.  project (MAIN)  #version support  cmake_minimum_required(VERSION 2.8)  # Recurse into the “Hello“ and “Demo“ subdirectories. This does not actually  # cause another cmake executable to run. The same process will walk through  # the project’s entire directory structure.  add_subdirectory (Hello)  add_subdirectory (Demo)  # Make sure the compiler can find include files from our Hello library.  include_directories (${MAIN_SOURCE_DIR}/Hello)  # Make sure the linker can find the Hello Demo library once it is built.  link_directories (${HELLO_BINARY_DIR}/Hello)  link_directories (${HELLO_BINARY_DIR}/Demo)  #define the source coedes of current directory as DIR_SRCS  AUX_SOURCE_DIRECTORY(. DIR_SRCS)  # Add executable called “MAIN“ that is built from the source files  add_executable (Main ${DIR_SRCS})  # Link the executable to the Hello Demo library.  target_link_libraries (Main Hello Demo)  定义项目名project(MAIN),使得当前目录可以用${MAIN_SOURCE_DIR},由于有2个子目录,所以需要add_subdirectory它们。由于主程序会使用到其他库,因而也需要指定连接库所在目录。  主目录下的作用是利用add_executable将当前目录下的源文件编译成Main程序,然后通过target_link_libraries链接Hello和Demo库。由于主程序文件使用了hello.h文件,所以要include_directories该目录。  ---------------------------------------------------------------------------------------------------  子目录Demo的子程序demo.c  #include “hello.h“  Hello hello;  子目录Demo的CMakeLists.txt  # Make sure the compiler can find include files from our Hello library.  include_directories (${MAIN_SOURCE_DIR}/Hello)  #define the source coedes of current directory as DIR_DEMO_SRCS  AUX_SOURCE_DIRECTORY(. DIR_DEMO_SRCS)  # Add library called “Demo“ that is built from the source files  add_library (Demo ${DIR_DEMO_SRCS})  Demo目录下的CMakeLists主要作用是利用add_library将当前目录源码编译成Demo库,由于该库使用到hello.h文件,所以要include_directories该目录。  ---------------------------------------------------------------------------------------------------  子目录Hello的子程序hello.h  #ifndef _hello_h  #define _hello_h  class Hello  {  public:  void Print();  };  #endif  子目录Hello的子程序hello.c  #include “hello.h“  #include 《stdio.h》  void Hello::Print()  {  printf(“Hello, World!\n“);  }  子目录Hello的CMakeLists.txt  #define the source coedes of current directory as DIR_HELLO_SRCS  AUX_SOURCE_DIRECTORY(. DIR_HELLO_SRCS)  # Add library called “hello“ that is built from the source files  add_library (Hello ${DIR_HELLO_SRCS})  Hello目录下的CMakeLists主要作用是利用add_library将当前目录源码编译成Hello库。  ---------------------------------------------------------------------------------------------------  二. 执行cmake命令  至此我们完成了项目中所有 CMakeLists.txt 文件的编写,进入目录 step2 中依次执行命令  #cmake .  默认当前目录,生产makefile  #make  最后编译程序