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 &
を実行すると動作しました。