• 04.makefile(下)


    ◊基本框架:

    a)         Make常用内嵌函数

    b)         多级目录Makefile的编写

    4.1Make常用内嵌函数

    函数调用的一般形式:$(function  arguments(参数))

      1)        $(wildcard PATTERN) :   匹配当前目录下指定模式的文件

            例子:src=$(wildcard  *.c)

      2)        模式替换函数 

            例子:$(src:.c=.o)

      3)        Shell函数:           执行shell命令

            例子:$(shell  ls  –d  */)

    4.2多级目录Makefile的编写

    4.2.1多级目录,只生成一个可执行文件的Makefile的编写

      一个比较好的例子(值得参考):

      .PHONY:  all  clean

      CC = gcc

      CFLAGS =  -Wall  –g

      BIN = main

      SUBDIRS = $(shell ls  –d  */)

      SUBSRC = $(shell find $(SUBDIRS)  -name  ‘*.c’)

      SUBOBJ = $(SUBSRC: .c=.o)

      ROOTSRC = $(wildcard *.c)

      ROOTOBJ = $(ROOTSRC:.c=.o)

      OBJS = $(ROOTOBJ)  $(SUBOBJ)

      all:$(BIN)

      $(BIN):$(OBJS)

               $(CC) $(CFLAGS) $^ -o $@

      %.o:%.c

               $(CC) $(CFLAGS) –c $< -o $@

      clean:

               rm –f $(BIN) $(OBJS)

    4.2.2 多级目录,生成多个可执行文件的Makefile的编写:

          $(CURDIR) :表示当前文件夹。

          难度较大,先简单了解下。

    4.3Makefile编写总结:

      1)一个目录下,一个可执行文件的编写;

      2)一个目录下,多个可执行文件的编写;

      3)多级目录下,一个可执行文件的编写;

      4)多级目录下,多个可执行文件的编写。

      前三种Makefile文件的编写自己应该掌握。

  • 相关阅读:
    Json对象与Json字符串互转(4种转换方式)
    Web.config配置文件详解
    jQuery BlockUI Plugin Demo 6(Options)
    jQuery BlockUI Plugin Demo 5(Simple Modal Dialog Example)
    jQuery BlockUI Plugin Demo 4(Element Blocking Examples)
    jQuery BlockUI Plugin Demo 3(Page Blocking Examples)
    jQuery BlockUI Plugin Demo 2
    <configSections> 位置引起的错误
    关于jQuery的cookies插件2.2.0版设置过期时间的说明
    jQuery插件—获取URL参数
  • 原文地址:https://www.cnblogs.com/zkw-2014/p/4417959.html
Copyright © 2020-2023  润新知