Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gnsyxiang/autotools_demo_qt
autotools qt app project demo(autotools管理qt工程)
https://github.com/gnsyxiang/autotools_demo_qt
qt qt-app qt-application qt-autoconf qt-automake qt-autoscan qt-autotools qt-demo qt5 qt5-demo
Last synced: 17 days ago
JSON representation
autotools qt app project demo(autotools管理qt工程)
- Host: GitHub
- URL: https://github.com/gnsyxiang/autotools_demo_qt
- Owner: gnsyxiang
- License: gpl-3.0
- Created: 2021-04-29T01:59:36.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-11-12T03:17:33.000Z (about 2 months ago)
- Last Synced: 2024-11-12T04:21:37.914Z (about 2 months ago)
- Topics: qt, qt-app, qt-application, qt-autoconf, qt-automake, qt-autoscan, qt-autotools, qt-demo, qt5, qt5-demo
- Language: M4
- Homepage:
- Size: 242 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# README
- [依赖](#依赖)
- [autotools](#autotools)
- [java](#java)
- [doxygen](#doxygen)
- [graphviz](#graphviz)
- [目录说明](#目录说明)
- [目录](#目录)
- [配置脚本](#配置脚本)
- [使用说明](#使用说明)
- [配置](#配置)
- [增加新平台](#增加新平台)
- [增加配置脚本](#增加配置脚本)
- [增加`Makefile.am`](#增加makefileam)
- [配置`configure.ac`](#配置configureac)
- [修改`m4/select_vender.m4`](#修改m4select_venderm4)
- [修改`m4/select_chip.m4`](#修改m4select_chipm4)
- [thanks](#thanks)## 依赖
* `autotools`
* `java`
* `doxygen`
* `graphviz`### autotools
需要安装autotools工具 (`sudo apt install -y autoconf automake`)
### java
因为使用了`*.plantuml`脚本开发相关时序图,该脚本转化为svg图片的过程中需要用到java开发环境
### doxygen
如果需要生成html文档,需要安装doxygen软件,把相关注释转化成文档 (`sudo apt install -y doxygen`)
### graphviz
如果需要生成html文档中的调用图,需要安装graphviz软件,把函数调用通过图形的方式展示出来,并可以通过图形跳转 (`sudo apt install -y graphviz`)
## 目录说明
### 目录
```shell
.
├── autogen.sh
├── autotools_demo_lib.pc.in
├── build-script # 配置厂商,芯片,产品,语言等相关信息
│ ├── arterytek
│ │ ├── at32f4xx
│ │ │ ├── config.sh # 配置脚本
│ │ │ └── Makefile.am
│ │ └── Makefile.am
│ ├── eeasytech
│ │ ├── Makefile.am
│ │ └── SV823
│ │ ├── config.sh
│ │ └── Makefile.am
│ ├── fullhan
│ │ ├── Makefile.am
│ │ └── MC6810E
│ │ ├── config.sh
│ │ └── Makefile.am
│ ├── Makefile.am
│ └── pc
│ ├── Makefile.am
│ └── pc-chip
│ ├── config.sh
│ └── Makefile.am
├── build.sh # 编译脚本
├── config.h.in
├── configure.ac
├── doc
│ └── Makefile.am
├── example # 测试demo
│ ├── hy_calc_demo.c
│ └── Makefile.am
├── include # 头文件
│ ├── hy_calc.h
│ ├── hy_module.h
│ └── Makefile.am
├── LICENSE
├── m4
│ ├── ax_prog_doxygen.m4
│ ├── check_doxygen.m4
│ ├── check_java.m4
│ ├── check_libcunit.m4
│ ├── pkg.m4
│ ├── select_chip.m4
│ ├── select_language.m4
│ ├── select_product.m4
│ └── select_vender.m4
├── Makefile.am
├── README.md
├── res # 资源文件
│ ├── Doxyfile
│ ├── doxygen.am
│ ├── get_project_info.sh
│ ├── Makefile.am
│ └── voice # 多国语言
│ ├── cn
│ │ ├── demo.pcm
│ │ └── Makefile.am
│ ├── en
│ │ ├── demo.pcm
│ │ └── Makefile.am
│ └── Makefile.am
├── src # 源文件
│ ├── hy_calc.c
│ ├── hy_module.c
│ └── Makefile.am
└── test # 单元测试
├── hy_calc_test.c
├── hy_module_test.c
├── main.c
└── Makefile.am
```### 配置脚本
```shell
#!/usr/bin/env bashchip=pc-chip # 芯片型号
product=HY-pc # 支持产品
language=cn en # 支持语言
host=
cross_gcc_path= # gcc路劲configure_param= # configure配置参数
cppflag=-fstack-protector-all
cflag=
cxxflag=
ldflag=-rdynamic
lib=install_path= # 安装路径
```## 使用说明
### 配置
* 执行`./build.sh`,生成`configure`脚本
```shell
$ ./build.sh
support vender: # 选择厂商
pc
arterytek
eeasytech
fullhan
please select vender: pc
support chip: # 选择芯片
pc-chip
please select chip: pc-chip
support language: # 选择语言
cn
en
please select language: en
support build version: # 选择是否调试版本
release
debug
please select build version: debug
```* 三部曲编译源码并生成对应文件
```shell
$ ./configure
$ make
$ make install
```## 增加新平台
增加`xxx_vender`下的`xxx_chip`平台
### 增加配置脚本
* 新建`config.sh`
```shell
$ mkdir -p build-script/xxx_vender/xxx_chip
$ cd build-script/xxx_vender/xxx_chip
$ touch config.sh
```* 编辑`config.sh`文件
```shell
#!/usr/bin/env bashchip= # 指定芯片型号
product= # 指定产品型号
language= # 指定支持的语言
host=
cross_gcc_path= # 交叉编译工具链configure_param= # 指定configure中的参数
cppflag= # 编译相关参数
cflag=
cxxflag=
ldflag=
lib=install_path= # 安装路劲
```### 增加`Makefile.am`
```shell
$ touch build-script/xxx_vender/Makefile.am
$ vim build-script/xxx_vender/Makefile.amSUBDIRS = $(chip)
$ touch build-script/xxx_vender/xxx_chip/Makefile.am
$ vim build-script/xxx_vender/xxx_chip/Makefile.am# ------------------
# defining variables
# ------------------
_dist_file_com =# ------------------
# make install files
# ------------------# ---------------
# make dist files
# ---------------
_dist_file_com += config.shEXTRA_DIST = $(_dist_file_com)
```### 配置`configure.ac`
```shell
$ vim configure.ac找到AC_CONFIG_FILES,增加如下行
build-script/xxx_vender/xxx_chip/Makefile
build-script/xxx_vender/Makefile
```### 修改`m4/select_vender.m4`
仿照文件中的任何一个平台,增加配置
### 修改`m4/select_chip.m4`
仿照文件中的任何一个芯片,增加配置
## thanks
欢迎大家提交`PR`或`Issues`
能给一个`Start`就是对我最大的鼓励^_^...