玩转全志/索智S3 Zeta Linux开发(2)国际惯例helloworld

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 

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."

... ...

你可能感兴趣的:(c,c++,linux,嵌入式,helloworld)