여러 분들의 도움 덕분에 크로스 컴파일 하였습니다.. 보드에서 실행해 보질 않았으니 잘 돌아가는지 확인은 안 되었지만 뭐... 그래도 에러없이 ARM용 바이너리가 생성되었네요..
고도리님 말씀하신데로
이솝사이트의
Software
software는 1st, 2nd 보드에 대해서 동일(common)하게 적용이 됩니다.
1. Cross Toolchain(download)
gcc-3.3.4-glibc-2.3.3 for ARM9 - 설명
- Dan Kegel의 crosstool script를 이용해서 Godori가 make
- S3C2410, S3C2440, MMSP2에서 테스트 완료.
- SDL porting
- X windows library porting
- GTK+ porting
에서 다운로드 받고 설명에 쓰여진 데로 설치 하였습니다.
PDS 란에 올려 주신 cross-sdl-config 파일을 /usr/bin에 저장하고
bash-3.00# cross-sdl-config --cflags
-I/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/include/SDL -D_REENTRANT
bash-3.00#
bash-3.00#
bash-3.00# cross-sdl-config --libs
-L/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib -Wl,-rpath,/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib -lSDL -lpthread -lm -ldl
bash-3.00#
위와 같이 나옵니다.
컴파일 에러난게 -lSDL_image가 빠진 것이 아닌가 해서
Makefile을 아래 처럼 바꿨습니다.
CROSS_COMPILE = arm-linux-
CC = $(CROSS_COMPILE)gcc
LD = $(CROSS_COMPILE)gcc
PROG = gview
SRCS = gview.c
OBJS = $(SRCS:.c=.o)
CFLAGS = -g -I.
CFLAGS += `cross-sdl-config --cflags`
LDFLAGS = -lSDL_image -lSDL `cross-sdl-config --libs` -ljpeg -lpng -lz -lpthread
.SUFFIXES: .c .o
# .PHONY: all clean
.c.o:
$(CC) -c $(CFLAGS) -o $@ $<
$(PROG): $(OBJS)
$(LD) -o $(PROG) $(OBJS) $(LDFLAGS)
#cp -a ckkey /scratchbox/users/aesop/targets/AESOP/root
all: $(PROG)
clean:
rm -f $(PROG) *.o *.a *~
distclean:
rm -f $(PROG) *.o *.a *~ .depend
dep: depend
depend:
$(CC) -MM $(CFLAGS) $(SRCS) 1>.depend
#
# include dependency files if they exist
#
ifneq ($(wildcard .depend),)
include .depend
endif
요렇게 하고 make 하니 gview 가 ARM용으로 컴파일 되었네요 ㅎㅎ
감사합니다~~