zoukankan      html  css  js  c++  java
  • 初学makefile

    makefile 需要用到 常用命令、shell、正则表达式、gcc,比较综合。

    今天写了一个做一个记录,以后系统总结一下。

    目录结构:russia---------include、src、mian.c、Makefile

         include-----------russia.h

         src-----------------fun1、fun2、fun3、fun4、fun5...Makefile

    Makefile 1:

    subobj = ./src/fun1.o ./src/fun2.o ./src/fun3.o ./src/fun4.o ./src/fun5.o ./src/fun6.o


    all:main.o SUBDIR
    gcc -o main main.o $(subobj)

    main.o:main.c
    gcc -c main.c

    SUBDIR:
    make -C src

    clean:
    rm main.o *.o

    Makefile 2:

    all:fun1.o fun2.o fun3.o fun4.o fun5.o fun6.o

    fun1.o:fun1.c
    gcc -c fun1.c
    fun2.o:fun2.c
    gcc -c fun2.c
    fun3.o:fun3.c
    gcc -c fun3.c
    fun4.o:fun4.c
    gcc -c fun4.c
    fun5.o:fun5.c
    gcc -c fun5.c

    MakeFile例子
    
    OBJS = main.o child.o
    CC = gcc 
    FLAGS = -g -O -Wall
    CSOURCE = main.c child.c
    HSOURCE = btree.h
    
    btree : $(OBJS)
            $(CC) $(FLAGS) -o $@ $^
    %.o : %.c 
            $(CC) $(FLAGS) -o $@ -c $<
    
    clear :
            rm *.o btree

     

    注意的问题:

     1、只编译不链接,用gcc -c不用-o

     2、全局变量放在 .c文件中, ,h中添加外部变量,避免重复声明问题。

  • 相关阅读:
    C++ Programming Language中的narrow_cast实现
    使用反射处理protobuf数据结构
    Qt中三种解析xml的方式
    iterator简单描述
    关于Strategy和State设计模式
    Jedis连接redis客户端
    Redis基础命令
    redis的安装和启动linux环境
    Redis简介和常见的面试题
    SSM框架整合
  • 原文地址:https://www.cnblogs.com/tshua/p/5712326.html
Copyright © 2011-2022 走看看