Zeta提供了一个名为zmake的工具,zmake为S3 Zeta Linux开发提供了很多便利,zmake为开发者提供了:
- 完整构建开发包:zmake all
- 编译内核:zmake kernel
- 编译引导程序:zmake uboot
- 打包文件系统:zmake rootfs
- 打包固件:zmake image
- 编译模块:zmake [模块代码路径]/zeta.in
- 清除模块:zmake clean [模块代码路径]/zeta.in
zeta.in是zmake工具认识的Makefile文件,新建一个应用程序并且要能被zmake编译至少包含:
- 应用程序源代码
- Makefile文件zeta.in
下面以创建一个helloworld应用程序为例,讲述如何在Zeta Linux上构建第一个应用程序。假定SDK目录位于~/zeta/。
(1)在Zeta源码包创建helloworld目录及相关文件:
cd ~/zeta/app
mkdir helloworld
touch helloworld.c zeta.in
(2)编辑helloworld.c源码,在终端打印”Hello, world.”
#include <stdio.h>
int main()
{
printf("Hello, world.\n");
}
(3)编辑zeta.in文件,使helloworld模块能被zmake编译。zeta.in的语法与Android的Android.mk语法类似。
# 设置源码目录,清除环境变量
TARGET_PATH :=$(call my-dir)
include $(ENV_CLEAR)
# 设置源码文件(*.c *.cpp等)和头文件
TARGET_SRC := ./helloworld.c
TARGET_INC :=
# 设置依赖的动态库
TARGET_SHARED_LIB :=
# 设置产物的名称
TARGET_MODULE := helloworld
# 设置产物的类型:可执行文件、静态库、动态库
include $(BUILD_BIN)
(4)编译模块
cd ~/zeta/app/helloworld
zmake ./zeta.in
(5)放到真机上运行,可见终端处打印”Hello, world.”
… …