首页 > 其他 > 详细

一个简单的makefile示例

时间:2016-05-29 19:38:19      阅读:156      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!