
Hello everybody,
I'm currently developping a driver for a LCD driver (the Epson SED13806 used on the Embedded Planet ECCX board). In this driver, I need to call board specific functions, then I added a file in the RPXClassic board directory. During the link phase, I have some errors because of undefined references to the board specific functions. These errors are due to the library order defined in the main Makefile. The board library is the first in the list. I've tried to change this order in the following way :
LIBS = board/$(BOARDDIR)/lib$(BOARD).a LIBS += cpu/$(CPU)/lib$(CPU).a LIBS += lib_$(ARCH)/lib$(ARCH).a LIBS += fs/jffs2/libjffs2.a fs/fdos/libfdos.a LIBS += net/libnet.a LIBS += disk/libdisk.a LIBS += rtc/librtc.a LIBS += dtt/libdtt.a LIBS += drivers/libdrivers.a LIBS += post/libpost.a post/cpu/libcpu.a LIBS += common/libcommon.a LIBS += lib_generic/libgeneric.a
becomes LIBS = cpu/$(CPU)/lib$(CPU).a LIBS += lib_$(ARCH)/lib$(ARCH).a LIBS += fs/jffs2/libjffs2.a fs/fdos/libfdos.a LIBS += net/libnet.a LIBS += disk/libdisk.a LIBS += rtc/librtc.a LIBS += dtt/libdtt.a LIBS += drivers/libdrivers.a LIBS += post/libpost.a post/cpu/libcpu.a LIBS += common/libcommon.a LIBS += lib_generic/libgeneric.a LIBS += board/$(BOARDDIR)/lib$(BOARD).a
This modification solves my problem. I ran the MAKEALL script for 8xx, 8260, 824x and 74xx boards (I don't have any compiler for other processors) without any problem.
What do you think about this modification ?