研究日誌。

大規模なグラフ処理に対してメモリ階層構造を考慮した高性能なソフトウェアを開発。

make.footer を用いた make 。

2007-07-30 19:13:25 | Weblog
なんとかコンパイルできたが、原因はなんとも単純なものであった。
まず、pthread のつづりが pthead になってしまっていたことと、
Make.footer を用いた Makefile の構文を誤って理解してしまったためである。
どちらも英文をしっかり読まなかったせいである。反省。。。



Makefile の書き方を忘れないうちにメモしておく。

Sample/
  Makefile
  ppe_sample.c
  sample.h ( ppe_sample.c と spe_sample.c で include されている)
  spe_src/
    Makefile
    spe_sample.c


上のような Sample ディレクトリについて Make する場合、つぎのような Makefile を書けば良い。



# Sample/Makefile
DIRS := spe_src
PROGRAM_ppu := ppe_sample
IMPORTS = spu/lib_spe_sample.a -lspe2 -lpthread
include /opt/ibm/cell-sdk/prototype/make.footer


# Sample/spe_src/Makefile
PROGRAM_spu := spe_sample
LIBRARY_embed := lib_spe_sample.a
INCLUDE := -I ../
include /opt/ibm/cell-sdk/prototype/make.footer



このようにすると、PROGRAM_ppu で指定された名前のバイナリが作成される。
PPE 用ソースコード名、SPE 用ソースコード名ともに自動的に判別してくれる。
作成されたバイナリにはSPE 用バイナリがが埋め込まれているのでこれだけでよい。
scp 等で、PS3 に送ることを考えると多少は楽になるではと思う。