ブログ

Armadillo-440:GTKのGUIサンプリアプリ(functester)を単独でビルドする(ATDE5版)

at_kazutaka.bito
2016年3月22日 17時27分

Armadillo-440:GTKのGUIサンプリアプリ(functester)を単独でビルドするでは、ATDE3(lenny)で確認しました。 ここでは、ATDE5(wheezy)でfunctesterを単独でビルドして動作確認してみました。

使用した環境)
 ATDE: atde5-amd64-20151218
 カーネル: linux-3.14-at5
 ユーザーランド: atmark-dist-20151218

1.任意のディレクトリにfunctesterをコピーする

(以降、functesterをホームディレクトリにコピーする場合で説明します。)

[atde ~]$ cp -r ~/atmark-dist/vendors/AtmarkTechno/Armadillo-440/functester ~/

2.コピーしたfunctesterディレクトリ内のMakefileを変更する

[atde ~]$ cd functester
[atde ~/functester]$  gedit Makefile

で、エディタでMakefileを開いて、

CFLAGS += $(shell pkg-config --cflags gtk+-2.0 alsa)
LDFLAGS += $(shell pkg-config --libs gtk+-2.0 alsa)
CFLAGS += -O2 -Wall

の箇所を

CROSS    := arm-linux-gnueabi
 
CROSS_PREFIX        := $(CROSS)-
PKGCONFIG_LIBDIR    := PKG_CONFIG_PATH=/usr/$(CROSS)/lib/pkgconfig:/usr/$(CROSS)/share/pkgconfig
 
CC  = $(CROSS_PREFIX)gcc
CFLAGS += -O2 -Wall -Wextra -I../common
 
CFLAGS  += `$(PKGCONFIG_LIBDIR) pkg-config --cflags gtk+-2.0 alsa`
LDFLAGS += `$(PKGCONFIG_LIBDIR) pkg-config --libs gtk+-2.0 alsa`

に変更します。

また、単独でビルドする場合は、実行ファイルをromfsに置かないので下記の箇所を削除します。

romfs: $(target)
    $(ROMFSINST) /usr/bin/functester
    $(ROMFSINST) /usr

Armadillo-440:GTKのGUIサンプリアプリ(functester)を単独でビルドする(ATDE3)の手順との違いとしては、

PKGCONFIG_LIBDIR    := PKG_CONFIG_PATH=/usr/$(CROSS)/lib/pkgconfig:/usr/$(CROSS)/share/pkgconfig

で、PKG_CONFIG_PATHに、renderproto.pcへのパスとして、 /usr/$(CROSS)/share/pkgconfig を追加したところと、 functesterのソースコード(task_sound.c)に追加された、alsaの追加

CFLAGS  += `$(PKGCONFIG_LIBDIR) pkg-config --cflags gtk+-2.0 alsa`
LDFLAGS += `$(PKGCONFIG_LIBDIR) pkg-config --libs gtk+-2.0 alsa`

になります。

上記の変更により、

[atde ~/functester]$ make

で、functesterが単独でビルドできました。

このfunctesterをカーネルlinux-3.14の標準イメージが書き込まれているArmadillo-440の/rootディレクトリに転送して、 オリジナルのfunctesterを停止した後、

GDK_NATIVE_WINDOWS=true DISPLAY=:0 /root/functester > /dev/null 2>&1 &

を実行すると動作しました。