Makefile 加入gdb以及不同目录编译

条件:根目录下两个文件夹fun,head

./fun/function.h ./fun/function.c

./head/define.h

./main.c

以下为对应的文件源码,相对比较简单,仅仅起一个抛砖引玉的作用,到时候只需要照搬就行。

function.h

#include <stdio.h>
#include <stdlib.h>
#include "../head/define.h"

void show_hello();

function.c

#include "function.h"

void show_hello()
{
	printf("hello world,maxline = %d\n",MAXLINE);
}

define.h

#ifndef _DEFINE_H_
#define	_DEFINE_H_

#define	MAXLINE	1024

#endif

main.c

#include "./fun/function.h"

int main()
{
	show_hello();	

	return 0;
}

Makefile

Source = $(wildcard fun/*.c) $(wildcard head/*.c)

Source += $(wildcard *.c)
Objs = $(Source:%.c=%.o)
CFLAGS += -I./fun -I./head 
CFLAGS += -Wall -g
Target = test

all:$(Target)
$(Target):$(Objs)
	$(CC) -o $(Target) $(Objs)

.PHONY:clean
clean:
	-$(RM) $(Target) $(Objs)

通过以上的makefile可以直接在gdb中调试,希望能帮到大家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值