###前提・実現したいこと
IARの開発環境で書かれたCプログラムを、Makefile+gccでコンパイルできるようにしようとしています。
IARでコンパイルしていたものをgccでコンパイルできるようにするために、IARのコンパイラで定義済みのマクロをgccのほうでも定義しようと思いました。
IARの定義済みマクロをファイル出力できたので、その中身をMakefile実行時に読み込もうとしたのですが、Makefileにおいてファイルからマクロ定義を読み込む方法が見つかりません。
今は、IARの定義済みマクロをファイルに出力したもの(IAR_predefined.h)を、コンパイルしようとしているCプロジェクトの各ソースファイル内でインクルードしていますが、ソースが汚くなるのと余計な手間が増えるので、Makefileの記述のみでなんとかしたいです。
IAR_predefined.h
C
1#define __INT_SIZE__ 4 2#define __CHAR_SIZE__ 2 3……
source_a.c
C
1#include "IAR_predefined.h" 2 3int main(void){ 4…… 5}
他の方法として一応、Makefile内の記述で、コンパイル時のCC(gcc)のオプション部分で-D__INT_SIZE=4 -D__CHAR_SIZE__=2 ……
と全て指定する方法もあると思いますが、これだといろいろ不便になってしまいます。
理想としては、Makefile内でなんらかの記述によりIAR_predefined.h
を指定して、コンパイル時にこのファイル内の#define
が定義されている状態にしたいのですが、Makefileでそのような記述は可能でしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/10 04:00