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

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

记录如下:

测试环境:Ubuntu 18.04

  1. 首先创建 Empty project:
    Codeblocks使用自定义Makefile构建,并运行指定脚本_第1张图片

  2. 输入项目名字和地址,例如:
    Codeblocks使用自定义Makefile构建,并运行指定脚本_第2张图片

  3. 选择默认编译器:
    Codeblocks使用自定义Makefile构建,并运行指定脚本_第3张图片

  4. 然后右键 Add files 添加文件,例如:
    Codeblocks使用自定义Makefile构建,并运行指定脚本_第4张图片

  5. 该测试的目录内容如下:
    Makefile 和 待执行的 sh 脚本都在该目录下。
    为防止出错,请事先备份好一份代码。
    Codeblocks使用自定义Makefile构建,并运行指定脚本_第5张图片

  6. 打开 Project --> Properties
    选中 This is a custom Makefiles
    Codeblocks使用自定义Makefile构建,并运行指定脚本_第6张图片
    在 Build targets 页,做如下修改:
    Codeblocks使用自定义Makefile构建,并运行指定脚本_第7张图片
    在 选择 Output filename 时,可能会提示文件已存在,选择是就可以了。

  7. 打开 Project --> Build options
    编辑内容如下(去掉 $target)
    Codeblocks使用自定义Makefile构建,并运行指定脚本_第8张图片

  8. 这样 菜单里的 Build 和 Run,Rebuild,Clean,等指令就可以按照自己的 Makefile 和 脚本文件执行了。
    示例结果如下:
    Build 结果:
    Codeblocks使用自定义Makefile构建,并运行指定脚本_第9张图片
    Run 结果:
    Codeblocks使用自定义Makefile构建,并运行指定脚本_第10张图片

  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

你可能感兴趣的:(Ubuntu学习之旅)