玩轉全志/索智S3 Zeta Linux開發(2)國際慣例helloworld

Zeta提供了一個名爲zmake的工具,zmake爲S3 Zeta Linux開發提供了不少便利,zmake爲開發者提供了:app

  • 完整構建開發包: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目錄及相關文件:code

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)編譯模塊io

cd ~/zeta/app/helloworld
zmake ./zeta.in

(5)放到真機上運行,可見終端處打印"Hello, world."編譯

... ...變量

相關文章
相關標籤/搜索