次のコードの「_DBGR_ON_」のように、Makefile で定義された特定のマクロをプリプロセッサに渡し、それに応じてコードがアセンブルされるようにしたいと考えています。このオプションは、makefile で -D_DBGR_ON_ で定義し、Assembler フラグとして含めることにより、diab コンパイラ (powerpc 用の c クロス コンパイラ) で機能します。しかし、それをGCCに含める方法。
同じことをすると (ASFLAGS = -mregnames -D_DBGR_ON_.)、エラーが発生しました: 認識されないオプション `-_DBGR_ON_'
次に、ASFLAGS = -mregnames -D _DBGR_ON_ を試しましたが、「読み取り用に _DBGR_ON_ を開けません: そのようなファイルやディレクトリはありません」というメッセージが表示されました
-D オプションは GCC では無視されるため、助けてください。
-D オプションを使用して条件付きアセンブリを実行し、Diabでコンパイルしました。GCCでそれを行う方法。私はここで立ち往生しています。
よろしく、トゥラシ
startup.s ファイルの内容...
.globl _start
_start:
.ifndef _DBGR_ON_ # Flash mode
mfmsr r3
ori r3,r3,0x1040 # Set ME/IP flags
mtmsr r3
sync
.else
mfmsr r3
ori r3,r3,0x1000 # Set ME/IP flags
mtmsr r3
sync
.endif #_DBGR_ON_
.......等々..