なんとかコンパイルできたが、原因はなんとも単純なものであった。
まず、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 に送ることを考えると多少は楽になるではと思う。
まず、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 に送ることを考えると多少は楽になるではと思う。