zoukankan      html  css  js  c++  java
  • Makefile里调用Shell注意点

    http://www.linuxidc.com/Linux/2012-04/59093.htm

    大家经常编写和使用Makefile, Makefile里面也经常用到shell, 但对其中一些需要注意的地方未必
    会去留意, 这里列出几个来, 不知是否对大家有用。
    1. 注意Makefile的变量和shell变量, 看如下示例:
     
      DIRS = src bin lib
       all:
        @for i in $(DIRS); /
         do /
             echo " " $$i; /
         done
       大家看出来了吗? DIRS是makefile变量,i是shell变量, 使用的时候:
       $(DIRS), $$i区别还是蛮大的。
     
    2. 每一行的shell都是在独立的进程中运行的,如果你在上一行为一个变量赋值, 不要指望它在下一行有效, 比如:
      @CROSS_COMPILE=mipsel-linux-
       @echo $(CROSS_COMPILE)
     
       打印的结果不会是mipsel-linux-,如果你想得到所要的结果, 就并为一条shell吧:
       @CROSS_COMPILE=mipsel-linux- ; echo @echo $(CROSS_COMPILE)
        或者:
       @CROSS_COMPILE=mipsel-linux- ; /
        echo @echo$(CROSS_COMPILE)
      
    3. shell一定要写在target里, 否则你写了也白费劲, 是会被make忽略掉的.
       @echo "Building all..."
       all:
        @echo "Begin"
       只会打印Begin.linux

  • 相关阅读:
    HDU6300(2018多校第一场)
    HDU6301(2018多校第一场)
    HDU6308(2018多校第一场)
    HDU6299(2018多校第一场)
    HDU6298(2018多校第一场)
    HDU1255覆盖的面积
    51nod 2133 排队接水
    bryce1010专题训练——Splay树
    img
    操作系统实验代码
  • 原文地址:https://www.cnblogs.com/LiuYanYGZ/p/5438673.html
Copyright © 2011-2022 走看看