• makefile 示例1


    # 设置编译器
    CC = g++

    # -fPIC 作用于编译阶段,告诉编译器产生与位置无关代码
    # -D宏定义,相当于C中的全局#define,可以通过宏定义来控制源程序的编译,例如:
    # #ifdef _FILELINE
    # printf("Hello Yu Qiang, How are you? ");
    # #else
    # printf("Sorry to lost you. ");
    # #endif
    # 程序最终调用输出是: Hello Yu Qiang, How are you?
    CFLAG = -g -fPIC -D_FILELINE

    # mysql的头文件
    MYSQLINC = /usr/include/mysql

    INC = -I -Iinclude -I$(MYSQLINC)

    # mysql库目录
    MYSQLLIB = -L /usr/lib64/mysql -l mysqlclient -lz -lm

    # 服务器目标
    SERVEROBJS = src/file1.o src/file2.o src/file3.o

    # 客户端目标
    CLIENTOBJS = src/f1.o src/f2.o

    # bin目录
    BINDIR = bin

    # checkbin 检查是否存在bin目录
    # 在bin目录下生成 Server 与 Client
    all: checkbin $(BINDIR)/Server $(BINDIR)/Client

    # 生成 Server
    # $^ 所有.o文件
    # $@ 所有.c文件
    $(BINDIR)/Server: $(SERVEROBJS)
    $(CC) -g $(MYSLQLIB) $^ -o $@

    # 生成Client
    $(BINDIR)/Clietn: $(CLIENTOBJS)
      $(CC) -g $(MYSQLLIB) $^ -o $@

    # .SUFFIXES 连接后缀,把.o .cpp .c .cpp.o 这些文件连接起来编译。当前makefile内支持文件后缀的类型列表。
    .SUFFIXES: .c .o .cpp
    .cpp.o:
      $(CC) $(CFLAG) $(INC) -o $@ -c $<

    # .PHONY 伪目标
    .PHONY: checkbin
    checkbin:
      test -d "${BINDIR}" || mkdir $(BINDIR)


    .PHONY: clean
    clean:
      -rm -f *.o
      -rm -f $(BINDIR)/Server

  • 相关阅读:
    python-web 创建一个输入链接生成的网站
    查看端口有没被占用
    bs的过滤器功能例子
    爬图片的方法
    python 下载图片的方法
    request 里面参数设置 (有空瞄下)
    python 面向对象 初始化(类变量 和 函数内变量)
    访问https请求出现警告,去掉警告的方法
    find 和 find_all 用法
    D3的基本设计思路
  • 原文地址:https://www.cnblogs.com/sylar-liang/p/4334421.html
Copyright © 2020-2023  润新知