PSP xvi

PSPプログラミングを教えるブログ(本気で頑張る人アクセス大歓迎サイト)

PSP-X.gif

記事の間違いを報告  新アップローダー
記事修正情報 PSPプログラミング資料 自作ゲーム PSP用エミュレータ リンク

公認リンク
公式PSP専科 公式PSVita専科 はじめるPSPSDK PSP EXEC GAME M@STER PSP 猫山のYouTubeチャンネル

TAG
全記事にタグをつけています  http://nekoyama2gillien.blog36.fc2.com/?tag=タグ
PSP PSPプログラミング DXライブラリPortable OSLib ショートプログラム ハローワールド
PSP自作ゲーム PSP自作ソフト エミュレータ ゲームアーカイブス PSP動画
動画 初音ミク ミクミクダンス MMDドラマ ゲーム 魔法少女まどか☆マギカ 侵略!イカ娘
アイドルマスター

このブログについて

このブログでは、非公式のPSPソフト、いわゆる自作ソフト( PSP Homebrew )を作る事を目的とします。

著作権などの こまかい利用規約については、こちらを開いてお読み下さい

このブログについて知りたい方、初めて来訪された方はこちらを開いてお読みください
お問い合わせは 猫山猫宗(nekomune@gmail.com)までどうぞ


当ブログはリンクフリーです。ブログ名は、アルファベットで「PSP xvi」と書いて『ピーエスピー・エクシビ』とお読みください。
相互リンクを希望されるブログ運営者様は、ココで申請して下さい。


このブログで全記事から探し物の方は、ここをクリックして下さい。
http://nekoyama2gillien.blog36.fc2.com/?all

スポンサーサイト 

--/--/--
--. --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[edit]

CM: --
TB: --

page top

えーと、お待たせしました。PSPSDK における、makefile の書き方です。
まずは、EBOOT.PBP 編 をお送りします。
何故かというと、PSPSDKでは、????????.prx というプラグインも作れるので、2回に分けて掲載しようという作戦です。

取り合えず、俺作の『じゃけんゲーム for PSP パワードX』で使用したのを公開します。
良く見て下さいませ。

ファイル名は、makefileで!(英小文字でないと、認識されません)
---------------------    コ コ か ら    ----------------------

TARGET = JANKEN

OBJS = JANKEN.o pg.o string.o

INCDIR =
CFLAGS = -Wall -G0 -O3 -fomit-frame-pointer -mgp32 -mlong32
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)

LIBDIR =
LDFLAGS =
LIBS = -lpspgu -lpsppower

EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = JANKEN GAME Powered X PSP
PSP_EBOOT_ICON = ICON0.png
PSP_EBOOT_ICON1 = NULL
PSP_EBOOT_UNKPNG = NULL
PSP_EBOOT_PIC1 = NULL
PSP_EBOOT_SND0 = NULL

PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak

JANKEN.o : JANKEN.c pg.h mydef.h HOMEkey.c
pg.o : pg.c pg.h mydef.h
string.o : string.c

---------------------    コ コ ま で    ----------------------

[ 以下、解説 ]

'TARGET = ??????' で指定した名前の ELF ファイルが生成されます。??????.elf というファイルです(この場合、JANKEN.elf ですね)。

'OBJS = ???1.o ???2.o ???3.o ???4.o' は、生成されるオブジェクトファイル名を記述します。ソースがC言語とか、C++言語とか、アセンブラ言語だろうが、そのファイル名で、拡張子を '.o' にして記述します。記述の長さが1行(半角文字で80文字くらい)以上になる場合は、行末に、\ 記号を記述して改行してから、次の行に '???5.o ???6.o ???7.o' などと 延々と書いてゆきます
オブジェクトファイルを生成したいファイル(コンパイルさせたいファイル)を、全部 拡張子 '.o' で記述します。

'INCDIR = ' で指定したフォルダを優先的に検索して、ソース内の
     #include <ナントカ.h> ← (例) を、インクルードします。記述してなかったら、標準のインクルード先を参照します。大抵、記述しなくても良いと思います。

'CFLAGS = ' で指定したパラメータを、コンパイラーに渡してコンパイルや、アセンブルを行ないます
記述しないと、変テコな実行プログラムが吐き出されるかも知れませんので、是非、正しく記述して下さい。

   intは、32ビット扱いです。
   -Oオプションは、最適化オプションです。-O3が より最適化度UP

     当講座では、-O3 を推奨しております。

'CXXFLAGS = ' は、多分、コンパイラーに渡すフラグ(パラメータ以外のん)を記述するのでは無いかと思います。
      解からないので、このまま記述。

'ASFLAGS = ' は、多分、アセンブラに渡すフラグ(パラメータ以外のん)を記述するのでは無いかと思います。
      解からないので、このまま記述。

'LIBDIR =' は、ライブラリのあるフォルダを指定する際に記述します。記述しなかったら、カレントフォルダか、標準のライブラリの場所から検索して結合します。

'LDFLAGS =' は、リンカーに渡すフラグ(パラメータ以外のん)を記述するのだと思われます。

'LIBS =' は、リンクの時に結合させたいアーカイブを指定します。(:)libpspgu.aの場合は、-lpspguと記述します( lib が -l で、拡張子 '.a' は省く)。
   コンパイル済みのオブジェクトファイル(拡張子'.o')をリネームしたファイル(拡張子'.a')だとお考え下さい。
   コンパイルする手間が省けます

'EXTRA_TARGETS = EBOOT.PBP' は、出力する実行ファイル名を記述します。ええ、EBOOT.PBP ですね。

'PSP_EBOOT_TITLE = ' は、その EBOOT.PBP のタイトル名を、半角英数記号で記述します。
     日本語のタイトル名は、UTF-8 の文字コードを使う様ですが この PSPSDK は 日本語に非対応なので 漢字などの全角文字(2バイト文字)や、半角カナ文字は使えません

'PSP_EBOOT_ICON = ' は、その EBOOT.PBP のアイコンのファイル名を記述します。標準では、'ICON0.PNG' です。画像形式は 'PNG' です。PSP ではお馴染みの画像形式ですね。寸法は、横144 × 縦80。

'PSP_EBOOT_ICON1 = ' は、その EBOOT.PBP の動画アイコンのファイル名を記述します。標準では、'ICON1.PMF' です。動画画像形式は 'PMF' です。PSP ではお馴染みの画像形式です。'PMF'動画は、専用のソフトで製作します。寸法は、横144 × 縦80。ファイルサイズは、500KB以下。
> PMFデータ 作成方法

※ 画像アイコン と 動画アイコン は、独立しています。閲覧時は 画像アイコン、選択時は 動画アイコン です。

'PSP_EBOOT_UNKPNG = ' は、ゲームやUMD選択時に表示される背景画像の右中側の位置に中途半端に表示される、解説用の画像ファイル名を記述します。標準では、'ICON1.PNG' です。寸法は、横310 × 縦180 です。

'PSP_EBOOT_PIC1 = ' は、ゲームやUMD選択時に表示される背景画像のファイル名を記述します。標準では、'PIC1.PNG' です。画像形式は、'PNG'です。寸法は、横480 × 縦272 です。

'PSP_EBOOT_SND0 = ' は、ゲームやUMD選択時に流れるBGMの音楽ファイル名を記述します。標準では、'SND0.AT3' です。"ATRCA3plus形式圧縮オーディオ"という、SONY独自の音楽形式です。ファイルサイズは、500KB以下。'AT3'音楽は、SONYのSonicStageという専用の市販ソフトで製作します。
  AT3データ [ATRAC3plus]  (SONYが開発したオーディオ圧縮技術)

'PSPSDK=$(shell psp-config --pspsdk-path)' は、PSPSDK に渡す何かです(良く解かりません)。このまま、記述。

'include $(PSPSDK)/lib/build.mak' は、ソース中の インクルードPATH の参照先 だと思われます。EBOOT.PBP 製作専用 記述です。未調査の為、このまま記述。

'JANKEN.o: JANKEN.c pg.h mydef.h HOMEkey.c' は、プログラム・ソース 'JANKEN.?' を、再度コンパイルするかどうかの判定用の記述です。
       'JANKEN.o' よりも、'JANKEN.c' or 'pg.h' or 'mydef.h' or 'HOMEkey.c' の日付が新しいなら'JANKEN.o'を削除して'JANKEN.o' を作り直します(再コンパイル)

> pg.o: pg.c pg.h mydef.h
> string.o: string.c
   ↑↑ 以下同様の為、省略。

以上makefile EBOOT.PBP 生成編解説でした。

[ 補足 ]
PSP自作ソフトプログラミング/開発wiki
↑↑ このサイトの、「メニュー」の「実行ファイルの作成」の「PBPファイル」をクリックして、内容を読んでみて下さい。こちらの方でも、makefile について解説されています。


この PSPSDK は、製作側が全てを公開していない様なので、ココに記述している内容は、間違っているかも知れません。私の独自調査で書いた記事です。

【 関連記事 】
PSPプログラミング EBOOT.PBP 生成用 makefile 記述方法
PSPプログラミング プラグイン生成用 makefile 記述方法
PSPプログラミング サンプルプログラムソースをコンパイルしてみよう
PSPプログラミング PSPSDK に同梱されているライブラリの一覧とリンク記述

関連記事
スポンサーサイト

[edit]

CM: 1
TB: 0

page top

この記事に対するコメント

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

# |  | 2011/03/13 11:11 * edit *

page top

コメントの投稿

Secret

page top

トラックバック

トラックバックURL
→http://nekoyama2gillien.blog36.fc2.com/tb.php/59-05ce6dae
この記事にトラックバックする(FC2ブログユーザー)

page top


h o m e |


 

2017-06