在内核顶层Makefile中增加软链接


由于最新内核头文件位置的改变,一些原有的驱动所包含的头文件会找不到,为了肢解使用旧有的驱动而不做太大改动,可以增加一个软连接:

cd ../include/asm-arm/

ln -sf ../../arch/arm/mach-lpc32xx/include/mach/ arch

将arch/arm/mach-lpc32xx/include/mach/链接为include/asm-arm/arch,即

include/asm-arm/arch-->arch/arm/mach-lpc32xx/include/mach

这样,原有驱动中#include <mach/xxx.h>就可以使用了。

可以在编译之前手工建立这个链接,但是,一旦make distclean,这个手工建立的链接就会被清除掉,下次还得继续手工建立。这样很麻烦,为了方便,可以直接修改内核顶层的Makefile文件,增加蓝色部分的语句:

980 # We create the target directory of the symlink if it does

981 # not exist so the test in chack-symlink works and we have a

982 # directory for generated filesas used by some architectures.

983 define create-symlink

984     if [ ! -L include/asm ]; then                              \

985             echo '  SYMLINK $@ -> include/asm-$(SRCARCH)';     \

986             if [ ! -d include/asm-$(SRCARCH) ]; then           \

987                 mkdir -p include/asm-$(SRCARCH);           \

988             fi;                                                \

989             ln -fsn asm-$(SRCARCH) $@;                         \

990     fi

991     if [ ! -L include/asm-arm/arch ]; then \

992         cd $(TOPDIR)/include/asm-arm;\

993         ln -fs ../../arch/arm/mach-lpc32xx/include/mach  arch; \

994         cd $(TOPDIR)/; \

995     fi

996 endef

这样,在Make的时候就会自动建立这个软连接了。

相关内容