Codeblocks使用自定义Makefile构建,并运行指定脚本

本文档介绍了如何在Ubuntu 18.04上利用Codeblocks创建Empty项目,添加自定义Makefile并运行指定的shell脚本。通过设置项目属性为使用自定义Makefile,配置Build targets和Build options,确保Build、Run等操作遵循自定义规则。文中提供了Makefile和脚本的示例,并提醒读者在进行复杂配置时备份代码。

由于需要在Linux下调试某模块,加入些自定义代码的,于是就想用codeblocks来编辑文件,并构建和运行。

记录如下:

测试环境:Ubuntu 18.04

  1. 首先创建 Empty project:
    在这里插入图片描述

  2. 输入项目名字和地址,例如:
    在这里插入图片描述

  3. 选择默认编译器:
    在这里插入图片描述

  4. 然后右键 Add files 添加文件,例如:
    在这里插入图片描述

  5. 该测试的目录内容如下:
    Makefile 和 待执行的 sh 脚本都在该目录下。
    为防止出错,请事先备份好一份代码。
    在这里插入图片描述

  6. 打开 Project --> Properties
    选中 This is a custom Makefiles
    在这里插入图片描述
    在 Build targets 页,做如下修改:
    在这里插入图片描述
    在 选择 Output filename 时,可能会提示文件已存在,选择是就可以了。

  7. 打开 Project --> Build options
    编辑内容如下(去掉 $target)
    在这里插入图片描述

  8. 这样 菜单里的 Build 和 Run,Rebuild,Clean,等指令就可以按照自己的 Makefile 和 脚本文件执行了。
    示例结果如下:
    Build 结果:
    在这里插入图片描述
    Run 结果:
    在这里插入图片描述

  9. 附上 Makefile 和 脚本示例:
    Makefile示例:

obj-m += nf_conntrack_ftp.o 

KDIR := /lib/modules/$(shell uname -r)/build

PWD := $(shell pwd)
 
all:
	$(MAKE) -C $(KDIR) M=$(PWD) modules

clean:
	rm -rf *.ko *.o *.mod.c .*.cmd *.markers *.order *.symvers .tmp_versions

脚本示例:

#! /bin/bash -x
modprobe nf_conntrack
rmmod nf_conntrack_ftp
insmod nf_conntrack_ftp.ko
  1. 注意:
    这里只配置了 Debug 选项的内容,Release 选项的内容并没有配置,如有需要请自行配置,更复杂的情况,请备份好自己的代码然后自行测试,谢谢。

参考链接:
https://blog.csdn.net/fdqw_sph/article/details/53769777

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值