模块式编译的Makefile


              平时少不了在linux下写Demo,每次都gcc -o 或者单独写个不可移植的Makefile真的很麻烦,所以写个通用的Makefile很重要。我们在shell下make,有时当前目录下是子目录,有时是编译目录。这点需要区分。这里约定,如果当前目录下是子目录,则需要一个dirs文件。我们假设一个目录如下:

-rwxr--r-- 1 stewart stewart   68 Aug  8 09:36 dirs
drwxr-xr-x 2 stewart stewart 4096 Aug 14 15:49 Iteractive_Server_Main
drwxr-xr-x 2 stewart stewart 4096 Aug 14 15:48 Iterative_Logging_Server
drwxr-xr-x 2 stewart stewart 4096 Aug  9 14:47 Logging_Client
drwxr-xr-x 2 stewart stewart 4096 Aug 12 09:23 Logging_Server

这里的dirs文件内容:

DIRS=Logging_Server
DIRS+=Iterative_Logging_Server
DIRS+=Server_Main
代表依次编译Logging_Server , Iterative_Logging_Server和Server_Main三个目录。


如果当前目录就是需要编译的目录,这里约定需要一个sources文件,制定编译的依赖,目标名以及目标类型。假设有个目录如下:

-rwxr--r-- 1 stewart stewart  883 Aug  7 13:35 Iterative_Logging_Server.cpp
-rwxr--r-- 1 stewart stewart 1334 Aug  7 14:02 Iterative_Logging_Server.h
-rwxr--r-- 1 stewart stewart 2001 Aug  7 09:55 Logging_Handler.cpp
-rwxr--r-- 1 stewart stewart 1014 Aug  7 09:56 Logging_Handler.h
-rwxr--r-- 1 stewart stewart  324 Aug  9 14:20 sources
这里的sources文件如下:

T
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值