Posts Tagged ‘gcc’

クロスコンパイル環境でのMakefileで、x86のgccが動く。

12月 22nd, 2009 by KUMA | コメントは受け付けていません。 | Filed in 技術メモ
CC=arm-linux-gcc
LIBS=-L/hoge/huga/lib
INCLUDES=-I/hoge/huga/include
TARGET=hage
OBJS=hage.o fuge.o

all: $(TARGET)
$(TARGET): $(OBJS)
	$(CC) $(INCLUDES) $(LIBS) -o $(TARGET) $(OBJS)

↑のような感じでクロスコンパイルでmakeを実行した場合に、↓のように個別のオブジェクトファイルのコンパイルにarm用のgccであるarm-linux-gccではなく、x86のgccが動いてしまう場合があった。

gcc -o hage.o hage.c
gcc -o fuge.o fuge.c

とりあえず、サフィックスルールというものを利用することで解決した。

CC=arm-linux-gcc
LIBS=-L/hoge/huga/lib
INCLUDES=-I/hoge/huga/include
TARGET=hage
OBJS=hage.o fuge.o

all: $(TARGET)
$(TARGET): $(OBJS)
	$(CC) $(LIBS) -o $(TARGET) $(OBJS)

.c.o:
	$(CC) $(INCLUDES) gcc -c $<

Tags: , , , ,