码迷,mamicode.com
首页 > 其他好文 > 详细

一个简单的makefile示例

时间:2016-05-29 19:40:58      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:

下面的程序从 Linux 程序设计第四版 引用

文件目录

  技术分享

2.c

#include "a.h"
#include "b.h"
void function_two()
{
}

3.c

#include "b.h"
#include "c.h"
void function_three()
{
}

main.c

#include<stdio.h>
#include "a.h"
extern void function_two();
extern void function_three();
int main()
{
  function_two();
  function_three();
  return 0;
}


makefile1:

#This is a simple makefile
all:myapp
#编译器
CC= gcc
#目录
INCLUDE = .
#带调试信息的编译选项
CFLAGS = -g -Wall -ansi
#CFLAGS = -o -Wall -ansi
#安装目录
INSTDIR = $(INCLUDE)/local/bin

myapp:main.o 2.o 3.o
        $(CC) -o myapp main.o 2.o 3.o
main.o:main.c a.h
        $(CC) -I$(INCLUDE) $(CFLAGS) -c main.c
2.o:2.c a.h b.h
        $(CC) -I$(INCLUDE) $(CFLAGS) -c 2.c
3.o:3.c a.h b.h
        $(CC) -I$(INCLUDE) $(CFLAGS) -c 3.c
#-:告诉make命令忽略所有错误
#@:告诉make命令在执行某条命令前不要将该命令显示在标准输出上
clean:
        -rm main.o 2.o 3.o
install:myapp
        @if [ -d $(INSTDIR) ]; \
          then \
     cp myapp $(INSTDIR); \
          chmod a+x $(INSTDIR)/myapp; \
          chmod og-w $(INSTDIR)/myapp; \
          echo "Installed in $(INSTDIR)"; \
        else \
          echo "Sorry, $(INSTDIR) does not exist"; \
        fi
a.h b.h均为一个新文件

技术分享

也可以只运行

make -f makefile1 install

  

一个简单的makefile示例

标签:

原文地址:http://www.cnblogs.com/hqh-prg2016/p/makefile.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!